Ha bisogno di un piccolo ritocco - pagina 2

 
Perché non ci sono più ordini limite ma solo ordini a mercato?
 
Сергей Дыбленко:
Perché non ci sono più ordini limite ma solo ordini a mercato?

non c'erano limiti, sembra

 
Сергей Дыбленко:
Perché non ci sono ordini limite ma solo ordini a mercato?

Non li ho guardati - penserò a qualcosa.

 
C'è anche un glitch ....... quando si preme il pulsante CHIUDI ORDINE TUTTI i pulsanti vanno via
 
Сергей Дыбленко:
Perché gli ordini limite non vengono più piazzati, solo gli ordini a mercato?

l'autore del codice non ha ordini limite - gli ordini limite devono essere gestiti diversamente, è necessario impostare la distanza

 
Alexsandr San:

l'autore del codice non ha ordini limite - gli ordini limite devono essere impostati diversamente, è necessario impostare la distanza

hmm........ prima della modifica, i limiti erano in qualche modo impostati! questa è la cosa interessante! Ecco la sua corrente nativa Ho aggiunto limitkits....... e funzionano, ma a causa del difetto dell'autore il consigliere precipita tutto!


//+------------------------------------------------------------------+
//|                                             InstantExecution.mq4 |
//|                                 Copyright 2015, @traderconfident |
//|                            https://confident-trader.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, @traderconfident"
#property link      "https://confident-trader.blogspot.com"
#property version   "1.0"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
extern string _Orders_=" --- Set Order ---";
extern double Lots=1;
extern int StopLoss=60;
extern int TakeProfit=20;
extern int TrailingStart= 22;
extern int TrailingStop = 31;
extern int TrailingStep = 25;
extern int MaxOrderAtOnceTime=1;
extern int Slippage=0;
extern int Magic=90910;

double _sl,_tp,_pip;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   _pip=Point;
   if(Digits==3 || Digits==5) _pip=10*Point;
//---
   ObjectCreate(0,"CloseButton",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"CloseButton",OBJPROP_XDISTANCE,10);
   ObjectSetInteger(0,"CloseButton",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"CloseButton",OBJPROP_XSIZE,100);
   ObjectSetInteger(0,"CloseButton",OBJPROP_YSIZE,25);

   ObjectSetString(0,"CloseButton",OBJPROP_TEXT,"Close Orders");

   ObjectSetInteger(0,"CloseButton",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"CloseButton",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(0,"CloseButton",OBJPROP_BORDER_COLOR,Red);
   ObjectSetInteger(0,"CloseButton",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"CloseButton",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"CloseButton",OBJPROP_STATE,false);
   ObjectSetInteger(0,"CloseButton",OBJPROP_FONTSIZE,12);

//Exit
   ObjectCreate(0,"Exit",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"Exit",OBJPROP_XDISTANCE,120);
   ObjectSetInteger(0,"Exit",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"Exit",OBJPROP_XSIZE,80);
   ObjectSetInteger(0,"Exit",OBJPROP_YSIZE,25);

   ObjectSetString(0,"Exit",OBJPROP_TEXT,"Exit");

   ObjectSetInteger(0,"Exit",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"Exit",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(0,"Exit",OBJPROP_BORDER_COLOR,Green);
   ObjectSetInteger(0,"Exit",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"Exit",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"Exit",OBJPROP_STATE,false);
   ObjectSetInteger(0,"Exit",OBJPROP_FONTSIZE,12);

//Buy
   ObjectCreate(0,"Buy",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"Buy",OBJPROP_XDISTANCE,210);
   ObjectSetInteger(0,"Buy",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"Buy",OBJPROP_XSIZE,50);
   ObjectSetInteger(0,"Buy",OBJPROP_YSIZE,25);

   ObjectSetString(0,"Buy",OBJPROP_TEXT,"Buy");

   ObjectSetInteger(0,"Buy",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"Buy",OBJPROP_BGCOLOR,Blue);
   ObjectSetInteger(0,"Buy",OBJPROP_BORDER_COLOR,Blue);
   ObjectSetInteger(0,"Buy",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"Buy",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"Buy",OBJPROP_STATE,false);
   ObjectSetInteger(0,"Buy",OBJPROP_FONTSIZE,12);

//Sell
   ObjectCreate(0,"Sell",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"Sell",OBJPROP_XDISTANCE,270);
   ObjectSetInteger(0,"Sell",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"Sell",OBJPROP_XSIZE,50);
   ObjectSetInteger(0,"Sell",OBJPROP_YSIZE,25);

   ObjectSetString(0,"Sell",OBJPROP_TEXT,"Sell");

   ObjectSetInteger(0,"Sell",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"Sell",OBJPROP_BGCOLOR,Gray);
   ObjectSetInteger(0,"Sell",OBJPROP_BORDER_COLOR,Gray);
   ObjectSetInteger(0,"Sell",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"Sell",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"Sell",OBJPROP_STATE,false);
   ObjectSetInteger(0,"Sell",OBJPROP_FONTSIZE,12);

//Closed at Profit
   ObjectCreate(0,"CloseAtProfit",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_XDISTANCE,330);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_XSIZE,100);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_YSIZE,25);

   ObjectSetString(0,"CloseAtProfit",OBJPROP_TEXT,"Close Profit");

   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BORDER_COLOR,Green);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_STATE,false);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_FONTSIZE,12);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
   if(TrailingStart>0) Trailing();

   return(0);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   int _ticket=0;
   if(sparam=="CloseButton") // Close button has been pressed
     {
      int total=OrdersTotal();
      int i = 0;
      for(i = total; i >=0; i--)
        {
         if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol())
           {
            //OrderSelect(i,SELECT_BY_POS);
            if(OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
              {
               _ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),5);
               _ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),5);
              }
           }
        }
      if(_ticket>0)
        {
         ObjectSetInteger(0,"CloseButton",OBJPROP_STATE,false);
         ObjectsDeleteAll();
         ExpertRemove();
        }
     }
   if(sparam=="Exit")
     {
      ObjectSetInteger(0,"Exit",OBJPROP_STATE,false);
      ObjectsDeleteAll();
      ExpertRemove();
     }
   if(sparam=="Buy")
     {
      ObjectSetInteger(0,"Buy",OBJPROP_STATE,false);
      _ticket=Order("BUY");
     }
   if(sparam=="Sell")
     {
      ObjectSetInteger(0,"Sell",OBJPROP_STATE,false);
      _ticket=Order("SELL");
     }
   if(sparam=="CloseAtProfit")
     {
      ObjectSetInteger(0,"CloseAtProfit",OBJPROP_STATE,false);
      CloseAtProfit();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   int ticket=0;
   for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      ticket=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderType()==OP_BUY)
           {
            if((TakeProfit>0 && Bid-OrderOpenPrice()>=TakeProfit*_pip) || (StopLoss>0 && OrderOpenPrice()-Ask>StopLoss*_pip))
              {
               ticket=OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet);
              }
            if(TrailingStart>0)
              {
               if(OrderStopLoss()==0)
                 {
                  if(Bid-OrderOpenPrice()>TrailingStart*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                    }else{
                  if(Bid-OrderStopLoss()>Bid-TrailingStep*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                 }
              }
           }
         if(OrderType()==OP_SELL)
           {
            if((TakeProfit>0 && OrderOpenPrice()-Ask>=TakeProfit*_pip) || (StopLoss>0 && Bid-OrderOpenPrice()>StopLoss*_pip))
              {
               ticket=OrderClose(OrderTicket(),OrderLots(),Ask,0,Violet);
              }
            if(TrailingStart>0)
              {
               if(OrderStopLoss()==0)
                 {
                  if(OrderOpenPrice()-Ask>TrailingStart*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                    }else{
                  if(OrderStopLoss()>Ask+TrailingStep*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAtProfit()
  {
   int ticket=0;
   RefreshRates();
   for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      ticket=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && Bid>OrderOpenPrice())
        {
         ticket=OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet);
        }
      if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderOpenPrice()>Ask)
        {
         ticket=OrderClose(OrderTicket(),OrderLots(),Ask,0,Violet);
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Order(string _Order)
  {
   int i,ticket=0;
   _sl = 0.0;
   _tp = 0.0;
   if(_Order=="BUY")
     {
      for(i=0; i<MaxOrderAtOnceTime; i++)
        {
         ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,Slippage,_sl,_tp,"",Magic,0,Blue);
        }
        }else {
      for(i=0; i<MaxOrderAtOnceTime; i++)
        {
         ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid,Slippage,_sl,_tp,"",Magic,0,Red);
        }
     }

   return(ticket);
  }
//+------------------------------------------------------------------+
 

Provate in questo modo.

Solo che qui non ci sono limiti.

//+------------------------------------------------------------------+
//|                                             InstantExecution.mq4 |
//|                                 Copyright 2015, @traderconfident |
//|                            https://confident-trader.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, @traderconfident"
#property link      "https://confident-trader.blogspot.com"
#property version   "1.0"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
extern string _Orders_=" --- Set Order ---";
extern double Lots=0.05;
extern int StopLoss=0;
extern int TakeProfit=70;
extern int TrailingStart= 20;
extern int TrailingStop = 10;
extern int TrailingStep = 5;
extern int MaxOrderAtOnceTime=1;
extern int Slippage=3;
extern int Magic=90910;

double _sl,_tp,_pip;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   _pip=Point;
   if(Digits==3 || Digits==5)
      _pip=10*Point;
//---
   ObjectCreate(0,"CloseButton",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"CloseButton",OBJPROP_XDISTANCE,10);
   ObjectSetInteger(0,"CloseButton",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"CloseButton",OBJPROP_XSIZE,100);
   ObjectSetInteger(0,"CloseButton",OBJPROP_YSIZE,25);

   ObjectSetString(0,"CloseButton",OBJPROP_TEXT,"Close Orders");

   ObjectSetInteger(0,"CloseButton",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"CloseButton",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(0,"CloseButton",OBJPROP_BORDER_COLOR,Red);
   ObjectSetInteger(0,"CloseButton",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"CloseButton",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"CloseButton",OBJPROP_STATE,false);
   ObjectSetInteger(0,"CloseButton",OBJPROP_FONTSIZE,12);

//Exit
   ObjectCreate(0,"Exit",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"Exit",OBJPROP_XDISTANCE,120);
   ObjectSetInteger(0,"Exit",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"Exit",OBJPROP_XSIZE,80);
   ObjectSetInteger(0,"Exit",OBJPROP_YSIZE,25);

   ObjectSetString(0,"Exit",OBJPROP_TEXT,"Exit");

   ObjectSetInteger(0,"Exit",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"Exit",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(0,"Exit",OBJPROP_BORDER_COLOR,Green);
   ObjectSetInteger(0,"Exit",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"Exit",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"Exit",OBJPROP_STATE,false);
   ObjectSetInteger(0,"Exit",OBJPROP_FONTSIZE,12);

//Buy
   ObjectCreate(0,"Buy",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"Buy",OBJPROP_XDISTANCE,210);
   ObjectSetInteger(0,"Buy",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"Buy",OBJPROP_XSIZE,50);
   ObjectSetInteger(0,"Buy",OBJPROP_YSIZE,25);

   ObjectSetString(0,"Buy",OBJPROP_TEXT,"Buy");

   ObjectSetInteger(0,"Buy",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"Buy",OBJPROP_BGCOLOR,Blue);
   ObjectSetInteger(0,"Buy",OBJPROP_BORDER_COLOR,Blue);
   ObjectSetInteger(0,"Buy",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"Buy",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"Buy",OBJPROP_STATE,false);
   ObjectSetInteger(0,"Buy",OBJPROP_FONTSIZE,12);

//Sell
   ObjectCreate(0,"Sell",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"Sell",OBJPROP_XDISTANCE,270);
   ObjectSetInteger(0,"Sell",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"Sell",OBJPROP_XSIZE,50);
   ObjectSetInteger(0,"Sell",OBJPROP_YSIZE,25);

   ObjectSetString(0,"Sell",OBJPROP_TEXT,"Sell");

   ObjectSetInteger(0,"Sell",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"Sell",OBJPROP_BGCOLOR,Gray);
   ObjectSetInteger(0,"Sell",OBJPROP_BORDER_COLOR,Gray);
   ObjectSetInteger(0,"Sell",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"Sell",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"Sell",OBJPROP_STATE,false);
   ObjectSetInteger(0,"Sell",OBJPROP_FONTSIZE,12);

//Closed at Profit
   ObjectCreate(0,"CloseAtProfit",OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_XDISTANCE,330);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_YDISTANCE,15);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_XSIZE,100);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_YSIZE,25);

   ObjectSetString(0,"CloseAtProfit",OBJPROP_TEXT,"Close Profit");

   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_COLOR,White);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BORDER_COLOR,Green);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BORDER_TYPE,BORDER_FLAT);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_STATE,false);
   ObjectSetInteger(0,"CloseAtProfit",OBJPROP_FONTSIZE,12);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
   if(TrailingStart>0)
      Trailing();
   OnChartEvent1();
   return(0);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent1()
  {
   int    ticket;
   if(ObjectGetInteger(0,"CloseAtProfit",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"CloseAtProfit",OBJPROP_STATE,0);
      CloseAtProfit();
     }
   if(ObjectGetInteger(0,"CloseButton",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"CloseButton",OBJPROP_STATE,0);
      CloseALL();
     }
   if(ObjectGetInteger(0,"Exit",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"Exit",OBJPROP_STATE,0);
      ObjectsDeleteAll();
      ExpertRemove();
     }
   if(ObjectGetInteger(0,"Buy",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"Buy",OBJPROP_STATE,0);
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("BUY order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening BUY order : ",GetLastError());
         return;
        }
     }
   if(ObjectGetInteger(0,"Sell",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"Sell",OBJPROP_STATE,0);
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("SELL order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening SELL order : ",GetLastError());
        }
      return;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   int ticket=0;
   for(int cnt=0; cnt<OrdersTotal(); cnt++)
     {
      ticket=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderType()==OP_BUY)
           {
            if((TakeProfit>0 && Bid-OrderOpenPrice()>=TakeProfit*_pip) || (StopLoss>0 && OrderOpenPrice()-Ask>StopLoss*_pip))
              {
               ticket=OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet);
              }
            if(TrailingStart>0)
              {
               if(OrderStopLoss()==0)
                 {
                  if(Bid-OrderOpenPrice()>TrailingStart*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                 }
               else
                 {
                  if(Bid-OrderStopLoss()>Bid-TrailingStep*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                 }
              }
           }
         if(OrderType()==OP_SELL)
           {
            if((TakeProfit>0 && OrderOpenPrice()-Ask>=TakeProfit*_pip) || (StopLoss>0 && Bid-OrderOpenPrice()>StopLoss*_pip))
              {
               ticket=OrderClose(OrderTicket(),OrderLots(),Ask,0,Violet);
              }
            if(TrailingStart>0)
              {
               if(OrderStopLoss()==0)
                 {
                  if(OrderOpenPrice()-Ask>TrailingStart*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                 }
               else
                 {
                  if(OrderStopLoss()>Ask+TrailingStep*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(),0,Gray);
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAtProfit()
  {
   int ticket=0;
   RefreshRates();
   for(int cnt=0; cnt<OrdersTotal(); cnt++)
     {
      ticket=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && Bid>OrderOpenPrice())
        {
         ticket=OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet);
        }
      if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderOpenPrice()>Ask)
        {
         ticket=OrderClose(OrderTicket(),OrderLots(),Ask,0,Violet);
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseALL()
  {
   int Close_ticket=0;
   int total=OrdersTotal();
   int i = 0;
   for(i = total; i >=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol())
        {
         //OrderSelect(i,SELECT_BY_POS);
         if(OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
           {
            Close_ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),5);
            Close_ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),5);
           }
        }
     }
  }
//+------------------------------------------------------------------+
 
Ora i pulsanti non spariscono!
 
Non ho il cervello (che non ho) per capire cosa diavolo c'è di sbagliato nelle limousine!
 
Сергей Дыбленко:
Ora va bene, i pulsanti non scompaiono!

Penso che ci sia un inizio. altri pulsanti possono essere aggiunti per i limiti, ma è necessario guardare le funzioni in kodobase