Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Почитай интервью участников Automated Trading Championship
Макс
123
Макс 2011.10.23 09:26 

В общем прогоняю на тестере, и когда перменные Th=09, Tm=30, то открывает сделку каждый день, но если поменяю Tm на 29 например или 32 и так далее, то ни одной сделки не открывается..проверяю на М30. Но разницы то не должно быть..если время соответствует то функция Executor(); должна работать. в ней прописаны критерии открытия ордеров...в чём проблема может быть? бьюсь об стенку уже...

extern double Th=09;
extern double Tm=30;

int D;
//---------------------------------------------------------------


int start()
{
int Ch=Hour();
double Cm =Minute();


if (OrdersTotal()==0)
{if (D!=Day())
{if (Ch==Th && Cm==Tm)
{Executor();
D=Day();
}
}
}
return;

}

Рустам
3602
Рустам 2011.10.23 09:32  

Смотрим в справку:

int Hour()
Возвращает текущий час (0,1,2,..23) последнего известного серверного времени на момент старта программы (в процессе выполнения программы это значение не меняется).
Замечание: при тестировании последнее известное время сервера моделируется.

вывод : используем TimeHour( Time[0] ) или TimeHour(TimeCurrent())


Ну и остальные переменные времени тоже так же
Cmu4
1227
Cmu4 2011.10.23 09:33  

Вместо Tm=30; попробуйте поставить Tm>=30;

И тестируйте на М1. Как вы хотите открываться на 29-ой, если тестируете на М30?! ;)

Рустам
3602
Рустам 2011.10.23 09:35  
Ну или смотрим сюда и учимся как правильно писать код : https://www.mql5.com/ru/forum/107476/page81#163009
Макс
123
Макс 2011.10.23 09:40  
Спасибо. ценно
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий