Форум

Текущее время в миллисекундах с 01.01.1970

Получаю время открытия сделки ( Время открытия позиции в миллисекундах с 01.01.1970 ) при помощи: ulong openAt = PositionGetInteger ( POSITION_TIME_MSC ); Нужно получить текущее время в том же формате. Конструкция long time = ( long ) TimeCurrent () * 1000 ; Мне подходит или нет? В документации про

Получение текущей цены инструмента

Есть структура MqlTick и функция для ее наполнения SymbolInfoTick ( Symbol (), tick) которая возвращает bool значение. Из пример документации https://www.mql5.com/ru/docs/constants/structures/mqltick void OnTick () { MqlTick last_tick; //--- if ( SymbolInfoTick ( Symbol (),last_tick)) {

Ошибка перевода стоп-лос и тейк-профит из пунктов в цену

Есть функции пересчета стопов из пунктов в цену но иногда она не срабатывает и я получаю ошибку типо: 2022.12.09 13:29:29.347 forexteam-consumer (EURGBP,H1) CTrade:: OrderSend : market sell 0.23 USDCAD sl: 0.00050 tp: -0.00150 [invalid stops] Ошибка возникает редко 1 раз на 30 - 40 вызовов, что

OnTradeTransaction вызывается по несколько раз на операцию с разными значениями параметров.

У меня стоит задача: в момент открытия \ закрытия \ обновления (sl, tp) позиции и отправлять по http (тут заменено на печать для упрощения) отчет. Для получения данных об изменении в списке позиций и их состоянии я использую OnTradeTransaction . void OnTradeTransaction ( const MqlTradeTransaction

Несколько индикаторных буферов

Есть перегрузка функции CopyBuffer int CopyBuffer ( int indicator_handle, // handle индикатора int buffer_num, // номер буфера индикатора int start_pos, // откуда начнем int count, // сколько копируем double buffer[]

Комиссии по сделкам с DealInfo возвращает неверные значения.

Считаю сумму комиссии по сделкам за текущие сутки: #include <Trade\DealInfo.mqh> CDealInfo history_info; void OnTick () { MqlDateTime today; TimeToStruct ( TimeCurrent (), today); today.hour = 0 ; today.min = 0 ; today.sec = 0 ; datetime from = StructToTime (today); datetime to =

Автоматическая установка панели при открытии любого графика.

Есть панель построенная по принципам указанным в статье https://www.mql5.com/ru/articles/4503 По сути она представляет собой обычный советник, и требует для запуска отдельного действия, по размещению ее на ценовом графике. Можно ли избавиться от этого лишнего действия так, что бы она по умолчанию

Максимальная длина строки.

Есть класс который собирает данные котировок со всех таймфреймов и записывает в формате JSON в виде строки, но при достижении какой-то длинны строки данные из переменной пропадают, и там оказывается пусто: class RatesProvider { string _rates_butch_formatter; string

Использование индикатора внутри другого индикатора.

Есть индикатор внутри которого используется МА. В процессе получения данных из буфера возник вопрос - нужно ли использовать ArraySetAsSeries ( ExtMABuffer , true) для того что бы конструкция типа ExtMABuffer[0]>ExtMABuffer[1] говорила о восходящем движении? Или другими словами когда индикатор

Копирование данных с CopyBuffer.

Есть индикатор который ищет пересечение 2х МА и он работает верно, и вовремя показывает на графике места пересечений. Но советник, который использует этот индикатор, реагирует на уже готовый сигнал с опозданием еще на 2 бара: Как видно на рисунке советник пропустил не только бар на котором сигнал