Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Хочешь стать известным разработчиком? Выполняй заказы трейдеров в сервисе Фриланс!
yellownight
617
yellownight 2014.03.17 06:26 

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

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);
}

Victor Nikolaev
Модератор
14033
Victor Nikolaev 2014.03.17 06:35  
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);
yellownight
617
yellownight 2014.03.17 06:39  
Vinin:


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

Alexey Viktorov
5174
Alexey Viktorov 2014.03.17 07:45  

Потому, что

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);

yellownight
617
yellownight 2014.03.17 11:45  
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);

Тоже самое, что и Винин выше написал, все равно не работает..
Bicus
2395
Bicus 2014.03.17 13:46  

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

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

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


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

yellownight
617
yellownight 2014.03.17 14:50  
Bicus:

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

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

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


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

Спс, заработало.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий