extern int h=11; //0..23 час extern int sl = 400; extern int tp = 100; int a=0; //+------------------------------------------------------------------+ //| expert start function| //+------------------------------------------------------------------ int start() { //---- if(TimeHour(TimeCurrent())==h) { for(int i=1; i<5; i++) { if(TimeMinute(TimeCurrent())==i*10) { -- КАВЫЧКИ ЗАБЫЛИ. ЕСЛИ ВЫПОЛНЯЕТСЯ НЕСКОЛЬКО ДЕЙСТВИЙ В ОПЕРАТОРЕ if ТО НУЖНЫ КАВЫЧКИ. OrderSend(Symbol(),OP_BUY,0.02,Ask,3,Ask-400*Point,Ask+100*Point,0,0,0,0); Sleep(150); OrderSend(Symbol(),OP_SELL,0.02,Bid,3,Bid+400*Point,Bid-100*Point,0,0,0,0); } -- КАВЫЧКИ ЗАКРЫВАЮТСЯ } } return(0); }
Maxim Dmitrievsky:
Благодарю!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
В mql4 я новичок и пытаюсь понять как он работает. Нужен эксперт который открывал бы ордера на покупку и на продажу одновременно через определенные промежутки времени, например, в 11:00, 11:10 ..., 11:50. Написал такой код:
extern int h=11; //0..23 час
extern int sl = 400;
extern int tp = 100;
int a=0;
//+------------------------------------------------------------------+
//| expert start function|
//+------------------------------------------------------------------
int start()
{
//----
if(TimeHour(TimeCurrent())==h)
{
for(int i=1; i<5; i++)
{
if(TimeMinute(TimeCurrent())==i*10)
OrderSend(Symbol(),OP_BUY,0.02,Ask,3,Ask-400*Point,Ask+100*Point,0,0,0,0);
Sleep(150);
OrderSend(Symbol(),OP_SELL,0.02,Bid,3,Bid+400*Point,Bid-100*Point,0,0,0,0);
}
}
return(0);
}
однако, программа открывает ордера только на продажу каждый день в 11:00. Прошу пояснить где ошибка.
Буду благодарен за Ваш ответ.