Управление стоп-лоссом при помощи мышки - страница 2

 
granit77:
Вы спешите отвечать, не заглянув в код. Нет никаких специальных средств языка для визуального трейдинга, все ходы придумывает программист (изучив предварительно документацию).
Например, один из основных приемов - создать горизонтальную линию, отслеживать ее расстояние от стопа и модифицировать ордер при изменении этого расстояния.

да да да

   for(int i=OrdersTotal()-1;i>=0;i--)
   {
      if(!OrderSelect(i,SELECT_BY_POS))continue;
         if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol_)
         {
            int cmd=OrderType();
            if(cmd==OP_BUY)
            {
               TotalBuy++;
               if(ObjectFind("OP_BUY_SL")>-1)
               {
                  if(MathAbs(ObjectGet("OP_BUY_SL",OBJPROP_PRICE1)-OrderStopLoss())>Point)
                  {
                     if(MathAbs(OrderOpenPrice()-ObjectGet("OP_BUY_SL",OBJPROP_PRICE1))>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
                        OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(ObjectGet("OP_BUY_SL",OBJPROP_PRICE1),Digits),OrderTakeProfit(),0);
                     else
                     {
                        Alert("Невозможно установить стоп-лосс на предлагаемый уровень");
                        ObjectSet("OP_BUY_SL",OBJPROP_PRICE1,OrderStopLoss());
                     }
                  }
               }
               if(ObjectFind("OP_BUY_TP")>-1)
               {
                  if(MathAbs(ObjectGet("OP_BUY_TP",OBJPROP_PRICE1)-OrderTakeProfit())>Point)
                  {
                     if(MathAbs(ObjectGet("OP_BUY_TP",OBJPROP_PRICE1)-OrderOpenPrice())>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
                        OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(ObjectGet("OP_BUY_TP",OBJPROP_PRICE1),Digits),0);
                     else
                     {
                        Alert("Невозможно установить тейк-профит на предлагаемый уровень");
                        ObjectSet("OP_BUY_TP",OBJPROP_PRICE1,OrderTakeProfit());
                     }
                  }
               }
            }
            if(cmd==OP_SELL)
            {
               TotalSell++;
               if(ObjectFind("OP_SELL_SL")>-1)
               {
                  if(MathAbs(ObjectGet("OP_SELL_SL",OBJPROP_PRICE1)-OrderStopLoss())>Point)
                  {
                     if(MathAbs(ObjectGet("OP_SELL_SL",OBJPROP_PRICE1)-OrderOpenPrice())>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
                        OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(ObjectGet("OP_SELL_SL",OBJPROP_PRICE1),Digits),OrderTakeProfit(),0);
                     else
                     {
                        Alert("Невозможно установить стоп-лосс на предлагаемый уровень");
                        ObjectSet("OP_SELL_SL",OBJPROP_PRICE1,OrderStopLoss());
                     }
                  }
               }
               if(ObjectFind("OP_SELL_TP")>-1)
               {
                  if(MathAbs(ObjectGet("OP_SELL_TP",OBJPROP_PRICE1)-OrderTakeProfit())>Point)
                  {
                     if(MathAbs(OrderOpenPrice()-ObjectGet("OP_SELL_TP",OBJPROP_PRICE1))>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
                        OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(ObjectGet("OP_SELL_TP",OBJPROP_PRICE1),Digits),0);
                     else
                     {
                        Alert("Невозможно установить тейк-профит на предлагаемый уровень");
                        ObjectSet("OP_SELL_TP",OBJPROP_PRICE1,OrderTakeProfit());
                     }
                  }
               }
            }
         }
   }
[Удален]  
xrust:

Любые команды при помощи мыши : https://www.mql5.com/ru/code/10344

наборчик скриптов для этого : https://www.mql5.com/ru/code/9098

и обрезок старого советника для визуальной торговли - для беспокоящихся : так как мне лень выкладывать все это добро в инклюдах, поэтому компил -декомпил и получите все в одном флаконе

типа видео как : https://www.youtube.com/watch?v=No-zsDN1M30



Пока нет времени изучить, но добирусь обязательно, спасибо!
[Удален]  
granit77:
Вы спешите отвечать, не заглянув в код. Нет никаких специальных средств языка для визуального трейдинга, все ходы придумывает программист (изучив предварительно документацию).
Например, один из основных приемов - создать горизонтальную линию, отслеживать ее расстояние от стопа и модифицировать ордер при изменении этого расстояния.
Трэйлинг стоп запрограммировал самостоятельно, хочу ещё добавить управление мышкой, но тоже самостоятельно, а для этого и нужна документация...
 
DR12CED:
Трэйлинг стоп запрограммировал самостоятельно, хочу ещё добавить управление мышкой, но тоже самостоятельно, а для этого и нужна документация...
Так за чем дело стало? В Греции все есть! Документация.
[Удален]  
granit77:
Так за чем дело стало? В Греции все есть! Документация.
Издеваетесь...
 
DR12CED:
Издеваетесь...
Даже и не думал. Там есть все операторы, применяемые в приведенных выше советниках и нужные Вам.
 
Проверено, хорошо работает: https://www.mql5.com/ru/code
[Удален]  
chepikds:
Проверено, хорошо работает: https://www.mql5.com/ru/code
А можно подробнее - как работает? Например, красная сплошная располагается на уровне стопа и при её перетаскивании за ней будет перемещаться стоп? И ещё: у меня реализован свой эксперт - трэйлинг стоп. Если я открываю два окна для одного таймфрейма и к каждому прикрепляю по эксперту - они не будут конфликтовать?
 
Скорей всего будут. Мой не будет :) . Раз уж пошла такая тема ссылками кидаться :) .
[Удален]  
granit77:
Вы спешите отвечать, не заглянув в код. Нет никаких специальных средств языка для визуального трейдинга, все ходы придумывает программист (изучив предварительно документацию).
Например, один из основных приемов - создать горизонтальную линию, отслеживать ее расстояние от стопа и модифицировать ордер при изменении этого расстояния.
Да, чуток заглянул, отсюда - вопрос granit77 и всем остальным, кому не поф... Значит среда MQL4 не воспринимает линию стоп-лосса в главном окне как графический объект?