Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 513

 
Aleksey Vakhrushev:
Оксана, нет просто проверяю условием что то вроде этого  (параметры индикатора прописывал полностью без них принтовал чтобы посмотреть есть ли разница)

Может тогда неправильно свечи считаете? Может и правда на 1439 или 1140 или 1441 свече параметр 0, а, к примеру, на 1445 свече уже будет значение? (сам индикатор мельком только глянула)

Значение должно быть только на той свече на которой произошел перелом. Советую пользоваться циклом. Именно на 1440-й свече значения может не быть. Надо вперед и назад от неё посмотреть.

 
Oksana Berenko:

Может тогда неправильно свечи считаете? Может и правда на 1439 или 1140 или 1441 свече параметр 0, а, к примеру, на 1445 свече уже будет значение? (сам индикатор мельком только глянула)

Значение должно быть только на той свече на которой произошел перелом. Советую пользоваться циклом. Именно на 1440-й свече значения может не быть. Надо вперед и назад от неё посмотреть.

Попробовал со стандартным зигзагом, 1440 бар тоже не обсчитывает а 288 уже вроде нормально 
 

Добрый день,

Я где-то намудрила в коде, в результате он делает не совсем что нужно. Как выгрузить по-шагово какие операции делает код, чтобы посмотреть что я упустила?

 
kashi_ann:

Добрый день,

Я где-то намудрила в коде, в результате он делает не совсем что нужно. Как выгрузить по-шагово какие операции делает код, чтобы посмотреть что я упустила?

Разработка программ: Отладка - MetaEditor
 

Да, я всем этим пользуюсь. Мне бы хотелось видеть результат, скажем 10-20 заходов, в одной таблице. Это возможно?

Например на 15 мин. графике:

9-00 такие данные

9-15- следующие

9-30 - следующие и т.д. 

Логика такая:

Открываем 2 отложенных ордера разнонаправленных (2,3). Срабатывает один из них (2), удаляется другой (3).

Когда закрывается и первый (2) (закрывается ордером 4), проверяем есть ли ордера/позиции. Если нет, цикл повторяется.

Вроде ничего мудреного. 

У меня получается по отладке открытых ордеров и позиций нет. И следующий шаг по коду в этой ситуации выставить 2 новых отложенных ордера (5,6), а в результате выставляет только один (5).

При этом в момент когда отладка пишет ордеров/позиций нет, на графике отображены линии по какому-то ордеру/позиции без номера.

Далее переходит к строкам выставления ордеров, ничего не происходит, хотя на первом круге сразу в торговлю выпадали ордера.

Доходит до конца кода, возвращается в начало, данные обновляются, с графика стирается, тот ордер, что был виден раньше, и появляется один новый ордер (5).

 

Что я не учла?! 

 

 Может выждать один бар...и потом цикл повторять...

 
kashi_ann:

Да, я всем этим пользуюсь. Мне бы хотелось видеть результат, скажем 10-20 заходов, в одной таблице. Это возможно?

Например на 15 мин. графике:

9-00 такие данные

9-15- следующие

9-30 - следующие и т.д. 

Функции 

Comment();
Alert();
Print();
PrintFormat();

вам в помощь 

 
kashi_ann:

Да, я всем этим пользуюсь. Мне бы хотелось видеть результат, скажем 10-20 заходов, в одной таблице. Это возможно?

... 

Никак не могу сообразить, что-же Вы хотите видеть?
 
Karputov Vladimir:
Никак не могу сообразить, что-же Вы хотите видеть?

Собственно говоря, ничего конкретного.

Я столкнулась с проблемой, которую я не знаю как решить.

Предыдущий опыт, мне подсказывает, что я что-то не учла. 

По средствам отладки у меня не получается проследить свою ошибку.

И я плохо понимаю как обрабатывает программа код, поэтому хочу увидеть всю последовательность, чтобы видеть всю картину в целом.

Если есть другой путь, рада выслушать. 

 
kashi_ann:

Собственно говоря, ничего конкретного.

Я столкнулась с проблемой, которую я не знаю как решить.

Предыдущий опыт, мне подсказывает, что я что-то не учла. 

По средствам отладки у меня не получается проследить свою ошибку.

И я плохо понимаю как обрабатывает программа код, поэтому хочу увидеть всю последовательность, чтобы видеть всю картину в целом.

Если есть другой путь, рада выслушать. 

Снова нет конкретики. Ладно: пальцем в небо - DebugBreak.

Применять примерно так:

//---
   if(PositionSelect(Symbol()))
     {
      //--- если успешно выбрали позицию по символу
      DebugBreak(); // программная остановка отладки
     }
 
Здравствуйте! Подскажите пожалуйста код при котором советник будет исполнять какое либо действие в начале нового для т. е. 00.00, или другими словами как отобразить условие "если наступил новый день(00.00)" на языке MQL?
Причина обращения: