Модель "Цены открытия" форвард-тест VS реал-торговля

 

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

 
Jingo:

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


Если при тестировании использовались внутри барные тейки и стопы, то разница будет колоссальной.
 
Vinin:

Если при тестировании использовались внутри барные тейки и стопы, то разница будет колоссальной.
Как добиться одинакого результата?
 

Одинакового не будет, близкий - да.

Но никто же не знает какие Вы используете тейки и стопы. Расположены ли они внутри бара (текущего) или нет. На каком таймфрейме проверяете.

 
Jingo:
Как добиться одинакого результата?

Никак, тиковых данных нет в истории, поэтому не добиться одинаковых результатов.

Ни при OHLC ни при тиковом тестировании.

 
Vinin:

Одинакового не будет, близкий - да.

Но никто же не знает какие Вы используете тейки и стопы. Расположены ли они внутри бара (текущего) или нет. На каком таймфрейме проверяете.

Тейки и стопы всегда исполняются на следующем множестве баров

таймфрейм M5 в частности.

 
Jingo:

Тейки и стопы всегда исполняются на следующем множестве баров

таймфрейм M5 в частности.


Таймфрейм для тестирования М1, рабочий по усмотрению, например М5. Получите максимально возможную точность
 
Jingo:

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


Если я правильно понял ваш вопрос - чтобы форвард/тест и реал не отличались - вам нужно всего лишь задать в самом коде советника работу только "по ЦЕНАМ ОТКРЫТИЯ".

Для этого вам нужно (скорее всего ) лишь в самом начале ф-и СТАРТ задать условие:

int prevtime=0; // - задать в глобальных переменных


int start()
  {
//------------------------------------------------------------------------  
 if(Time[0]==prevtime) return(0);//ждём появления нового бара
 prevtime = Time[0]; //если появился новый бар - работаем
// далее - ваш остальной код ....
 
leonid553:


Если я правильно понял ваш вопрос - вам нужно всего лишь задать в самом коде советника работу только по ЦЕНАМ ОТКРЫТИЯ".

Для этого вам нужно (скорее всего ) лишь в самом начале ф-и СТАРТ задать условие:


Малость поправлю

extern int WorkTime=PERIOD_M5;
int prevtime=0; // - задать в глобальных переменных


int start()
  {
     // Необходимые действия по всем тикам 
     if(iTime(NULL, WorkTime,0)==prevtime) return(0);//ждём появления нового бара
     prevtime = iTime(NULL, WorkTime,0); 
     // действия по открытию бара на нужном таймфрейме
  }
 

Спасибо большое

и ещё один вопрос повис - Как рисуется индикатор, по которому советник открывает сделки при тестировании на "ценах открытия" - по имеющимся всем тикам или только по ценам открытия?

 

Не совсем ясен вопрос. Похоже речь идет о режиме визуализации?

Если да, то по тем ценам, которые заложены в индикатор

Причина обращения: