Вопрос по таймфреймам - страница 2

 

Вот результат моих изысканий: :)

Не знаю как правильно словами это сформулировать, но поробую.

Создать советник который будет через глобальную переменную клиентского терминала передавать значение

TimeCurrent(). Что-то типа этого:
int start()
  {
  GlobalVariableSet("TimeC",TimeCurrent()); 
  return(0);
  }
int deinit()
  {
   GlobalVariableDel("TimeC");
   return(0);
  }


В индикаторе везде где идет обращение к другому таймфрейму заменить на:

iBarShift(0,period[x],GlobalVariableGet("TimeC")+1,true)

т.е. было так:

if(iMA(Symbol(),period[x],13,0,0,0,0)>iMA(Symbol(),period[x],24,0,0,0,0))

сделать так:

if(iMA(Symbol(),period[x],13,0,0,0,iBarShift(0,period[x],GlobalVariableGet("TimeC")+1,true))>
   iMA(Symbol(),period[x],24,0,0,0,iBarShift(0,period[x],GlobalVariableGet("TimeC")+1,true)))

ну или так:

int shift = iBarShift(0,period[x],GlobalVariableGet("TimeC")+1,true);
   if(iMA(Symbol(),period[x],13,0,0,0,shift)>iMA(Symbol(),period[x],24,0,0,0,shift))

только сигналы теперь будут идти не с нулевого бара, а с певого.

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

Запустить советник в режиме визуализации, прикрепить индикатор. Вроде работает.

Вопрос к программистам, можно так оставить или еще надо подумать? Спаисибо.

 
Murman >>:


Вот результат моих изысканий: :)

Не знаю как правильно словами это сформулировать, но поробую.

Создать советник который будет через глобальную переменную клиентского терминала передавать значение

TimeCurrent(). Что-то типа этого:


В индикаторе везде где идет обращение к другому таймфрейму заменить на:

т.е. было так:

сделать так:

ну или так:

только сигналы теперь будут идти не с нулевого бара, а с певого.

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

Запустить советник в режиме визуализации, прикрепить индикатор. Вроде работает.

Вопрос к программистам, можно так оставить или еще надо подумать? Спаисибо.

Не программист, но интересно

Что получилось?