Скачать MetaTrader 5

Как выяснить тикет оставшегося ордера?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Maksim Garkin
7510
Maksim Garkin  

Здравствуйте, товарищи! 

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

Советник при некоторой прибыли закрывает половину объема ордера. Потом два варианта. Либо по стоплоссу, либо по тейку.

пишу код

if(OrderSelect(tickett,SELECT_BY_TICKET,MODE_HISTORY) && OrderCloseTime()>0)

      {

      if(OrderClosePrice()==  OrderStopLoss()) Print(1);

      if(OrderClosePrice()==OrderTakeProfit()) Print(2);

      }

 Если по стоплоссу находит, Профит - нет. Как это сделать правильно?

Maksim Garkin
7510
Maksim Garkin  

Ну, думал, что если цена закрытия ордера равна цене стоплосса, то этот ордер закрылся по СЛ, и тоже для ТП.

Пробовал по прибыли сравнивать, все равно тот же результат. 

Alexey Volchanskiy
24615
Alexey Volchanskiy  
Maksim Garkin:

Здравствуйте, товарищи! 

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

Советник при некоторой прибыли закрывает половину объема ордера. Потом два варианта. Либо по стоплоссу, либо по тейку.

пишу код

if(OrderSelect(tickett,SELECT_BY_TICKET,MODE_HISTORY) && OrderCloseTime()>0)

      {

      if(OrderClosePrice()==  OrderStopLoss()) Print(1);

      if(OrderClosePrice()==OrderTakeProfit()) Print(2);

      }

 Если по стоплоссу находит, Профит - нет. Как это сделать правильно?

1. Если ищете ордер в истории, естественно у него будет OrderCloseTime()>0, зачем это проверять?

2. МОжет, сделать нечеткое сравнение? Например

if(MathAbs(OrderClosePrice() - OrderTakeProfit()) >= 0.0001) Print(2);

 


Alexey Viktorov
19398
Alexey Viktorov  
Maksim Garkin:

Здравствуйте, товарищи! 

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

Советник при некоторой прибыли закрывает половину объема ордера. Потом два варианта. Либо по стоплоссу, либо по тейку.

пишу код

if(OrderSelect(tickett,SELECT_BY_TICKET,MODE_HISTORY) && OrderCloseTime()>0)

      {

      if(OrderClosePrice()==  OrderStopLoss()) Print(1);

      if(OrderClosePrice()==OrderTakeProfit()) Print(2);

      }

 Если по стоплоссу находит, Профит - нет. Как это сделать правильно?

1. В комментарии ордера пишется тикет ордера с остатком объёма.

2. Выбор ордера по тикету не зависит от того закрыт он или нет, поэтому MODE_HISTORY писать необязательно.

3. Если ордер закрывался по тейку или стопу и проскользил чуток, то условие не будет выполнено.

Alexey Volchanskiy
24615
Alexey Volchanskiy  
Alexey Viktorov:

3. Если ордер закрывался по тейку или стопу и проскользил чуток, то условие не будет выполнено.


Я и писал, четкое сравнение не годится.
Alexey Viktorov
19398
Alexey Viktorov  
Alexey Volchanskiy:

Я и писал, четкое сравнение не годится.
Я не видел, мы писали одновременно, только ты чуток пошустрей:)))
Alexey Volchanskiy
24615
Alexey Volchanskiy  
Alexey Viktorov:
Я не видел, мы писали одновременно, только ты чуток пошустрей:)))
Ок, шоколадная медаль пополам ))
Maksim Garkin
7510
Maksim Garkin  
Alexey Volchanskiy:
Ок, шоколадная медаль пополам ))
Вообще работать перестало )) Верните медаль обратно ;)
Alexey Volchanskiy
24615
Alexey Volchanskiy  
Maksim Garkin:
Вообще работать перестало )) Верните медаль обратно ;)

Надо померить проскальзывание у брокера, сразу все станет ясно. У меня только что скрипт для этого в кодобазе опубликовали, меряйте на здоровье ) 

https://www.mql5.com/ru/forum/76821 

Скрипты: OpenOrderTime
Скрипты: OpenOrderTime
  • www.mql5.com
Скрипт измеряет время открытия и закрытия рыночного ордера и записывает их в файл. - - Категория: статьи и техническая библиотека по автоматическому трейдингу
Maksim Garkin
7510
Maksim Garkin  
Sergey Chalyshev:
Все смешалось в кучу, кони люди мухи котлеты. 
Вы сначала определитесь для какого терминала, мт4 или мт4?


мт4 

Alexey Viktorov
19398
Alexey Viktorov  
Sergey Chalyshev:
Все смешалось в кучу, кони люди мухи котлеты. 
Вы сначала определитесь для какого терминала, мт4 или мт4?

А как их отличить?
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий