Как узнать что сделка закрылись с профитом или лосом?

 
Okhun:
Покажите мне боле простой пример пожалуйста. за ране спасибо...
Более простой чем какой?
 
Okhun:
Покажите мне боле простой пример пожалуйста. за ране спасибо...
цена закрытия равна цене уровня стопа или в комменте ордера присутствуют строки [sl] или [tp]
 
Вот, например советник открыл новый ордер с параметрам стоплосом. через некоторый время ордер закрылись с лосом. Потом советник должен принимать следующие решение (подорвать или покупать) ...
 
// Простейший пример  получить  размер профита по последнему закрытому ордеру
double GetProfitOrderClose()
{
   double op=0;
   int iCountHistory = OrdersHistoryTotal();
   for ( int i = 0; i <= iCountHistory ; i++ )
   {
      if ( OrderSelect( i ,SELECT_BY_POS , MODE_HISTORY ) == true )
      {
         if ( OrderType() == OP_BUY || OrderType() == OP_SELL) 
         {
               op = OrderProfit();         
         }
      }
   }
   return ( op );
}
 
Okhun:
Вот, например советник открыл новый ордер с параметрам стоплосом. через некоторый время ордер закрылись с лосом. Потом советник должен принимать следующие решение (подорвать или покупать) ...

поискать в истории сделок данный ордер и посмотреть на комментарий и профит, возможны 4 варианта:

  • комментарий содержит [sl] и профит отрицательный - закрылся в убытке
  • комментарий содержит [sl] и профит положительный - закрылся в прибыль после трала СЛ
  • комментарий содержит [tp] и профит положительный - закрылся в прибыль после срабатывания ТП
  • комментарий содержит [tp] и профит отрицательный - закрылся в убыток, неправильно поставлен был ТП или неудачный трал ТП.
 
YuraZ:

Спасибо за ответ. Я новичок в этой теме.

Сделай мне пожалуйста это:

If  (если нет открытых ордеры ) 

{ 

 

If (БИД > 1,2550)

{

Alert "Бид > 1,2550"

{

If (БИД < 1,2510)

{

Alert  "БИД < 1,2510"

}

 

}

И все это повторялся бесконечно (do … loop)

 
Okhun:

Спасибо за ответ. Я новичок в этой теме.

Сделай мне пожалуйста это:

If  (если нет открытых ордеры ) 

{ 

 

If (БИД > 1,2550)

{

Alert "Бид > 1,2550"

{

If (БИД < 1,2510)

{

Alert  "БИД < 1,2510"

}

 

}

И все это повторялся бесконечно (do … loop)

А почему не посмотреть в 
 Документация
 и много чего интересного и полезного и в других разделах встретите и узнаете!
Причина обращения: