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

 
Aleksey Vyazmikin:

Скорей всего оно зависит от метода моделирования тиков...

  Возможно. Но у этого брокера на всех парах качество котировок 100%, кроме EUR/USD (самой ходовой пары). Если оптимизировать советник на таком качестве - слив гарантирован.)

 
Aleksandr Prishenko:

  Возможно. Но у этого брокера на всех парах качество котировок 100%, кроме EUR/USD (самой ходовой пары). Если оптимизировать советник на таком качестве - слив гарантирован.)

Подогнать можно под любые условия - главное побольше переменных\индикаторов. Никто не гарантирует повторение последовательности тнх же цен, что и на истории - это просто вероятность, на которой советник должен выживать...

 
Одна сделка на бар или время. Как осуществить?
 
Vladimir Baskakov:
Одна сделка на бар ***

В OnTradeTransaction отлавливаем транзакцию TRADE_TRANSACTION_DEAL_ADD и определяет тип сделки. Если сделка DEAL_TYPE_BUY или DEAL_TYPE_SELL - запоминаем время открытия текущего бара. В блоке генерации сигналов сравниваем это время и время открытия текущего бара.

 
Vladimir Karputov:

В OnTradeTransaction отлавливаем транзакцию TRADE_TRANSACTION_DEAL_ADD и определяет тип сделки. Если сделка DEAL_TYPE_BUY или DEAL_TYPE_SELL - запоминаем время открытия текущего бара. В блоке генерации сигналов сравниваем это время и время открытия текущего бара.

if (day!=TimeDay(TimeCurrent()))
      {
      
      // проверяем условие открытия
          {
          //если условие подходит, открываем сделку — и изменяем флаг day
          day=TimeDay(TimeCurrent());
          }
 
Vladimir Baskakov:

"TimeDay" - нет такой функции.

 
Vladimir Karputov:

"TimeDay" - нет такой функции.

Пардон ошибся, а так?
MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      
 

Vladimir Baskakov:
Пардон ошибся, а так?

MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      

Это будет работать как "одна сделка в день". 

 
Vladimir Karputov:

Это будет работать как "одна сделка в день". 

О, то что надо!

 
Здравствуйте. 
Вопрос: Как посчитать реальное количество баров таймфрейма. При запросе Bars, iBars даёт 01.01.1970 (если перевести в дату). Реально же, по факту на экране бар с 21.09.2019. 
Вся история на графике - 25 недель... (PERIOD_W1).

Как именно выглядит кодовая строка запроса, что реально  на экране?  Как согласовать? Спасибо.