Не торгующий эксперт - сопровождение.

 

На форуме не нашел такого эксперта, чтобы он только сопровождал сделки, а не торговал. (если плохо искал - ткните, удалю тему)


Пока такие цели:

//---то что уже знакомо и реализуемо для меня

- обязательная модификация новых (ручных) ордеров (тейк и стоп)

- по желанию вход в безубыток  (вкл. выкл в настройках)

//---то что можно тут откапать и прикрутить

- скрипт на закрытие рыночных ордеров

- скрипт закрытия всех

- по желанию тралить  (вкл. выкл в настройках)

- "мультивалютность" следим за разными парами


Минусы будут такими:

- расчет лота для входа самомтоятельный

- отдельный скрипт на закрытия  ордеров


PS Это видимо моя очередная, так сказать, моральная подготовка к сливу очередного дэпо)) Эксперт должен хоть как-то этому помешать!))

 

можно написать...

 
xrust >>:

можно написать...

нужно !

 
если нужно, то можно :)
 
ALex2008, мой тебе совет по поводу последней твоей фразы: я тоже раньше думал, что все эти прибамбасы типа советников-помошников, кот. сами ставят стоп и тейк, переносят стоп в безубыток и т.д. помогут избежать сливания - нет, не помогут. Научись сам отсекать убытки по своей же стратегии, и ты перестанешь сливать.
 
xrust >>:
если нужно, то можно :)

:-)

 
Alex5757000 >>:
ALex2008, мой тебе совет по поводу последней твоей фразы: я тоже раньше думал, что все эти прибамбасы типа советников-помошников, кот. сами ставят стоп и тейк, переносят стоп в безубыток и т.д. помогут избежать сливания - нет, не помогут. Научись сам отсекать убытки по своей же стратегии, и ты перестанешь сливать.

Спасиб на добром слове))

 

https://www.mql5.com/ru/code/8807

Посмотри, это не в точности то, что ты ищешь, но похоже

 

Пока такой вариант - советник поддерживает только один открытый ордер!

Проверить пока не на чем)

//+------------------------------------------------------------------+
//|                                              20090614_Orders.mq4 |
//|                                                Ш. Александр В.   |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Ш. Александр В."
#property link      ""

extern int profit = 100;            //установка профита
extern int sloss = 10;              //установка стопа

extern int PowerBU = 1;             //Использование БУ: 1-Power, 0-Off
extern double BU_Enter = 12;        //отклонение цены после открытия для перехода в БУ
extern double BU_Stop = 1;          //0-чистый БУ, 1,2,3... - БУ в плюсе)

int LEV,SPR;
double p,sl,SLBU,BUPrise;
bool Modify,ModifyBU;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   BU_Enter *= Point;                              //сколько ждать пп до перехода в БУ
   BU_Stop *= Point;                               //на сколько пп закрывать БУ в плюс
   LEV =MarketInfo(Symbol(),MODE_STOPLEVEL);       //вычисление стоплевел
   SPR =MarketInfo(Symbol(),MODE_SPREAD);          //вычисление спреда
   LEV();                                          //проверяем стоп и профит на стоплевел...
   Modify=false;
   ModifyBU=false;   
   
//----
   return(0);
  }


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    
    if (OrderSelect(0,SELECT_BY_POS)==true)                          // Если есть открытый ордер
      {       
         if (Modify==false) ModifySL();
         if (PowerBU==1)                                             //Если использование БУ включено
            {        
               if (BU_Stop < (BU_Enter-(SPR*Point)-(LEV*Point)))     //проверка параметров БУ
                  {
                     if (ModifyBU==false) ModifySLinBU();
                  }
            }
      }     
    else 
      {
         Modify=false;
         ModifyBU=false;
         
         LEV =MarketInfo(Symbol(),MODE_STOPLEVEL);
         SPR =MarketInfo(Symbol(),MODE_SPREAD);
         Comment( "STOPLEVEL:  "+ LEV,"\n",
         "СПРЕД:  "+ SPR,"\n",
         "МИНИМАЛЬНЫЙ СТОП:  "+ (LEV+SPR));
    
         LEV();                                                      //проверяем стоп и профит на стоплевел...        
      }


//----
   return(0);
  }



  
//+------------------------------------------------------------------+
//| Проверка стоплевела и TP,SL
//+------------------------------------------------------------------+
void LEV()
   {
      LEV=MarketInfo(Symbol(),MODE_STOPLEVEL);
      
      if ((sloss-SPR)<= LEV) sl=LEV*Point;
      else sl=((sloss-SPR)*Point);
      
      if (profit<= LEV) p=LEV*Point;
      else p=profit*Point;
   }
   
//+------------------------------------------------------------------+
//| Модификация ордера на установку SL и TP                                                                 |
//+------------------------------------------------------------------+
void ModifySL()
   {
      RefreshRates();
      if (OrderType()==OP_BUY)
         {
            Modify = OrderModify(OrderTicket(),OrderOpenPrice(),Bid-sl, Ask+p,0,Red);
            if (Modify == false) Print("Ошибка изменения ордера #",OrderTicket(), " при попытке установить СТОП ",Bid - sl,". Текущая цена- ",Bid,", код ошибки ="+GetLastError());
            else
               {
                  BUPrise = OrderOpenPrice()+BU_Enter;         //цена для перехода в БУ
                  SLBU = OrderOpenPrice()+BU_Stop;             //БУ или БУ+
               }
         }
      else
         {
            Modify = OrderModify(OrderTicket(),OrderOpenPrice(),Ask+sl, Ask-p,0,Red);
            if (Modify == false) Print("Ошибка изменения ордера #",OrderTicket(), " при попытке установить СТОП ",Ask - sl,". Текущая цена- ",Ask,", код ошибки ="+GetLastError());
            else
               {
                  BUPrise = OrderOpenPrice()-BU_Enter;         //цена для перехода в БУ
                  SLBU = OrderOpenPrice()-BU_Stop;             //БУ или БУ+
               }
         }
   }

//+------------------------------------------------------------------+
//| Модификация ордера на установку БУ                                                                 |
//+------------------------------------------------------------------+
void ModifySLinBU()   //перевод позы в БУ при профите равном или большем BU
   {
      RefreshRates();
      if ((OrderType()==OP_BUY)&& (Bid >= BUPrise))
         {
            ModifyBU = OrderModify(OrderTicket(),OrderOpenPrice(),SLBU,OrderTakeProfit(),0,Red);
            if (ModifyBU == false) Print("Ошибка изменения ордера #",OrderTicket(), " при попытке установить БУ ",SLBU," Текущая цена- ",Bid," код ошибки ="+GetLastError());
         } 
      if ((OrderType()==OP_SELL)&& (Ask <= BUPrise))
         { 
            ModifyBU = OrderModify(OrderTicket(),OrderOpenPrice(),SLBU,OrderTakeProfit(),0,Red);
            if (ModifyBU == false) Print("Ошибка изменения ордера #",OrderTicket(), "при попытке установить  БУ ",SLBU," Текущая цена- ",Ask," код ошибки ="+GetLastError());
         }
   }
   
   
   
//+------------------------------------------------------------------+


//----
   return(0);


 
ALex2008 писал(а) >>

Пока такие цели:

Всё это есть в AutoGraf 4.
 
Alex5757000 >>:
ALex2008, мой тебе совет по поводу последней твоей фразы: я тоже раньше думал, что все эти прибамбасы типа советников-помошников, кот. сами ставят стоп и тейк, переносят стоп в безубыток и т.д. помогут избежать сливания - нет, не помогут. Научись сам отсекать убытки по своей же стратегии, и ты перестанешь сливать.

Может быть человек хочет получить полностью автоматический помощник сливатора?


Чтобы поставил его на большой реал жирного инвестора и спокойно ушел курить бамбук. Приходишь, а там уже готовый маржинколл. Все на автомате, никаких телодвижений и шевелений извилинами. Очень удобно и главное модно.


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