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

 
Igor Makanu:

datetime o_open = OrderOpenTime();

MqlDateTime  dt_struct;

TimeToStruct( o_open, dt_struct);

int min =  dt_struct.min;

Сенкс.
 
Правильно ли понимаю, что нельзя создавать  новые листы при записи в csv (программно, с терминала)?
 
Yevhenii Levchenko:
 новые листы при записи в csv
Озадачили. Попытался из Excel сохранить книгу с 3 листами в csv:


там же внутри csv только разделители колонок, вроде другой разметки нет
 
Aleksei Stepanenko:
Озадачили. Попытался из Excel сохранить книгу с 3 листами в csv:


там же внутри csv только разделители колонок, вроде другой разметки нет

Ой! Не знал такой особенности формата. У меня, при попытке сохранения книги с несколькими листами, подобного не отписывает... Просто стирает предыдущий лист, сохраняя пустой новый

Спасибо!

 
Yevhenii Levchenko:

Не за что :)

 
Доброго времени суток. Подскажите пожалуйста, я написал индикатор  с Алертом (сообщение и звук выводит при определённых условиях ), всё работает, но при каждом изменении Таймфрейма графика, выдаёт снова сигнал. Как можно исправить? Код Алерта помещён в отдельную функцию которая вызывается для проверки из OnCalculate. Если просто советник, то отрабатывает норм, но мне нужно с графическим отображением как я и сделал, без повторных срабатываний при смене ТМ графика.
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
 
Progaus:
Доброго времени суток. Подскажите пожалуйста, я написал индикатор  с Алертом (сообщение и звук выводит при определённых условиях ), всё работает, но при каждом изменении Таймфрейма графика, выдаёт снова сигнал. Как можно исправить? Код Алерта помещён в отдельную функцию которая вызывается для проверки из OnCalculate. Если просто советник, то отрабатывает норм, но мне нужно с графическим отображением как я и сделал, без повторных срабатываний при смене ТМ графика.

при переключении таймфрейма индикатор стартует с 0. 

Соответсвенно надо научить его помнить что Алерт уже выдан - надёжно, сохраняя такую весть в глобальных переменных терминала или временном файле, и вроде как можно (сам таким не пользовался) просто сделать static переменную.

сохранять например время последнего оповещения и не свистеть новым Алертом если времени прошло меньше 2-х секунд.

 
Maxim Kuznetsov:

 и вроде как можно (сам таким не пользовался) просто сделать static переменную.

с индикаторами нельзя, ни статик, ни глобально описанную переменную - при переключении ТФ создается новая копия индикатора, а старая копия уничтожается

с ЕА можно (да и нужно ? ) использовать статики (или глобально описанные ) переменные... есть правда и там нюансы, но в целом без проблем 

Maxim Kuznetsov:

при переключении таймфрейма индикатор стартует с 0. 

prev_calculated будет сброшен в ноль при первом вызове OnCalculated()



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

 
Коллеги, сразу извините, за элементарный вопрос, просто щас не у компа, но надо.
Как оптимальным способом узнать время в минутах текущее.
 
Aleksey Masterov:
Коллеги, сразу извините, за элементарный вопрос, просто щас не у компа, но надо.
Как оптимальным способом узнать время в минутах текущее.

TimeCurrent() https://www.mql5.com/ru/docs/dateandtime/timecurrent

используйте второй вариант сигнатуры этой функции:

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );


ЗЫ: стразу напишу - в МТ4 это работает, я пользовался ;)

UPD: были в МТ4 еще Hour() и Minute() - давно не пользуюсь, но они должны выдавать последнее время сервера в часах и в минутах

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