Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 461

 

В чем проблема кода? Я изменяю таймфрейм для индикатора кнопками с панели
но мне в комменте возвращается какое то непонятно число

   zz_handle=iCustom(_Symbol,TF,"Examples\\ZigZag",ExtDepth,5,3);
   int _bars=Bars(_Symbol,TF);
   ArrayFree(zz_time);
   ArrayFree(zz_value);
   CopyBuffer(zz_handle,0,1,_bars,zz_value);
   CopyTime(_Symbol,TF,1,_bars,zz_time);
   Comment(zz_time[_bars-1]);
 
Roman Sharanov:

В чем проблема кода? Я изменяю таймфрейм для индикатора кнопками с панели
но мне в комменте возвращается какое то непонятно число

Если не туплю, то Comment(zz_time[0]);

 
Vitaly Muzichenko:

Если не туплю, то Comment(zz_time[0]);

Я не ставил его как таймсерию, мне нужно именно чтобы проходил из глубины истории к последнему бару

 

О, я нашел ошибку!

Я копирую ведь с 1 бара, а число баров с текущего считается, так что у меня постоянно был выход за пределы массива

сделал bars=Bars(_Symbol,TF) - 1; и хотя бы ошибки пропали

 
Roman Sharanov:

О, я нашел ошибку!

Я копирую ведь с 1 бара, а число баров с текущего считается, так что у меня постоянно был выход за пределы массива

сделал bars=Bars(_Symbol,TF) - 1; и хотя бы ошибки пропали

Вы внимательно почитайте в домументации, что умеет делать CopyBuffer(handle, 01bars, value);

 
lil_lil:

Пишет а как заставить писать каждые 120 секунд в течении 30 минут от открытия бара?

Вот-же ответ.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам

Alexey Viktorov, 2018.02.13 18:58

Начинайте писать свой код и что не будет получаться, будем разбирать.

Так а что их писать? Берёшь любой день и читаешь цену открытия чётных минут PERIOD_M1 или нечётных по желанию...
datetime начало_дня;
CopyOpen(_Simbol, PERIOD_M1, начало_дня, начало_дня+30*PeriodSeconds(PERIOD_M1));
Это будет массив из 30ти элементов через каждые 60 секунд. Каждый чётный элемент массива будет через 120 секунд.
 
Roman Sharanov:

О, я нашел ошибку!

Я копирую ведь с 1 бара, а число баров с текущего считается, так что у меня постоянно был выход за пределы массива

сделал bars=Bars(_Symbol,TF) - 1; и хотя бы ошибки пропали

Поставьте в начале программы директиву:

#property strict

Тогда все ошибки вроде выхода за пределы массива и деления на 0 будут приводить остановке программы и выдаче в лог сообщения об ошибке с указанием строки, в которой она возникла. 90% "непонятных" действий программы сразу отпадут.

 
snegosplav:
Доброе время суток! Прошу помощи по доработке кода копировщика. Проблема следующая: советник (Slave) выводит сообщение об отсутствии доступа к файлу, чтобы я не делал... Что не так? 

Декомпил удалён Artyom Trishkin

Вам - замечание.

А как можно выложить код?
 
snegosplav:
А как можно выложить код?

Тот, который был у вас - никак - это декомпил. За повторное нарушение - бан на сутки, далее - по нарастающей: неделя, месяц, 10 лет, удаление аккаунта.

 
Можно ли из функции вызвать саму функцию? и делать это пока не будет верно условие
Причина обращения: