Тестер стратегий. - страница 8

 

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

Хорошо что сказали :) Скоро бы все начало падать. Там файл лога уже около 2Gb.
 
Очень часто на разных экспертах тестер при оптимизации выдает чистые (пустые) выходные данные, проходя все циклы, но не проводя операций. Кто ни будь знает, почему это происходит?
 
Кажется, я опять нашел этот "баг"! :)
Уж не помню, писал ли о нем...
Всё дело было, ка коказалось, в этом:
if(CurTime()-OrderOpenTime()<900)  return(0);


Почему то оптимизатор не сбрасывает счетчик на "ноль" (или что там у него). И, наверное, считает время глобальное, а не тестируемое. В общем, не знаю, что да как там не правильно сделано, но нервы потратил сильно, пока отловил. :) Если у кого та-же проблема - примите во внимание!

 
При тестировании стратегии происходят входы в местах, где на глаз этого происходить никак не должно. Три дня из жизни выкинул нафиг. И на что? Видите цифирьки над баром? Первая цифирь - значение индюка (красная линия). Все правильно 1.3014. А вот вторая цифирь - возвращённое программе значение лоу бара. На графике видно, что лоу висит ниже линии индюка. И лоу у этого бара 1.3012. А программе выдается значение 1.3015. Понятно теперь, почему здесь сработка происходит.
 
Объясните, что у меня не так?

Вот программа:
//+------------------------------------------------------------------+
int i;
//+------------------------------------------------------------------+
int init ()  { return(0); }
int deinit() { return(0); }

int start()
{
  i++;
  CreateArrow(DoubleToStr(i,0),Time[0],High[0],108,Aqua);
  i++;
  CreateArrow(DoubleToStr(i,0),Time[0],Low[0],108,Yellow);
  return(0);
}

void CreateArrow(string name, datetime time1, double price1, int code_arrow, int clr)
{
  ObjectCreate(name,OBJ_ARROW,0,time1,price1);
  ObjectSet(name,OBJPROP_ARROWCODE,code_arrow);
  ObjectSet(name,OBJPROP_COLOR,clr);
}



Вот результат прогона в тестере

 
Смотри ответ на форуме Альпари , два раза лень писать.
 
Смотри ответ на форуме Альпари , два раза лень писать.

Кинь ссылку
 
Смотри ответ на форуме Альпари , два раза лень писать.

Кинь ссылку


http://forum.alpari-idc.ru/viewtopic.php?p=220941#220941
 
Все очень просто. Как я вижу, тесты идут в режиме по открытию бара.
Чему равно High и Low только что зарождающегося бара?
Подсказка: Open=High=Low=Close, Volume=1

Вот, кстати, почему первая стрелка с цветом Aqua находится как раз под второй Yellow.
 
Все очень просто. Как я вижу, тесты идут в режиме по открытию бара.
Чему равно High и Low только что зарождающегося бара?
Подсказка: Open=High=Low=Close, Volume=1

Вот, кстати, почему первая стрелка с цветом Aqua находится как раз под второй Yellow.

Благодарю за пояснения.