Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Размести программу в Маркете - это 7 миллионов потенциальных клиентов
Evgeniy Myznikov
441
Evgeniy Myznikov 2012.10.07 20:07 

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

Код прилагаю, меня смущает правельно ли я раставил Bid и Ask, туплю, подскажите!

   //---- Манипуляции открытыми ордерами
   for (count = 0; count < OrTotalCount; count++)
   {
      //----
      if (OrType[count] == OP_BUY)
      {
         //---- Stop Loss
         if (((Bid - OrStopLoss[count]) / Point) >= INT_TRAILING_STOP)
         {
            OrStopLoss[count] = GetPrStopLoss(INT_STOPLOSS, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
         //---- Take Profit
         if (((OrTakeProfit[count] - Ask) / Point) <= INT_TRAILING_PROFIT)
         {
            OrTakeProfit[count] = GetPrTakeProf(INT_TAKEPROFIT, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
      }
      else if (OrType[count] == OP_SELL)
      {
         //---- Stop Loss
         if (((OrStopLoss[count] - Ask) / Point) >= INT_TRAILING_STOP)
         {
            OrStopLoss[count] = GetPrStopLoss(INT_STOPLOSS, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
         //---- Take Profit
         if (((Bid - OrTakeProfit[count]) / Point) <= INT_TRAILING_PROFIT)
         {
            OrTakeProfit[count] = GetPrTakeProf(INT_TAKEPROFIT, OrType[count]);
            OrderModify(OrTicket[count], OrOpenPrice[count], OrStopLoss[count], OrTakeProfit[count], 0);
         }
      }
   }
Alexander
2441
Alexander 2012.10.08 01:15  
А какой смысл тейк профит то двигать? Он ведь станет недосягаемым, следовательно бесполезным.
Evgeniy Myznikov
441
Evgeniy Myznikov 2012.10.08 12:05  
Roger:
А какой смысл тейк профит то двигать? Он ведь станет недосягаемым, следовательно бесполезным.


Двигать стоит в том случае, если вдруг пропанет интернет, или вырубят свет, вот тогда он станет возможно досягаемым!!!
Evgeniy Myznikov
441
Evgeniy Myznikov 2012.10.08 12:11  
Просто можно вместо 100 пунктов взять чуть больше, если тренд продолжиться!
Ihor Herasko
8470
Ihor Herasko 2012.10.08 14:13  
festival:

меня смущает правельно ли я раставил Bid и Ask, туплю, подскажите!

Неправильно. Для уже открытого Buy все цены должны отсчитываться от Bid, а для открытого Sell - от Ask.

При открытии рыночных ордеров, если требуется отсчитать некоторое количество пунктов от открытия ордера, то применяются цены Ask и Bid соответственно.

Evgeniy Myznikov
441
Evgeniy Myznikov 2012.10.08 14:28  
Scriptong:

Неправильно. Для уже открытого Buy все цены должны отсчитываться от Bid, а для открытого Sell - от Ask.

При открытии рыночных ордеров, если требуется отсчитать некоторое количество пунктов от открытия ордера, то применяются цены Ask и Bid соответственно.



Можете поправить в коде для наглядности?
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий