Как сделать чтобы трал начал работать только при условии прибыли и сразу передвинулся на цену открытия?

 
void TrailingPositions() 
{
  int cnt = OrdersTotal();
 
  for (int i=0; i<cnt; i++) {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;        
 
    if (OrderType() == OP_BUY) {
      if (Bid-OrderOpenPrice() > lMinProfit*Point) {
        if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, OrderTakeProfit(), 0, Blue);
        }
      }
    }
 
    if (OrderType() == OP_SELL) {
      if (OrderOpenPrice()-Ask > sMinProfit*Point) {
        if (OrderStopLoss() > Ask+(sTrailingStop+sTrailingStep-1)*Point || OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+sTrailingStop*Point, OrderTakeProfit(), 0, Blue);
помогите сделать следущее:чтобы трал начал работать только при условии прибыли и сразу передвинулся на цену открытия .
 
Проверяйте OrderProfit().
 
Rosh:
Проверяйте OrderProfit().

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

чтобы трал начал работать только при условии прибыли - в этом кучке кода это уже реализовано, см. переменные sMinProfit и lMinProfit

и сразу передвинулся на цену открытия - например при профите в 1 пункт на цену открытия?? Удачи...

 
Figar0:
azfaraon:помогите сделать следущее:чтобы трал начал работать только при условии прибыли - в этом кучке кода это уже реализовано, см. переменные sMinProfit и lMinProfit

и сразу передвинулся на цену открытия - например при профите в 1 пункт на цену открытия?? Удачи...

Этот кусок кода работает следущим образом : если прибыль появляется то он начинает двигать стоп-лосс ,а просьба чтобы трал начал работать только при условии прибыли и сразу передвинулся на цену открытия .

 

Наверно имеется ввиду, перенос стопа в безубыток...

'Безубыток'

'Движение стопа'
 
Rosh:
Проверяйте OrderProfit().

Только учтите, что OrderProfit() возвращает значение в валюте счета, которое зависит от стоимости пункта и размера позиции.
 
Плюс - он и в Африке плюс.
 

Плюс м.б. и при нулевом OrderProfit(), если учесть OrderSwap() ;-)

А есть еще AccountProfit(). Это, по всей видимости, по всем текущим тейдам с учетом свопов и комиссий.

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