Precisa de um pequeno ajuste - página 2

 
Por que não há mais ordens limitadas, mas apenas ordens de mercado?
 
Сергей Дыбленко:
Por que não há mais ordens limitadas, mas apenas ordens de mercado?

não existiam limites, ao que parece

 
Сергей Дыбленко:
Por que não há ordens limitadas, mas apenas ordens de mercado?

Eu não olhei para eles - vou pensar em algo.

 
Há também uma falha ....... quando você pressiona o botão CLOSE ORDER (ENVIO FECHADO) TODOS os botões desaparecem
 
Сергей Дыбленко:
Por que as ordens limitadas não são mais colocadas, apenas ordens de mercado?

o autor do código não tem ordens de limite - as ordens de limite precisam ser tratadas de forma diferente, você precisa definir a distância

 
Alexsandr San:

o autor do código não tem ordens de limite - as ordens de limite precisam ser definidas de forma diferente, você precisa definir a distância

hmm........ antes da modificação, os limites foram de alguma forma estabelecidos! isso é o interessante! Aqui está sua corrente nativa Eu adicionei limitkits....... e eles funcionam, mas por causa do conselheiro de falhas do autor despenca tudo!


//+------------------------------------------------------------------+
//|                                             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);
  }
//+------------------------------------------------------------------+
 

Tente desta forma.

Só que aqui não há limites.

//+------------------------------------------------------------------+
//|                                             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);
           }
        }
     }
  }
//+------------------------------------------------------------------+
 
Agora os botões não desaparecem!
 
Eu não tenho o cérebro (que eu não tenho) para descobrir o que diabos está errado com as limusines!
 
Сергей Дыбленко:
Agora está tudo bem que os botões não desapareçam!

Acho que há um começo. mais botões podem ser adicionados para limites, mas você precisa olhar para as funções no kodobase

Razão: