Fechar e reverter pedidos - página 4

 

Compra e venda com corretores de 5 dígitos

Os scripts básicos de compra e venda têm um problema com corretores de cinco dígitos porque a variável MQL4 'Points' parece ser ticks ao invés de pips e, portanto, o SL e TP são apenas um décimo do que se espera. Ok se não for elegante colocar 400 por 40 etc. se você usar apenas cinco dígitos mas JPY e outros gráficos que eu uso não, embora eu esteja feliz em usar o mesmo SL e TP, então eu adicionei a verificação de cinco dígitos aos originais com ajuste automático.

Arquivos anexados:
 
GeoffGreaves:

Compra e venda com corretores de 5 dígitos

Os scripts básicos de compra e venda têm um problema com corretores de cinco dígitos porque a variável MQL4 'Points' parece ser ticks ao invés de pips e, portanto, o SL e TP são apenas um décimo do que se espera. Está bem se não for elegante colocar 400 por 40 etc. se você usar apenas cinco dígitos mas JPY e outros gráficos que eu uso não, embora eu esteja feliz em usar o mesmo SL e TP então eu adicionei a verificação de cinco dígitos aos originais com ajuste automático.


os caras solicitaram um roteiro de hedging que abre posições opostas (mesmo tamanho) sem fechar as ordens abertas em andamento. Ideal para negociação mgmt (tempo de caos ou notícias chegando em hedge bloqueiam os lucros/perdas de suas posições) desfrute deste anexo... nota: o hedge script deve ser anexado ao par que está sendo negociado precisando de hedge
Arquivos anexados:
 
GoodBoyFX:

os caras solicitaram um roteiro de hedging que abre posições opostas (mesmo tamanho) sem fechar as ordens abertas em andamento. Ideal para negociação mgmt (tempo de caos ou notícias chegando em hedge bloqueiam os lucros/perdas de suas posições) desfrute deste anexo... nota: o hedge script deve ser anexado ao par que está sendo negociado precisando de hedge

Obrigado por fazer um ótimo Hedge_Script

Você pode adicioná-lo a este acreção Para este EA

extern int MagicNumber=10001;
extern double Lots =0.1;
extern double StopLoss=50;
extern double TakeProfit=50;
extern int TrailingStop=50;
extern int Slippage=3;
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()
{
  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point*10;
  
  double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 ) 
  {
     int result=0;
     if((iFractals(NULL,0,MODE_LOWER,0)<iBullsPower(NULL,0,13,PRICE_HIGH,0))&&(iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,0)>iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,0))) // Here is your open buy rule
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Blue);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);
     }
     if((iFractals(NULL,0,MODE_LOWER,0)<iBearsPower(NULL,0,13,PRICE_LOW,0))&&(iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,0)<iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,0))) // Here is your open Sell rule
     {
        result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);
     }
  }
  
  for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
         OrderSymbol()==Symbol() &&
         OrderMagicNumber()==MagicNumber 
         )  
        {
         if(OrderType()==OP_BUY)  
           {
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else 
           {
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
}

int TotalOrdersCount()
{
  int result=0;
  for(int i=0;i<OrdersTotal();i++)
  {
     OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);
     if (OrderMagicNumber()==MagicNumber) result++;

   }
  return (result);
}



 
eli:

s vezes há a necessidade de reverter o comércio que você abre. O roteiro anexo fechará todas as ordens abertas que já estão em execução e abrirá uma nova ordem com o mesmo tamanho de lote. O scrip fechará e reverterá somente as ordens que o símbolo() é igual àquele ao qual o script está anexado.

Obrigado por seu excelente trabalho.

Por favor, faça um script que irá fechar e reverter todas as ordens abertas em diferentes pares em minha plataforma.

Eu perdi o meu quando meu sistema falhou?

 
Alguém pode agradar a alguém para ajudar e dizer como funcionam estes roteiros, eles funcionam apenas com teclas de atalho?, e eu nunca tive suxcidet para correr qualquer ea no meu mt4,, eles me mostram apenas a cara triste na tabela, haw posso fazer para trabalhá-los.Obrigado.