Изменение свойств открытой позиции

 

Всем привет.

Погуглил, но не нашел, как можно изменить свойства открытой позиции.

Ну, вот, например: я открываю позицию с помощью сл. функции

if(!trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,Lots,0,0,take_profit_sell,"Comment"))
               {
               Print("Ошибка при открытии позиции: ",GetLastError()," - " );
               }

Теперь, уже в открытой позиции, я хочу выставить stop_loss. Как мне это сделать?

Спасибо.

 
canonier:

Всем привет.

Погуглил, но не нашел, как можно изменить свойства открытой позиции.

Ну, вот, например: я открываю позицию с помощью сл. функции

Теперь, уже в открытой позиции, я хочу выставить stop_loss. Как мне это сделать?

Спасибо.


Чтобы модифицировать позицию, её сначала нужно выбрать:

и только после этого уже можно модифицировать: PositionModify

 

@Vladimir Karputov, напишите, пожалуйста, пример кода для одной из этих функций, пожалуйста.

Заранее благодарю.

 

@Vladimir Karputov, напишите, пожалуйста, пример кода с одной из этих функций, пожалуйста.

Заранее благодарю.

 

Насколько я понимаю, SelectByIndex и SelectByTicket применимы для отложенных ордеров. А у меня действующий ордер. Как мне его изменить? В частности, нужно выставить SL, которого нет.

Спасибо.

 
canonier:

@Vladimir Karputov, напишите, пожалуйста, пример кода с одной из этих функций, пожалуйста.

Заранее благодарю.


Почти в каждом моём коде. Вот хотя бы здесь: MACD Stochastic.

Функция Trailing.

 
canonier:

Всем привет.

Погуглил, но не нашел, как можно изменить свойства открытой позиции.

Ну, вот, например: я открываю позицию с помощью сл. функции

Теперь, уже в открытой позиции, я хочу выставить stop_loss. Как мне это сделать?

Спасибо.


ticket = OrderSend(Symbol(), OP_SELL, lotvalue, Bid, 0, SL, TP, "My Expert", 2, 0, Red);

    if (ticket > -1)

    {

        if (true)

        {

            bool sel = OrderSelect(ticket, SELECT_BY_TICKET);

            bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);

            if (ret == false)

            Print("OrderModify() error - ", ErrorDescription(GetLastError()));

        }

            

    }

 
Sergey Vradiy:


Пожалуйста обратите внимание: 

  1. Правильно вставляем код на форуме - исправьте свою простыню
  2. В посте автор спрашивает о MQL5 - Вы же написали вызов для старого терминала.

 
Vladimir Karputov:

Почти в каждом моём коде. Вот хотя бы здесь: MACD Stochastic.

Функция Trailing.

Владимир, такой ссылки не существует.

 
Victor Ziborov:

Владимир, такой ссылки не существует.

Я скинул свою внутреннюю ссылку- просто в ссылке удалите лишние в конце ссылки и будет счастье :)
 
Vladimir Karputov:

Пожалуйста обратите внимание: 

  1. Правильно вставляем код на форуме - исправьте свою простыню
  2. В посте автор спрашивает о MQL5 - Вы же написали вызов для старого терминала.

Вообще-то запрета обсуждать код на MQL4 я не встречал. Если он есть, пришлите ссылку, если не трудно. Иначе если уж ограничиваем обсуждение только mql5, это надо сразу оговаривать в формулировке темы. 

Причина обращения: