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

 
Sunriser:

Как советнику в режиме тестирования определить какой режим моделирования тиков используется в тесте?

Как советнику отличить "OHLC на M1" от "Только цены открытия"?

Отвечаю сам на свой вопрос. Тип моделирования тиков принтуется в "Model"

https://www.mql5.com/ru/forum/318305/page12#comment_14176127

Библиотеки: MultiTester
Библиотеки: MultiTester
  • 2019.12.07
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: MultiTester
 

Подскажите, кто знает, как получить

FaceValue = ?

и

AccruedInterest = ?

Эти значения используются при расчете залог/профит для

SYMBOL_CALC_MODE_EXCH_BONDS

SYMBOL_CALC_MODE_EXCH_BONDS_MOEX

в формулах

Margin: Lots * ContractSize * FaceValue * open_price * /100

Profit: Lots * close_price * FaceValue * Contract_Size  + AccruedInterest * Lots * ContractSize

 

Добрый день! Можно узнать алгоритм генерации времени прихода тиков для M1? Выдержка из справки.

Тестирование стратегий

  • OHLC на М1 — в данном режиме моделируются лишь 4 цены каждого минутного бара — цены Open, High, Low и Close.

Фактически, цены OHLC присутствуют в исторических данных. Таким образом, при тестировании генерируется лишь время прихода тиков Open, High, Low и Close, значения же цен берутся из истории.

 
SEM:

Добрый день! Можно узнать алгоритм генерации времени прихода тиков для M1? Выдержка из справки.

Тестирование стратегий

  • OHLC на М1 — в данном режиме моделируются лишь 4 цены каждого минутного бара — цены Open, High, Low и Close.

Фактически, цены OHLC присутствуют в исторических данных. Таким образом, при тестировании генерируется лишь время прихода тиков Open, High, Low и Close, значения же цен берутся из истории.

Реальные и сгенерированные тики

Реальные и сгенерированные тики - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Реальные и сгенерированные тики - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для тестирования и оптимизации советников необходимы тики, так как именно по ним работает советник. Тестирование может осуществляться на реальных тиках, предоставляемых брокером, или же на тиках, сгенерированных тестером стратегий на основе минутных данных. Реальные тики # Тестирование и оптимизация на реальных тиках являются максимально...
 

Так я оттуда и взял выдержку из текста. Интересует как приходят тики (время прихода, выделил жирным)

 
SEM:

Так я оттуда и взял выдержку из текста. Интересует как приходят тики (время прихода, выделил жирным)

В режиме OHLC тиков нет как таковых. Естественно, что время между четырьмя точками разбивается на четыре интервала.

Чтобы проверить: в OntTick() поставьте Print и запустите в режиме OHLC.

 

Здравствуйте. Подскажите, пожалста.

Как проверить является ли время торговым или нет?

(чтоб сделать чтоб советник начинал работать сразу, не дожидаясь первого тика)

 
Andrey Sokolov:

Здравствуйте. Подскажите, пожалста.

Как проверить является ли время торговым или нет?

(чтоб сделать чтоб советник начинал работать сразу, не дожидаясь первого тика)

OnTimer()

только какие бидаски в ордера будете ставить?)

https://www.mql5.com/ru/docs/event_handlers/ontimer

т.е. функция в эксперте сработает без прихода тиков
Документация по MQL5: Обработка событий / OnTimer
Документация по MQL5: Обработка событий / OnTimer
  • www.mql5.com
//|                                               OnTimer_Sample.mq5 | //|                        Copyright 2018, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
dr.mr.mom:

OnTimer()

только какие бидаски в ордера будете ставить?)

https://www.mql5.com/ru/docs/event_handlers/ontimer

т.е. функция в эксперте сработает без прихода тиков

Вопрос не об этом. Вопрос в том, как сделать чтоб при включении эксперт начинал работать, в тч торговать, если время торговое, не  дожидаясь нового тика.

 
Andrey Sokolov:

Вопрос не об этом. Вопрос в том, как сделать чтоб при включении эксперт начинал работать, в тч торговать, если время торговое, не  дожидаясь нового тика.

Эксперт обрабатывает события. Если Вы не хотите дожидаться события NewTick#, которое обрабатывается функцией OnTick, есть возможность используя функцию 

bool  EventSetTimer(
   int  seconds      // количество секунд
   );

генерировать события от таймера с указанной периодичностью, событие Timer# обрабатывается функцией OnTimer(). Эксперт у вас будет работать постоянно(с некой периодичностью) не дожидаясь тиков, а что уж он будет при этом делать, решать вам.

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после...
Причина обращения: