Connect with us

Привет, что-то ищете?

The Times On Ru
  1. The Times On RU
  2. /
  3. Бизнес
  4. /
  5. Рубль сдал свою крепость

Бизнес

Рубль сдал свою крепость

Внебиржевой курс доллара впервые за два месяца превысил 75 руб./$. Во многом ослабление российской валюты было обусловлено ожиданиями снижения предложения экспортной выручки из-за падения цен на нефть. Аналитики не исключают повышения курса доллара до 80 руб./$ к концу лета, в том числе за счет увеличения спроса на иностранную валюту со стороны населения и импортеров, а также выкупа у Минфина в рамках бюджетного правила.

23 июня внебиржевой курс доллара впервые с начала мая поднялся выше 75 руб./$. По данным МФД-Инфоцентр, в самом начале дня курс достиг 75,24 рубля/$, что на 1,1 рубля выше. (1,5%) превысили значение закрытия понедельника. Выше психологически важного уровня удержаться не удалось, и к 19:00 курс доллара откатился до 74,5 руб./$. Такого максимума он не закрывал с 7 мая. Курс юаня на торгах на Московской бирже также поднялся до максимума с начала мая — до 11,07 руб./юань, что составляет более 7 коп. (0,8%) выше значений закрытия предыдущего дня. По итогам торговой сессии он закрылся на уровне 11,09 руб./юань. С начала недели курс доллара вырос на 1,5 рубля. (2%), курс юаня – на 13 коп. (1,2%).

Американская валюта уверенно укрепила свои позиции на мировом рынке. За последние пять дней индекс DXY (доллар к шести основным валютам) вырос на 2% до 101,4 пункта, самого высокого уровня с мая 2025 года. Это стало реакцией на решение ФРС сохранить ставку без изменений, а в комментариях новый глава регулятора Кевин Уорш допустил ее повышение на 25 базисных пунктов в этом году. «Чем выше базовая ставка в США, тем сильнее доллар, поскольку долларовые активы становятся более доходными. Это негативно для большинства валют развивающихся экономик», — объясняет Владимир Евстифеев, руководитель аналитического отдела банка «Зенит».

Для ослабления российской валюты были внутренние причины.

В частности, обвал фондового рынка вызван решением Банка России снизить ставку всего на 25 базисных пунктов. п., а не к 50 б. и т. д., как и ожидали профессиональные участники (см. «Ъ» от 19 июня). В результате индекс гособлигаций RGBI упал более чем на 3%, а индекс Московской биржи просел почти на 6%. Как отмечает главный экономист Газпромбанка Павел Бирюков, в таких условиях спрос на валюту со стороны спекулянтов может увеличиться. Косвенно это подтверждает рост ставок по юаневым межбанковским кредитам — с 3,8% годовых 19 июня до 12% годовых 22 числа. Последующее возвращение ставки до 3,3% годовых на аукционе во вторник, 23 июня, по мнению эксперта, подтверждает важность фактора спроса на валюту в краткосрочном движении курса. Дополнительное давление на рубль оказывают опасения падения экспортных доходов от продажи нефти, стоимость которой стремительно снижается по мере снятия блокады Ормузского пролива. Во вторник цена ближайшего контракта на нефть марки Brent опустилась ниже $76,5 за баррель впервые с начала марта, потеряв 5% с начала недели и около 20% с начала месяца. Цена на российскую нефть сорта Юралс упала с $75 за баррель в начале июня до $50–60 за баррель. «Продажи валюты крупнейшими экспортерами могут снизиться с $10,2 млрд в мае до $8-9 млрд в июне», — оценивает г-н Бирюков. По мнению Никиты Еврова, валютного и процентного стратега Альфа-банка, пересмотр ожиданий уже «провоцирует спекулятивные покупки валюты, а также увеличивает спрос компаний на валютное хеджирование», что приводит к ускоренному ослаблению рубля.

Рубль получит местную поддержку в течение налогового периода, основная часть выплат будет произведена в конце этой недели. По словам Владимира Евстифеева, доходы бюджета составят 3,8 трлн рублейТакие выплаты, по его мнению, помогут курсу рубля вернуться в диапазон 72–74 руб./$ в ближайшие дни. Однако на следующей неделе рубль останется без этой поддержки при одновременном сезонном повышении спроса на валюту для летнего отдыха за рубежом. Против укрепления рубля играет и покупка Минфином валюты по бюджетному правилу. По словам главного аналитика Совкомбанка Михаила Васильева, она составит 3–4 млрд руб. в день.Развитие ситуации на Ближнем Востоке будет иметь важное значение для валютного рынка, поскольку дальнейшая деэскалация ситуации приведет к сокращению валютных поступлений российских экспортеров. По мнению Павла Бирюкова, продажи валюты экспортерами в июле могут снизиться еще на $1–2 млрд. В результате, по его мнению, курс доллара в следующем месяце может сместиться в диапазон 74–77 руб./$. К концу лета рубль стабилизируется в диапазоне 75–80 руб./$, считает Никита Евров. Однако, по его словам, «ставка во многом будет зависеть от экспортеров, которые смогут предложить дополнительную валюту для финансирования выплаты дивидендов в июле».

Произошла ошибка при загрузке данных графика индикатора.

“B-Chronograph”. Курс доллара США к рублю Интерактивный инструмент «Коммерсантъ-Хронограф» собирает тематический контекст индикатор из архива «Коммерсанта» и формирует краткие описания с с использованием технологий искусственного интеллекта (ИИ). Автоматическое резюме может содержать неточности — для полноты читайте оригинал статьи по кнопке «Еще». Виджет AI обогащает график связанными событиями. Нажмите на сплошной значок подпишитесь, чтобы посмотреть описание и перейдите в архив. Коммерсантъ опубликовал публикацию на тему Данные: ЦБ РФ.  /  <диапазон> по теме (functon(){(асинхронная функция() { const wdgetElement = getTargetElement(document.currentScrpt, ‘.moex_wdget’); const tabsElement = wdgetElement.querySelector(‘.moex_tabs’); const spnnerElement = wdgetElement.querySelector(‘.moex_wdget_loader’); const errorElement = wdgetElement.querySelector(‘.moex_wdget_error’); const selectElement = tabsElement.querySelector(‘.moex_chart__select’); constchartRateElement = tabsElement.querySelector(‘.moex_chart__rate’); constchartDateElement = tabsElement.querySelector(‘.moex_chart__date’); const noteIconElement = tabsElement.querySelector(‘.moex_tabs__note-con’); const noteElement = tabsElement.querySelector(‘.moex_tabs__note’); const noteCloseElement = tabsElement.querySelector(‘.moex_tabs__note .close’); const nfoPannelElement = wdgetElement.querySelector(‘.moex_nfo-pannel’); const nfoPannelContentElement = wdgetElement.querySelector(‘.moex_nfo-pannel__content-wrapper’); const nfoPannelShadeElement = wdgetElement.querySelector(‘.pannel-shade’); const nfoPannelShowMoreElement = nfoPannelShadeElement.querySelector(‘.show-more’); const nfoPannelShowLessElement = nfoPannelElement.querySelector(‘.show-less’); const tmestamp = новая дата().getTme(); пусть LastActivePont = null; пусть currSubcategory = null; пусть currIntervalId = 6; пусть категории = []; пусть графДанные = []; пустьchartData = []; пусть документы = []; пусть resCatalog = []; пустьchartDataDocs = []; пусть тире = []; пусть GraphDataGold = []; пустьchartDataGold = []; пусть диаграмма = ноль; константные имена месяцев = { 1: { коротко: «Ян», полное: ‘Январь’ }, 2: { коротко: «февраль», полное: ‘Февраль’ }, 3:{ коротко: «мар», полное: ‘Март’ }, 4: { коротко: «Апрель», полное: ‘Апрель’ }, 5: { короткое: «Май», полное: ‘Май’ }, 6:{ коротко: «июнь», полное: ‘Июнь’ }, 7: { короткое: «Июль», полное: ‘Июль’ }, 8:{ коротко: «Август», полное: ‘Август’ }, 9: { коротко: «сентябрь», полное: ‘Сентябрь’ }, 10:{ коротко: «Октябрь», полное: ‘Октябрь’ }, 11:{ коротко: «Ноябрь», полное: ‘Ноябрь’ }, 12:{ коротко: ‘декабрь’, полное: ‘Декабрь’ }, }; const curIntervals = [4, 5, 6, 7, 8, 9, 10] константные интервалы = { 4: «3 месяца», 5: «6 месяцев», 6: «1 год», 7: «С начала года», 8: «3 года», 9: «5 лет», 10: «Все время» }; functon getTargetElement (элемент, селектор) { пусть предыдущая = element.prevousElementSblng; пока (предыдущий) { f (prev.matches(селектор)) return prev; е (prev.matches(‘.ncut’)) { return prev.querySelector(селектор); } предыдущая = предыдущая.prevousElementSblng; } вернуть ноль; } const loadScrpt = (url) => { вернуть новое обещание((разрешить, отклонить) =>{ f (wndow.Hghcharts?.StockChart) { вернуть решение (wndow.Hghcharts); } let scrpt = document.querySelector(‘scrpt[src*=»hghstock»]’); f (истина || !scrpt) { scrpt = document.createElement(‘scrpt’); scrpt.src = URL; scrpt.async = правда; document.head.appendChld(сценарий); } константа lmt = 10; пусть повторит = 0; const ntervalID = setInterval(() => { f (wndow.Hghcharts?.StockChart) { ClearInterval (ID интервала); разрешить (wndow.Hghcharts); } else f (++повторить >= лмт) { ClearInterval (ID интервала); ignore(new Error(‘Превышен лимит времени загрузки Hghcharts’)); } }, 500); }); }; constclearElement = (элемент) =>{ whle(element.frstChld) { element.removeChld(element.frstChld); } }; const showErrorMsg = () => { spnnerElement.remove(); tabsElement.classLst.add(‘hde’); errorElement.classLst.remove(‘hde’); }; const showNote = () => { noteElement.classLst.remove(‘hde’); } const closeNote = () => { noteElement.classLst.add(‘hde’); } const ntCategory = () => { const CategoryId = wdgetElement.dataset.categoryId; const subcategoryId = wdgetElement.dataset.graphAp; const currCategory = categores.fnd((cat) => cat.Id == CategoryId); currSubcategory = currCategory.Indces.fnd((sub) => sub.Id == subcategoryId); }; //переключаем временные интервалы const updateTabSelect = () =>{ curIntervals.forEach((dx) =>{ const optonElement = document.createElement(‘opton’); optonElement.value = dx; optonElement.textContent = ntervals[dx] optonElement.selected = dx === currIntervalId selectElement.append(optonElement); }); }; const updateChartRate = (значение, индекс) => { пусть goldRate = ноль е (!индекс) { let selectedDoc =chart.seres[1].ponts.fnd(flag => flag.state === ‘select’) е (!selectedDoc) { selectedDoc =chart.seres[1].ponts[chart.seres[1].ponts.length — 1] } const selectedDate =chartDataGold.reduce((аккумулятор, currentValue) =>{ пусть currentDate = новая дата (currentValue[0]) currentDate.setHours(0, 0, 0, 0) f (currentDate.getTme() tem[0] === selectedDate) } еще { goldRate = диаграммаDataGold[ndex] } chartRateElement.nnerHTML = »; const goldRateEl = document.createElement(‘span’); goldRateEl.textContent = `${formatStrng(formatNumber(goldRate[1]))} ${currSubcategory?.CurrencySymbol}` chartRateElement.append(goldRateEl) chartDateElement.textContent = `${formatDateTme(goldRate[0])[1]}`; }; const updateInterval = (value = currSubcategory.IntervalTypes[0]) => { закрытьИнфоПаннел() ОчиститьИнфоПаннел() currIntervalId = + значение; }; constclearInfoPannel = () => { let oldData = nfoPannelElement.querySelectorAll(‘.moex_nfo-pannel__docs-wrapper’); oldData.forEach(старый =>старый.удалить()); } const closeInfoPannel = () => { nfoPannelElement.classLst.add(‘hde’); } const num_word = (значение, слова) => { значение = Math.abs(значение) % 100; вар число = значение % 10; f (значение > 10 && значение < 20) вернуть слова[2]; f (num > 1 && num < 5) вернуть слова[1]; f (num == 1) вернуть слова [0]; вернуть слова[2]; } const showInfoPannel = (понт) =>{ ОчиститьИнфоПаннел() ж (!!понт) { nfoPannelElement.classLst.remove(‘открыто’) nfoPannelShowMoreElement.classLst.remove(‘hde’) nfoPannelShowLessElement.classLst.add(‘hde’) } const sOpened = nfoPannelElement.classLst.contans(‘opened’); const docPubDate = pont?.optons?.pubDate || LastActivePont?.pubDate; const analytcsName = wdgetElement.dataset.analytcsName; let docSummary = docs.flter((doc) => doc.pubDate === docPubDate); const docSummaryLength = docSummary.length; f (docSummary && docSummaryLength > 0) { f (docSummaryLength > 2 && !sOpened) { nfoPannelShadeElement.classLst.remove(‘hde’); docSummary = docSummary.slce(0, 2); } еще { docSummaryLength 7 ? { год: ‘число’ } : { месяц: ‘длинный’ }); f (currIntervalId < 6 && docSummary.length >1) { const startPerod = новая дата(docSummary[0].truePubDate).toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); const endPerod = новая дата(docSummary[docSummary.length — 1].truePubDate).toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); headerDateEl.textContent = `${startPerod} – ${endPerod}` } еще { headerDateEl.textContent = имя месяца.charAt(0).toUpperCase() + имя месяца.slce(1); } const ttleDateEl = nfoPannelContentElement.querySelector(‘.ttle’); ttleDateEl.textContent = `${docSummaryLength} ${num_word(docSummaryLength, [ ‘material’, ‘material’, ‘materials’ ])}` docSummary.forEach((d) => { const doc = resCatalog.fnd(tem =>d.Id === tem.Id) const pubDate = новая дата (doc.pubDate) const pannelContentEl = document.createElement(‘dv’); pannelContentEl.className = ‘moex_nfo-pannel__docs-wrapper’; const pannelDateEl = document.createElement(‘span’); pannelDateEl.className = ‘дата’; pannelDateEl.textContent = pubDate.toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); const pannelTextEl = document.createElement(‘span’); PanelTextEl.className = ‘текст’; pannelTextEl.textContent = doc.summary; const pannelMoreEl = document.createElement(‘a’); pannelMoreEl.className = ‘больше’; pannelMoreEl.textContent = ‘Еще’; pannelMoreEl.setAttrbute(‘href’, `/doc/${doc.docId}?from=chronograph_${analytcsName}`); pannelContentEl.append(pannelDateEl); pannelContentEl.append(pannelTextEl); pannelContentEl.append(pannelMoreEl); nfoPannelContentElement.append(pannelContentEl); }) nfoPannelElement.classLst.remove(‘hde’); } } const fetchIndcesData = async() => { попробуй { const ответ = awat fetch(‘/ndces/graphcatalog’); е (!response.ok) { throw new Error(`Status ${response.status}`); } категории = awat response.json(); } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения индексных данных: ${error.message}`); } }; const fetchCatalogData = async () =>{ попробуй { //получим данные каталога материалов const CatalogId = wdgetElement.dataset.docsAp; const ответ = awat fetch(`https://wt.kommersant.ru/ap/v1/catalog/get?catalogId=${catalogId}&start=0&lmt=1000`); е (!response.ok) { throw new Error(`Status ${response.status}`); } resCatalog = (awat response.json())?.data || []; resCatalog.sort((docA, docB) => новая дата(docA.pubDate).getTme() — новая дата(docB.pubDate).getTme()) } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения данных: ${error.message}`); } }; const fetchGraphData = async() =>{ попробуй { //получаем данные диаграммы constgraphId = wdgetElement.dataset.graphAp const cost = awat fetch(`/ndces/graphvalues?ndex=${graphId}&nterval=${currIntervalId}`) е (!cost.ok) { throw new Error(‘Я не могу загрузить данные для диаграммы’); } graphDataGold = awat Cost.json(); } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения данных диаграммы: ${error.message}`); } }; const formatStrng = (значение) => { возвращаемое значение.toStrng().replace(‘.’, ‘,’); //просмотр 1.23 }; const formatNumber = (значение) => { return Math.trunc(+value * 100)/100; //просмотр 1.23 }; const getMnY = () => { const maxY =chartDataGold.reduce((max, current) => { return Math.max(макс, ток[1]); }, 0); const mnY =chartDataGold.reduce((mn, current) =>{ return Math.mn(mn, current[1]); }, МаксY); const newMn = mnY — Math.trunc((maxY — mnY)/3) вернуть newMn > 0 ? newMn : 0; } const formatDateTmeDoc = (dateValue) =>{ const currDateObject = новая дата (dateValue); const dayOfMonth = currDateObject.getDate().toStrng().padStart(2, ‘0’); константный месяц = ​​currDateObject.getMonth() + 1; const год = currDateObject.getFullYear(); переключатель (currIntervalId) { //день — 6 месяцев случай 1: случай 2: случай 3: случай 4: случай 5: return `${dayOfMonth} ${monthNames[month].full} ${year}`; //1 год, с начала года случай 6: случай 7: return `${monthNames[month].full} ${year}`; //3 года — постоянно случай 8: случай 9: случай 10: вернуть `${year}`; } }; const formatDateTme = (dateValue, pos) =>{ const currDateObject = новая дата (dateValue); const dayOfMonth = currDateObject.getDate().toStrng().padStart(2, ‘0’); константный месяц = ​​currDateObject.getMonth() + 1; const год = currDateObject.getFullYear(); constyearShort = год.toStrng().substrng(2); const tme = currDateObject.toLocaleStrng(‘ru-RU’, { час: ‘2-дгт’, минута: ‘2-dgt’ }); переключатель (currIntervalId) { //день случай 1: return [`${tme}`, `${dayOfMonth} ${monthNames[month].short} ${tme}`]; //неделя случай 2: return [`${dayOfMonth} ${monthNames[month].short} ${tme}`, `${dayOfMonth} ${monthNames[month].short} ${tme}`]; //месяц, 3 месяца случай 3: случай 4: return [`${dayOfMonth} ${monthNames[month].short}`, `${dayOfMonth} ${monthNames[month].short}`]; //6 месяцев случай 5: return [`${monthNames[month].full}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; //1 год, с начала года случай 6: случай 7: f (pos !== undefned &&chartDataGold[pos]) { const currentYear = (new Date(chartDataGold[pos][0])).getFullYear(); const prevYear = позиция >0 ? (новая дата(chartDataGold[pos — 1][0])).getFullYear() : 0; f (pos === 0 || currentYear !== prevYear) { return [`${monthNames[month].short}’${yearShort}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; } } return [`${monthNames[month].short}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; //3 года, 5 лет случай 8: случай 9: return [`${year}`, `${monthNames[month].full} ${year}`]; //все время случай 10: return [`’${yearShort}`, `${monthNames[месяц].full} ${year}`]; } }; const connectGraphData = async () => { awat fetchGraphData(); диаграммаDataGold = []; graphDataGold.forEach(([дата, значение]) =>chartDataGold.push([новая дата(дата).getTme(), parseFloat(значение)])); const mnTme =chartDataGold[0][0] const maxTme =chartDataGold[chartDataGold.length — 1][0] ChartDataDocs = []; документы = [] пусть startOfTheCustomPerod = null; пусть endOfTheCustomPerod = null; const customPerodLength = 1000 * 60 * 60 * 24 * 7; //неделя resCatalog.forEach((запись) => { пусть docTrueDate = новая дата(record.pubDate).getTme() пусть docDate = новая дата (record.pubDate) docDate.setHours(0, 0, 0, 0) f (docTrueDate < mnTme || docTrueDate >максТме || !запись.IsShow) возвращение f (currIntervalId < 6) { е ( !!startOfTheCustomPerod && !!endOfTheCustomPerod && docTrueDate > startOfTheCustomPerod && docTrueDate < endOfTheCustomPerod) { docDate = новая дата (startOfTheCustomPerod) } еще { startOfTheCustomPerod = docDate.getTme() endOfTheCustomPerod = startOfTheCustomPerod + customPerodLength } } else f (currIntervalId === 6 || currIntervalId === 7) { docDate.setDate(1) } else f (currIntervalId > 7) { docDate.setMonth(1, 1) } docs.push({ …запись truePubDate: новая дата(record.pubDate).getTme(), pubDate: docDate.getTme() }) const ужеExsstsId =chartDataDocs.fndIndex(d =>d.pubDate === docDate.getTme()) е (ужеExsstsId === -1) { chartDataDocs.push({ х: docTrueDate, pubDate: docDate.getTme(), shape: ‘url(https://v.kommersant.ru/ContentFlex/mages/logos/flag-desk-logo.svg)’, }); } еще { chartDataDocs[alreadyExsstsId].shape = ‘url(https://v.kommersant.ru/ContentFlex/mages/logos/flags-desk-logo.svg)’ chartDataDocs[alreadyExsstsId].x = Math.mn(docTrueDate,chartDataDocs[alreadyExsstsId].x) } }); тире = [] chartDataDocs.forEach((doc) =>{ тире.push({ цвет: ‘#DDD’, ширина: 1, значение: doc.x, zИндекс: 2, DashStyle: ‘Тире’, }) }) }; const renderGraph = () =>{ диаграмма = Hghcharts.chart(`moex_graph-${tmestamp}`, { диаграмма: { стиль: { FontFamly: ‘Нерт’, }, события: { нагрузка: функция() { spnnerElement.remove(); tabsElement.classLst.remove(‘hde’); }, } }, немного: { текст: незащищенный }, кредиты: { включено: ложь }, легенда: { включено: ложь }, инструментp: { включено: ложь, кроссхарс: правда, поделился: правда }, цвета: [‘#498ABB’, ‘#F17E9B’], хАкс: { введите: ‘dateme’, сюжетные линии: тире, }, yAxs: { немного: { текст: неопределенный, }, ярлыки: { выравнивание: ‘слева’, х: 0, резервное пространство: правда, стиль: { Размер шрифта: ’14px’, шрифтВес: ‘400’, цвет: ‘#333’, textOverflow: не определено, }, }, grdLneColor: ‘#eee’, }, сюжетОптонс: { серия: { маркер: { включено: ложь, EnableThreshold: неопределенный, fllColor: ‘#3E9AE2’, lneColor: ‘#3E9AE2’, длина: 1, радиус: 3, }, пон: { события: { mouseOver: functon() { updateChartRate([ths.key, ths.y], ths.ndex); }, }, }, события: { mouseOut: functon() { updateChartRate(); }, }, говорится: { актуально: { непрозрачность: 1 } }, }, флаги: { разрешитьПонтселект: правда, события: { clck: функция (событие) { chart.seres[1].ponts.forEach((pont, dx) =>{ const sAGroup = pont.shape.ncludes(«флаги») const mage = `url(https://v.kommersant.ru/ContentFlex/mages/logos/flag${sAGroup ? ‘s’ : »}-desk-logo.svg)` pont.optons.shape = маг; pont.shape = маг; понт.обновление() }) const saPontGroup = event.pont.shape.ncludes(«флаги») const pontImage = `url(https://v.kommersant.ru/ContentFlex/mages/logos/flag${sAPontGroup ? ‘s’ : »}-desk-logo-actve.svg)` event.pont.optons.shape = pontImage; event.pont.shape = pontImage; событие.понт.обновление() LastActivePont = event.pont showInfoPannel(event.pont) sendChronographEvent(‘nfo_pannel’, ‘показать’) }, }, } }, ответ: { правила: [{ кондтон: { МаксШдс: 600 }, диаграммаОптонс: { хАкс: { ярлыки: { стиль: { Размер шрифта: ’10px’, }, }, }, yAxs: { ярлыки: { стиль: { Размер шрифта: ’10px’, }, }, } } }] }, серия: [{ тип: ‘lne’, данные: диаграммаDataGold, }, { тип: ‘флаги’, ттл: », данные: диаграммаDataDocs, }, ], }); LastActivePont =chart.seres[1].ponts[chartDataDocs.length — 1] showInfoPannel (lastActvePont) chart.seres[1].ponts[chartDataDocs.length — 1].select(true, true) const sAGroup = LastActvePont.shape.ncludes(«флаги») const mage = `url(https://v.kommersant.ru/ContentFlex/mages/logos/flag${sAGroup ? ‘s’ : »}-desk-logo-actve.svg)` LastActivePont.optons.shape = маг; LastActivePont.shape = маг; последнийActivePont.update() }; const updateGraph = async () => { awat ConnectGraphData(); requestAnmatonFrame(() => { диаграмма.уничтожить(); рендерГраф(); updateChartRate(); }); }; const ntHghcharts = async () =>{ попробуй { awat loadScrpt(‘https://v.kommersant.ru/ContentFlex/js/custom/lbs/hghchats/hghstock-v12.4.0.js’); } поймать (ошибка) { показатьErrorMsg(); console.log(ошибка) throw new Error(‘Ошибка загрузки hghcharts.js’); } }; const ntGraph = async () => { awat ntHghcharts(); awat ConnectGraphData(); обновлениеTabSelect(); Hghcharts.setOptons({ язык: { numercSymbols: [‘тысяча’] } }); requestAnmatonFrame(() => { рендерГраф(); updateChartRate(); }); }; const updateAttrbute = () => { constgraphElement = wdgetElement.querySelector(‘.moex_graph’); graphElement.setAttrbute(‘d’, `moex_graph-${tmestamp}`); selectElement.setAttrbute(‘d’, `moex_nterval-${tmestamp}`); }; const sendChronographEvent = (событие, полезная нагрузка) =>{ console.log(‘- 1’) е (!!wndow.kommersant) { const analytcsName = wdgetElement.dataset.analytcsName; console.log(‘- 2’) console.log(имяаналитики, событие, полезная нагрузка) wndow.kommersant.sendEvent(‘хронограф’, analytcsName, событие, полезная нагрузка); } } const ntWdget = async () => { обновлениеАттрбуте(); awat fetchIndcesData(); awat fetchCatalogData(); нтКатегория(); нтГраф(); sendChronographEvent(‘nt’) selectElement.addEventLstener(‘change’, (e) => { updateInterval(e.target.value); обновлениеГрафик(); sendChronographEvent(‘update_interval’, e.target.value) }); noteIconElement.addEventLstener(‘clck’, (e) => { noteElement.classLst.contans(‘hde’) ? шоуПримечание(): закрытьПримечание() }); noteCloseElement.addEventLstener(‘clck’, (e) => { закрытьПримечание() }); nfoPannelShowMoreElement.addEventLstener(‘clck’, (e) => { nfoPannelElement.classLst.add(‘открыто’) nfoPannelShowMoreElement.classLst.add(‘hde’) nfoPannelShowLessElement.classLst.remove(‘hde’) шоуИнфоПаннел() sendChronographEvent(‘nfo_pannel’, ‘подробнее’) }); nfoPannelShowLessElement.addEventLstener(‘clck’, (e) => { nfoPannelElement.classLst.remove(‘открыто’) nfoPannelShowMoreElement.classLst.remove(‘hde’) nfoPannelShowLessElement.classLst.add(‘hde’) tabsElement.scrollIntoVew({ поведение: «гладкое», блок: ‘старт’ }); шоуИнфоПаннел() }); }; нтВджет(); })();})()

Оставить комментарий

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Стоит Посмотреть


Стоит Посмотреть

Новости По Дате

Июнь 2026
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
2930  

Вам может быть интересно:

Технологии

«Интеркосмос»: партнеры, с которыми Россия будет осваивать Луну после 2030 года Космос нужен политикам, ведь это не только технические и научные достижения, но и...

Бизнес

5 июня АО «Фармасинтез-Норд» и правительство Санкт-Петербурга подписали соглашение о реализации инвестиционного проекта по созданию третьей очереди высокотехнологичного биотехнологического производства. Подписание документа состоялось в...

Культура

Краткий пересказ от РИА ИИ Актриса МХАТ имени Горького, заслуженная артистка России Лариса Жуковская умерла в возрасте 88 лет. Дата смерти Ларисы Жуковской — 1...

Общество

Заглянем за МКАД: чем дышит Россия сегодня? Журналисты «Московского комсомольца» в 78 регионах России внимательно следят за всем, что происходит в стране, – от...