Ordres de fermeture et d'inversion - page 4

 

Achat et vente avec des courtiers à 5 chiffres

Les scripts d'achat et de vente de base ont un problème avec les courtiers à cinq chiffres car la variable MQL4 'Points' semble être des ticks plutôt que des pips et donc le SL et le TP ne sont qu'un dixième de ce qui est attendu. Il n'y a pas de problème à mettre 400 pour 40 etc. si vous n'utilisez que cinq chiffres, mais JPY et d'autres graphiques que j'utilise ne le font pas, même si je suis heureux d'utiliser les mêmes SL et TP. J'ai donc ajouté la vérification des cinq chiffres aux originaux avec un ajustement automatique.

Dossiers :
 
GeoffGreaves:

Achat et vente avec des courtiers à 5 chiffres

Les scripts d'achat et de vente de base ont un problème avec les courtiers à cinq chiffres car la variable MQL4 'Points' semble être des ticks plutôt que des pips et donc le SL et le TP ne sont qu'un dixième de ce qui est attendu. Il n'y a pas de problème à mettre 400 pour 40 etc. si vous n'utilisez que cinq chiffres, mais JPY et d'autres graphiques que j'utilise ne le font pas, même si je suis heureux d'utiliser les mêmes SL et TP. J'ai donc ajouté la vérification des cinq chiffres aux originaux avec un ajustement automatique.


Les gars ont demandé un script de couverture qui ouvre des positions opposées (même taille) sans fermer les ordres ouverts actuels. Idéal pour la gestion du commerce (temps de chaos ou des nouvelles à venir dans la couverture de verrouiller vos positions de profit / perte) profiter de cette pièce jointe ... note : script de couverture est d'être attaché la paire qui est négocié besoin de couverture
Dossiers :
 
GoodBoyFX:

les gars ont demandé un script de couverture qui ouvre des positions opposées (même taille) sans fermer les ordres ouverts actuels. Idéal pour la gestion du commerce (temps de chaos ou des nouvelles à venir dans la couverture de verrouiller vos positions de profit / perte) profiter de cette pièce jointe ... note : script de couverture est d'être attaché la paire qui est négocié nécessitant une couverture.

Merci pour votre excellent travail Hedge_Script

Pouvez-vous l'ajouter à cette accrétion Pour cet 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:

Parfois, il est nécessaire d'inverser la transaction que vous avez ouverte. Le script ci-joint fermera tous les ordres ouverts qui sont déjà en cours et ouvrira un nouvel ordre avec une taille de lot égale. Le script fermera et inversera seulement les ordres dont le symbole() est égal à celui auquel le script est attaché.

Merci pour votre excellent travail.

S'il vous plaît, pourriez-vous faire un script qui fermera et inversera toutes les transactions ouvertes dans différentes paires dans ma plate-forme.

J'ai perdu les miens quand mon système a planté ?

 
Je n'ai jamais eu l'occasion de faire fonctionner un ea sur mon mt4, ils ne me montrent que le visage triste sur le graphique, comment puis-je les faire fonctionner ?