Moving Average.mq5

 

Что-то у меня сомнения в стандартном советнике, есть код

   if(rt[1].tick_volume>1)
      return;

если правильно понимаю тиковый объем в прошлом баре,

теперь если взять таймфрейм час то с увереностью 99% в прошлом тике будет тиковый объем

соответственно позиция не откроется.

Но в тестере отрабатывает что не так? 

 
Pro2x:

Что-то у меня сомнения в стандартном советнике, есть код

если правильно понимаю тиковый объем в прошлом баре,

теперь если взять таймфрейм час то с увереностью 99% в прошлом тике будет тиковый объем

соответственно позиция не откроется.

Но в тестере отрабатывает что не так? 


А если пройтись в отладчике и например проверить rt[1].time и rt[0].time ? :)

 

Ок, спасибо, оказывается наоборот последний rt[1] а предыдущий rt[0]

ещё на одни грабли наступил при обновлении стандартные советники затираются

 
Pro2x:

Ок, спасибо, оказывается наоборот последний rt[1] а предыдущий rt[0]

ещё на одни грабли наступил при обновлении стандартные советники затираются

   ArraySetAsSeries(rt,true); 
   if(rt[1].tick_volume>1)
      return;
ArraySetAsSeries()
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
Операции с массивами / ArraySetAsSeries - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Pro2x:

...

ещё на одни грабли наступил при обновлении стандартные советники затираются


Все верно - стандартная библиотека при обновлении восстанавливает себе. А Вам нужно запомнить: нельзя вносить изменения в стандартную библиотеку - нужно:

  1. или сохранять файл под новым именем и потом уже в этот новый файл вносить изменения
  2. применять наследование (это из области ООП)
  3. если Вы пишите свои коды, то Вам непременно нужно работать с Хранилищем ( Работа с хранилищем - MQL5 Storage - MetaEditor ).
Работа с хранилищем - MQL5 Storage - Справка по MetaEditor
Работа с хранилищем - MQL5 Storage - Справка по MetaEditor
  • www.metatrader5.com
Хранилище MQL5 Storage работает только с папкой MQL4/MQL5 клиентского терминала. Все операции с хранилищем MQL5 Storage осуществляются через...
 
Vitaly Muzichenko:
ArraySetAsSeries()

Да как вариант можно и так, только потом бы не запутаться где какой отсчет

Vladimir Karputov:

Все верно - стандартная библиотека при обновлении восстанавливает себе. А Вам нужно запомнить: нельзя вносить изменения в стандартную библиотеку - нужно:

  1. или сохранять файл под новым именем и потом уже в этот новый файл вносить изменения
  2. применять наследование (это из области ООП)
  3. если Вы пишите свои коды, то Вам непременно нужно работать с Хранилищем ( Работа с хранилищем - MQL5 Storage - MetaEditor ).

Должен запомнить час пришлось восстанавливать :)

 
Pro2x:

Да как вариант можно и так, только потом бы не запутаться где какой отсчет


Должен запомнить час пришлось восстанавливать :)


Кстати, в Хранилище хранятся все изменения, которые вы записывали. Всегда можно вернутся к стабильной версии. Поэтому надо не ленится перед записью в него и писать в комментариях, что изменили, будет легко откатится, если надо.

А еще есть прога Tortoise SVN, у нее больше возможностей по работе с хранилищем, ибо оно стандартный SVN сервер. Прога фрее.

Причина обращения: