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

 
Igor Nagorniuk #:
это попробуй
Так я же написал что так и делал. Вы сами пробовали? У вас нет описанной проблемы?
 
Andrei Sokolov #:
Так я же написал что так и делал. Вы сами пробовали? У вас нет описанной проблемы?
Вы написали "

В void OnTick() цены аск и бид вывожу в комментарий. И при моделировании по ценам открытия они в большинстве случаев не соответствуют отображаемым на графике, почему так? При моделировании по всем тикам или OHLC такого не замечал. " Вывести, комент можно по разному. Так же Вы не предоставили "ошибочный" код! Вот, я предложил, что знал. В чём проблема ? Если, этот вариант не подходит, значит, будем думать.

 
Igor Nagorniuk #:
Вы написали "

В void OnTick() цены аск и бид вывожу в комментарий. И при моделировании по ценам открытия они в большинстве случаев не соответствуют отображаемым на графике, почему так? При моделировании по всем тикам или OHLC такого не замечал. " Вывести, комент можно по разному. Так же Вы не предоставили "ошибочный" код! Вот, я предложил, что знал. В чём проблема ? Если, этот вариант не подходит, значит, будем думать.

Спрошу еще раз: у вас в тестере при испрользовании по ценам открытия, цифры цен на графике и в комментарии совпадают? Вы сами пробовали то что предлагаете? 
 
Andrei Sokolov #:
Так я же написал что так и делал. Вы сами пробовали? У вас нет описанной проблемы?

 для теста, (когда обновляются данные)

void OnTick()
{
   static datetime last_bar_time = 0;
   
   // Проверяем время открытия текущего бара
   if(last_bar_time != iTime(_Symbol, _Period, 0))
   {
      last_bar_time = iTime(_Symbol, _Period, 0);
      
      double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
      double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
      
      PrintFormat("Новый бар %s | Bar Open: %.5f | Tester Ask: %.5f | Tester Bid: %.5f", 
                  TimeToString(last_bar_time), iOpen(_Symbol, _Period, 0), ask, bid);
                  
      Comment("Ask: ", DoubleToString(ask, _Digits), " | Bid: ", DoubleToString(bid, _Digits));
   }
}

потом можно использовать встроенные переменные графика 

void OnTick()
{
   // Эти переменные подтягиваются движком тестера под текущий шаг симуляции
   Comment("_Ask: ", DoubleToString(_Ask, _Digits), " | _Bid: ", DoubleToString(_Bid, _Digits)); 
}
 
Igor Nagorniuk #:

 для теста, (когда обновляются данные)

потом можно использовать встроенные переменные графика 

Вы сами пробовали? У вас нет описанной проблемы?
 
Igor Nagorniuk #:
это попробуй

Попробовал, проблема повторяется (чего и следовало ожидать)


 
Andrei Sokolov #:
Вы сами пробовали? У вас нет описанной проблемы?

нет..вообще нет

просто даже не ожидаю что при тестировании по ценам открытия советник получит что-то близкое к реальности кроме цены bid в момент открытия свечи (и то бабушка надвое).

Весь свечной график тестера при этом просто украшение, я это знаю, я же сам галочку поставил "только цены открытия"

 
Maxim Kuznetsov #:
просто даже не ожидаю что при тестировании по ценам открытия советник получит что-то близкое к реальности кроме цены bid в момент открытия свечи (и то бабушка надвое).
Так там даже бид - не бид