Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся активность участников MQL5.community на одной странице!
Юрий
11
Юрий 2013.03.01 14:48 

Всем привет!

В общем, не открывается ордер в цыкле… писал я код так: 

Перед началом вот описание переменных:

double lot = 0.01;

double stop_loss = 0;

double take_profit = 0;

int magic_nomber = 12345;

string comment = "Описание позиции"; 

Далее:

while (true)

         {

         OrderSend(Symbol(), OP_BUY, lot, NormalizeDouble(Ask,Digits), 0, stop_loss, take_profit, comment, magic_nomber, 0, CLR_NONE);   

         Sleep (5000);

       }

Или еще так пробовал:

for(;;)

   {

   Sleep(5000);

   OrderSend(Symbol(), OP_BUY, lot, NormalizeDouble(Ask,Digits), 0, stop_loss, take_profit, comment, magic_nomber, 0, CLR_NONE);

   } 

Если же просто без цыкла то ордера открываются отлично… 

ktest0
631
ktest0 2013.03.01 15:17  

Для начала нормализуйте лот и разберитесь с комментами.

Юрий
11
Юрий 2013.03.01 15:32  

Комменты подправил.. А лот я думал правильно указан. Не скажете что с ним не так и как его нормализировать?

Еще заметил ордер может открыться только раз или не открыться вообще… 

ktest0
631
ktest0 2013.03.01 16:06  

NormalizeDouble(переменная лота,разрядность) - этим. тп и сл - хоть и нули, но будет  тоже не лишне нормализовать.

Юрий
11
Юрий 2013.03.01 16:24  

Я уже понял свою ошибку.

Оказывается просто напросто забыл о RefreshRates(); работает теперь все как надо.

Тем не менее спасибо за инфу!

Вы говорите NormalizeDouble(переменная лота,разрядность),  Разрядность это я так понимаю Digits писать надо?

 

ktest0
631
ktest0 2013.03.01 19:17  
gtx1024:

Я уже понял свою ошибку.

Оказывается просто напросто забыл о RefreshRates(); работает теперь все как надо.

Тем не менее спасибо за инфу!

Вы говорите NormalizeDouble(переменная лота,разрядность),  Разрядность это я так понимаю Digits писать надо?

 


Дижитс это разрядность валютной пары, а у лота разрядность 2 знака после запятой...
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий