Trailing Stop без ордеров

 
Здравствуйте, есть идея написать функцию трэйлинг стопа, только без ордеров, зачем его двигать через дц, когда можно просто хранить в советнике.

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

написал бы сам, да пока познаний языка не хватает.

спасибо.
 
Тут есть человек который подобную штуку продает, за рекламу мне не платят поэтому воспользуйтесь поиском.
 
sergentum >>:
Здравствуйте, есть идея написать функцию трэйлинг стопа, только без ордеров, зачем его двигать через дц, когда можно просто хранить в советнике.

   


Напишу недорого.
 
Смотри здесь всё уже написано давно.
 
sergentum >>:
Здравствуйте, есть идея написать функцию трэйлинг стопа, только без ордеров, зачем его двигать через дц, когда можно просто хранить в советнике.
... ...

написал бы сам, да пока познаний языка не хватает.

спасибо.

Как выучишь mql и напишешь такое не забудь подарить.

 
мда уж. столько шуму и денег из-за несложной процедуры... придется своими силами.
 
zhuki >>:
Смотри здесь всё уже написано давно.


404
 
Должно работать, но не хочет, он хвост подтягивает, но почему то не закрывает вовремя сделку.
void VirtualTrailingStop() //------------------------------ Виртуальный Трэйлинг стоп ------------
  {
    for(int i=0;i<OrdersTotal();i++)   
    {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 
      
      
      if (OrderType()==OP_BUY)
      {
        if((Bid-OrderOpenPrice())>=(TS*Point) && (Bid-TS*Point)>TrailStop)
        {
          TrailStop=(Bid-Point*TS);
          return(0);
        }
        if (TrailStop==Bid)
        {
          while (OrdersTotal()>0)
          {
            OrderSelect(0,SELECT_BY_POS);
            if (OrderType()==OP_BUY)       OrderClose(OrderTicket(),Lot,Bid,3,Green);
            else if (OrderType()==OP_SELL) OrderClose(OrderTicket(),Lot,Ask,3,Red);
            TrailStop=0;
          }        
        }
      }
      
      
      
      
      if (OrderType()==OP_SELL)
      {
        if((OrderOpenPrice()-Ask)/Point>=(TS) && (Ask+TS*Point)<TrailStop)
        {
          TrailStop=(Ask+Point*TS);
          return(0);
        }
        if (TrailStop==Bid)
        {
          while (OrdersTotal()>0)
          {
            OrderSelect(0,SELECT_BY_POS);
            if (OrderType()==OP_BUY)       OrderClose(OrderTicket(),Lot,Bid,3,Green);
            else if (OrderType()==OP_SELL) OrderClose(OrderTicket(),Lot,Ask,3,Red);
            TrailStop=0;            
          }        
        }
      }
    }
  }
 


404
Запрашиваемая Вами страница не найдена

Попробуйте воспользоваться поиском или найти нужную Вам информацию в одном из разделов MQL4.com
 
sergentum >>:


404
Запрашиваемая Вами страница не найдена

Попробуйте воспользоваться поиском или найти нужную Вам информацию в одном из разделов MQL4.com

Нормально перехожу по ссылке, так что наговариваете.