Режимы работы тестера и типы ордеров - страница 4

 

Аха... ну, вот и он - краш тест. Сначала код индикатора:

//+------------------------------------------------------------------+
//|                                                           TC.mq4 |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 24
#property indicator_buffers 2
#property indicator_color1 LightGreen
#property indicator_color2 Blue
//---- indicator buffers
double ExtBuffer0[];
double ExtBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0, ExtBuffer0);
   SetIndexBuffer(1, ExtBuffer1);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,5); //HH for TimeCurrent()
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2); //HH for Time[0]
   return(0);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int start()
  {
  int i,Counted_bars;
  Counted_bars=IndicatorCounted();
  i=Bars-Counted_bars-1;
  while(i>=0)
  {
   ExtBuffer0[i]=TimeHour(TimeCurrent());
   ExtBuffer1[i]=TimeHour(Time[0]);
   i--;
  }
  return(0);
  }
//+------------------------------------------------------------------+

Пускаем на "нулёвом"(т.е. пустом - start(){}) эксперте:

Горизон. зеленая=TimeCurrent(), синяя "пила"= Time[0]. Комментировать нечего, ожидаемое полное гониво со стороны TimeCurrent().

Теперь пишем тест-эксперта:

void start()
  {
   int _timeCurrent=iCustom(NULL, 0, "___testFuture", 0, 0);
   int _time_0_=iCustom(NULL, 0, "___testFuture", 1, 0);
   Comment("TimeCurrent(), get through iCustom= ", _timeCurrent, " | Time[0], get through iCustom= ", _time_0_);
  }

Ставим его на тест+кидаем тот же индик. из 2-х линий:

Нда... Ну что ж - эксперт "держит удар", так сказать, моделирование для ситуации "индикатор изнутри эксперта" верное! Но давайте попробуем сказать и-Кастому обратиться за инфой не к тому же ТФ что и у тестируемого эксперта, а на шаг выше. Т.е. в нашем случае продолжим тестить эксперта на H1, но поправим его иКастом что бы он тянул инфу с H4(исправления кода, за их элементарностью, опускаю). Резалты:

Держит!! Последнее смоделированное время 3ч. дня, а время открытия посл. свечи на H4=12(полдень). Все верно. Уже без кода и иллюстраций, просто констатацией факта - пробовал натравить иКастом на ТФ меньший, M5. Держит!!!

Итог краш-теста:

Из кода ЭКСПЕРТА увидеть будущее(в тестере) НЕ-ВОЗ-МОЖ-НО! Ноу. Нот. Невер. Импоссибл. Точка. :)

Для индикатора это(в общем случае), как уже выяснили многократно, не верно.

Такие вот пироги получаются...

 
SamMan:

Для индикатора это(в общем случае), как уже выяснили многократно, не верно.

Для индикатора, наброшенного на график визуализации. Да, это именно так.


SamMan:

Итог краш-теста:
Из кода ЭКСПЕРТА увидеть будущее(в тестере) НЕ-ВОЗ-МОЖ-НО! Ноу. Нот. Невер. Импоссибл. Точка. :)

Вот теперь все однозначно и понятно. Я рад, что пришли именно к такому результату ;)

 
Печально..... 4 страницы форума, воз потерянного времени до этого (и сколько еще будет у тех, кто этот топик сразу не найдет), а решалось все одним-двумя абзацами в справке :)
Причина обращения: