Андрей, приветствую!
Необходима помощь.
Необходима функция, которая возвращает цену тейкпрофита последнего открытого ордера, который на данный момент в рынке.
Можно найти цену стоплосса или цену тейкпрофита у уже закрытого ордера.
Как, например, вот тут идёт проверка последнего сработавшего ордера в истории на стоплосс:
//+------------------------------------------------------------------------------+
//| проверим последний сработавший ордер этого советника в истории на СТОПЛОСС |
//+------------------------------------------------------------------------------+
bool LastHistoryOrderIsStopLoss()
{
i=OrdersHistoryTotal()-1;
while (true)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true && OrderMagicNumber()==Magic && OrderType()<=1)
{
if (OrderStopLoss()==OrderClosePrice())
return(true);
else
return(false);
}
i--;
if (i<0) return(false);
}
}
Но это в истории, среди закрытых ордеров!
Потому как, цитируя справку:
«OrderStopLoss
Возвращает значение цены закрытия ордера при достижении убыточности (stop loss) текущего выбранного ордера.»
А как найти стоплосс или тейкпрофит у того ордера, что сейчас в работе, у рыночного или отложенного?
Как найти это не в MODE_HISTORY, а в MODE_TRADES?
Комментарии (11)
—
ShamanHand, вы же програмист советники вон пишите, а за токой ерундой обращаетесь.Что то после такого да же страшно у вас советники покупать. Редактирован: 29 декабря 2020, 14:03
20 alex30774 Сообщений: 748
Уместное замечание, самому стыдно
После НГ корпоратива ощущение, будто половина мозгов со спиртным убежала Редактирован: 29 декабря 2020, 14:32
24 ShamanHand Автор Сообщений: 1092 - Наношу добро, причиняю пользу.
20 alex30774 Сообщений: 748
Вот ещё раз читаем справку:
«OrderTakeProfit
Возвращает значение цены закрытия ордера ПРИ ДОСТИЖЕНИИ УРОВНЯ ПРИБЫЛЬНОСТИ (take profit) текущего выбранного ордера.»
А мне же надо, чтобы в любой момент можно было ТП у ордера посмотреть.
По факту действительно, возвращает минус единицу и всё на этом.
Т.е. я в комментах пишу: На выходе имеем:
Т.е. мне как раз при открытом ордере это надо узнавать. Как закроется — меня его ТП уже не интересует. Редактирован: 29 декабря 2020, 17:43
24 ShamanHand Автор Сообщений: 1092 - Наношу добро, причиняю пользу.
20 alex30774 Сообщений: 748
Редактирован: 29 декабря 2020, 18:38
20 alex30774 Сообщений: 748
Нужно просто быть внимательней... Редактирован: 29 декабря 2020, 20:42
24 ShamanHand Автор Сообщений: 1092 - Наношу добро, причиняю пользу.
35 AM2 Сообщений: 16306 - Андрей
24 ShamanHand Автор Сообщений: 1092 - Наношу добро, причиняю пользу.
datetime t;
на
datetime t=0;
Это чтоб предупреждений не было, хотя возможно вы уже сами исправили(это я так на всякий случай предупредил, а то я код функции скопировал, а не проверил)
20 alex30774 Сообщений: 748
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий