Направление не верное в цикле и в функциях. У вас получается расчёт с переду назад.
В таком цикле вы заканчиваете перебор на rates_total-1 баре, а в функциях iOpen(), iBarShift(), направление другое и самый крайний(правый) бар имеет индекс ноль.
Вам нужно что то типа так
Ну и без проверки деления на ноль, совсем плохо.
Ещё желательно добавить в OnInit() проверку символов
Спасибо. У меня тоже были сомнения с направлением в цикле... Спс за разъяснения.
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
у меня в индикаторах типичный цикл :
for(int bar=prev_calculated>0?prev_calculated-1:0 ; bar<rates_total; bar++) {
// bar используется если массив в стиле mt5
int idx = rates_total - bar - 1; // idx для обращения к массивам которые как тайм-серии, mt4-style
...
}
Надо то понятно, а вот что есть в таком цикле не понятно.
Ведь на каждом цикле счётчик цикла будет начинаться с нуля. Не так разве?
Направление не верное в цикле и в функциях. У вас получается расчёт с переду назад.
В таком цикле вы заканчиваете перебор на rates_total-1 баре, а в функциях iOpen(), iBarShift(), направление другое и самый крайний(правый) бар имеет индекс ноль.
Вам нужно что то типа так
Ну и без проверки деления на ноль, совсем плохо.
Ещё желательно добавить в OnInit() проверку символов
Надо то понятно, а вот что есть в таком цикле не понятно.
Ведь на каждом цикле счётчик цикла будет начинаться с нуля. Не так разве?
это статью перечитывал.. переход с МТ 4 https://www.mql5.com/ru/articles/81
там понятно что уже много нового ввели типа
iOpen()в общем данные актуализирую...Добрый день!
Подскажите, пожалуйста, возможно ли изменить текст КОММЕНТАРИЯ к сделке или внести новый текст уже ПОСЛЕ ОТКРЫТИЯ СДЕЛКИ?
Если возможно, то как это сделать?
Спасибо!
Можно модифицировать позицию - изменить стоп или тейк, заодно поменять коммент.
Увы! Графа "Комментарий" - не активна. Изменить не получится
Спасибо!
Увы! Графа "Комментарий" - не активна. Изменить не получится
Спасибо!
Я удалил коммент так как засомневался.
Если вы используете Trade.mqh, то придётся его немного поправить. Но я не уверен, что это будет работать.
и в шапке класса тоже дописать
Попробуйте, вдруг получится. Отпишитесь)))
Упс. У вас мт4, а я для мт5 описал действия.
Прошу поделится функцией супер-быстрого закрытия позиций
Открыто примерно 8-15 позиций, нужно их закрыть очень оперативно, чуть-ли не одновременно
--
Спасибо!
Прошу поделится функцией супер-быстрого закрытия позиций
Открыто примерно 8-15 позиций, нужно их закрыть очень оперативно, чуть-ли не одновременно
--
Спасибо!
Обычно это очень быстро.
#include <Trade\Trade.mqh> CTrade m_trade; //+------------------------------------------------------------------+ void OnStart() { m_trade.SetAsyncMode(true); while(PositionsTotal() > 0 && !IsStopped()) for(int i = PositionsTotal() - 1; i >= 0; i--) m_trade.PositionClose(PositionGetTicket(i)); } //+------------------------------------------------------------------+
Спасибо! Успел только глазами моргнуть :)