Хелп

 

Почему такой код отложкам не изменяет ТП, рабочим изменяет исправно.

for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
OrderModify(OrderTicket(),0,0,OrderOpenPrice()-0.001,0,CLR_NONE);
OrderModify(OrderTicket(),0,0,OrderOpenPrice()+0.001,0,CLR_NONE);
}

 
mikhail12:

Почему такой код отложкам не изменяет ТП, рабочим изменяет исправно.

for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
OrderModify(OrderTicket(),0,0,OrderOpenPrice()-0.001,0,CLR_NONE);
OrderModify(OrderTicket(),0,0,OrderOpenPrice()+0.001,0,CLR_NONE);
}


OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+100*Point,0,Red);
 
Vinin:


снова только на рабочие, отложки без изменений

 

Потому, что

bool OrderModify(
int ticket, // номер ордера
double price, // цена открытия
double stoploss, // stop loss
double takeprofit, // take profit
datetime expiration, // время истечения ордера
color arrow_color // цвет);

А в твоём коде

OrderModify(

OrderTicket(), // номер ордера

0, // цена открытия

0, // stop loss

OrderOpenPrice()-0.001,0,CLR_NONE);

 
AlexeyVik:

Потому, что

bool OrderModify(
int ticket, // номер ордера
double price, // цена открытия
double stoploss, // stop loss
double takeprofit, // take profit
datetime expiration, // время истечения ордера
color arrow_color // цвет);

А в твоём коде

OrderModify(

OrderTicket(), // номер ордера

0, // цена открытия

0, // stop loss

OrderOpenPrice()-0.001,0,CLR_NONE);

Тоже самое, что и Винин выше написал, все равно не работает..
 

Почему вы думаете, что не работает?

Первый OrderModify уменьшает значение TP на 10 пунктов. Следом второй OrderModify увеличивает значение TP на те же 10 пунктов.

В итоге получается, что TP остается на том же уровне. Что вы хотели - то и получили. Что не так?


Посмотрите лог, что там пишется?

 
Bicus:

Почему вы думаете, что не работает?

Первый OrderModify уменьшает значение TP на 10 пунктов. Следом второй OrderModify увеличивает значение TP на те же 10 пунктов.

В итоге получается, что TP остается на том же уровне. Что вы хотели - то и получили. Что не так?


Посмотрите лог, что там пишется?

Спс, заработало.
Причина обращения: