if( OrderType()==OP_BUYSTOP )

 

Помогите пожалуйста как подсчитать  убыток  еще  не сработавших отложенных ордеров исходя из их расстояния   от рыночной цены .

кажется глупо но думаю это возможно.

Спасибо.

 
Golden Ratio:

Помогите пожалуйста как подсчитать  убыток  еще  не сработавших отложенных ордеров исходя из их расстояния   от рыночной цены .

кажется глупо но думаю это возможно

Ну так отложенный ордер станет рыночным по рыночной цене, зачем считать его не существующую прибыль, да и бесполезное это занятие
Вот если рассчитать его прибыль-убыток по стопам TP и SL, то это более мудрое решение))

 
FXwin:

Ну так отложенный ордер станет рыночным по рыночной цене, зачем считать его не существующую прибыль, да и бесполезное это занятие
Вот если рассчитать его прибыль-убыток по стопам TP и SL, то это более мудрое решение))

я так и знал что покажется бесполезной идея . Но это нужно как то сделать . Перебор ордеров отложенных ни как не получается хотя ошибок 

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

 
Сковырните стоимость пункта. Умножьте на объем ордера и на расстояние в пипсах...
 
Yevhenii Levchenko:
Сковырните стоимость пункта. Умножьте на объем ордера и на расстояние в пипсах...

double vpoint  = MarketInfo(_Symbol,MODE_POINT);

перебор......и

if( OrderType()== OP_BUYSTOP ) 

           {

             buy_Stop_profit +=vpoint*OrderLots()*(OrderOpenPrice()-Bid) ;

            }

Такая формула расчета правильная ?

 
Golden Ratio:

double vpoint  = MarketInfo(_Symbol,MODE_POINT);

перебор......и

if( OrderType()== OP_BUYSTOP ) 

           {

             buy_Stop_profit +=vpoint*OrderLots()*(OrderOpenPrice()-Bid) ;

            }

Такая формула расчета правильная ?

 Вроде бы нужно MODE_TICKVALUE   ( Размер минимального изменения цены инструмента в валюте депозита  )

 
Yevhenii Levchenko:

 Вроде бы нужно MODE_TICKVALUE   ( Размер минимального изменения цены инструмента в валюте депозита  )

    double tick_value = MarketInfo(_Symbol,MODE_TICKVALUE);

        if( OrderType()== OP_BUYSTOP ) 

           {

            if(tick_value>0.00)

            buy_Stop_profit +=tick_value*OrderLots()*(OrderOpenPrice()-Bid) ; 

       }

 
Golden Ratio:

    double tick_value = MarketInfo(_Symbol,MODE_TICKVALUE);

        if( OrderType()== OP_BUYSTOP ) 

           {

            if(tick_value>0.00)

            buy_Stop_profit +=tick_value*OrderLots()*(OrderOpenPrice()-Bid) ; 

       }

По идее так... протестируйте
 
Yevhenii Levchenko:
По идее так... протестируйте
buy_Stop_profit +=tick_value*OrderLots()*((OrderOpenPrice()-Bid/Point) ); 

 исправил формулу . Нужно делит на/Point чтобы пункты правильно считалис

 
Golden Ratio:
buy_Stop_profit +=tick_value*OrderLots()*((OrderOpenPrice()-Bid/Point) ); 

 исправил формулу . Нужно делит на/Point чтобы пункты правильно считалис

Не на Point, а на Tick Size. Потому как Tick Value - это стоимость минимального изменения цены (Tick Size), а не пункта/пипса. Да, в большинстве случаев пункты равны минимальному изменению цены. Но есть и интересные исключения. Вот там и не будет работать.