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

 
Подскажите пожалуйста, что нужно сделать, чтобы советник торговал в определенном временном графике. Меня интересует М30
 

в начало функции start() поставьте запрет на работу на прочих таймфреймах кроме М30

int start(){

if (Period() != 30) returtn(0);

//...

}
 
nikit131 писал(а) >>
Подскажите пожалуйста, что нужно сделать, чтобы советник торговал в определенном временном графике. Меня интересует М30

А проще заложить в эксперте работу по требуему таймфрейму. И пускай висит на любом

 
nikit131 писал(а) >>
Подскажите пожалуйста, что нужно сделать, чтобы советник торговал в определенном временном графике. Меня интересует М30

Поменяйте все обращения типа Оpen[i], Сlose[i] и т.д. на iOpen(Symbol(),PERIOD_H1,0) и т. д.

и советник будет торговать на H1 независимо от того какой выбран ТФ в окне.

 

Для удобства можно ввести extern переменную TimeFrame и использовать ее во всех функциях типа iOpen, iClose...

Думаю это и так ясно, но подумалось, что не лишним будет напомнить:)

 
Vinin >>:

А проще заложить в эксперте работу по требуему таймфрейму. И пускай висит на любом


а как это сделать?
 
nikit131 >>:


а как это сделать?

Ну подсказали же выше...

В тех местах где просится указывать таймфрейм пишем переменную,

плюс заменяем все указанные пред.функции на iфункции, плюс и переменную символ не помешает...

int tf;
string sim;
//---
int start()
{
tf=15; 
sim=Symbol(); либо "EURUSD" вместо Symbol()

// бла-бла-бла
}
 
Если торговля должна вестись только по открытию свечи на таймфрейме TF.
 if (iTime(Symbol(), TF, 0) == prevtime)
  return (0);
 prevtime = iTime(Symbol(), TF, 0);
...
Причина обращения: