Получаю время открытия сделки ( Время открытия позиции в миллисекундах с 01.01.1970 ) при помощи: ulong openAt = PositionGetInteger ( POSITION_TIME_MSC ); Нужно получить текущее время в том же формате. Конструкция long time = ( long ) TimeCurrent ()
Есть структура MqlTick и функция для ее наполнения SymbolInfoTick ( Symbol (), tick) которая возвращает bool значение. Из пример документации https://www.mql5.com/ru/docs/constants/structures/mqltick void OnTick () {
Есть функции пересчета стопов из пунктов в цену но иногда она не срабатывает и я получаю ошибку типо: 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] Ошибка
У меня стоит задача: в момент открытия \ закрытия \ обновления (sl, tp) позиции и отправлять по http (тут заменено на печать для упрощения) отчет. Для получения данных об изменении в списке позиций и их состоянии я использую OnTradeTransaction
Есть панель построенная по принципам указанным в статье https://www.mql5.com/ru/articles/4503 По сути она представляет собой обычный советник, и требует для запуска отдельного действия, по размещению ее на ценовом графике. Можно ли избавиться от
Есть класс который собирает данные котировок со всех таймфреймов и записывает в формате JSON в виде строки, но при достижении какой-то длинны строки данные из переменной пропадают, и там оказывается пусто: class RatesProvider {
Есть индикатор внутри которого используется МА. В процессе получения данных из буфера возник вопрос - нужно ли использовать ArraySetAsSeries ( ExtMABuffer , true) для того что бы конструкция типа ExtMABuffer[0]>ExtMABuffer[1]
Есть индикатор который ищет пересечение 2х МА и он работает верно, и вовремя показывает на графике места пересечений. Но советник, который использует этот индикатор, реагирует на уже готовый сигнал с опозданием еще на 2 бара: Как видно на рисунке
Есть ограничение на максимальное кол-во буферов, это ограничение работает на индикатор и советника отдельно, или для советника в котором используются индикаторы суммируется все буферы из подключенных индикаторов ? То есть если у меня советник
Есть пользовательский индикатор который судя по его отображению на графике работает верно, но проблема возникает при попытке получить значения. Возвращаются не те значения которые ожидаются в соответствии с view самого графика. Учитывая что индикатор
При снятии советника с графика должен отправляться запрос с сообщением об остановке и я поместил его в OnDeinit с расчетом что он вызовется и запрос отправится void OnDeinit ( const int reason) {
Есть необходимость получать stop loss и take profit в пунктах из истории. Как получить сами стопы, это понятно: double stopLoss = HistoryOrderGetDouble (inOrderTicket, ORDER_SL ); double takeProfit = HistoryOrderGetDouble (inOrderTicket, ORDER_TP );
Есть необходимость получать какую маржу резервировала позиция. Функция SymbolInfoMarginRate почему-то возвращает bool вероятно не то что мне нужно. Как получить сколько резервировала позиция в валюте депозита ? Если ulong ticket =
Есть необходимость переводить текущий профит в пункты. Путаюсь делать это так: positionInfo.SelectByIndex(index) int pointProfit = ( int ) (positionInfo.Profit() / symbolInfo. Point ()); Ожидая увидеть количество пунктов получаю огромные числа типа
Есть 2 советника которые могут иметь по 1 открытой позиции одновременно, на одной и той же валютной паре в одном и том же направлении на Buy к примеру, и нужно как-то определять их текущий профит на каждом тике пока позиции открыты. Как я понял это
Необходимо получить время закрытия ордера и узнать соответствует ли текущий бар тому на котором последний ордер был закрыт. Цель - не допустить что бы следующий ордер открывался на том же баре на котором предыдущий закрылся. Есть функция которая