Je rédigerai un conseiller gratuitement - page 169

 

Antonio Simon Del Vecchio Я только что приготовила его и не успела протестировать.

Tout fonctionne ! Merci ! Mais, je n'ai pas d'expérience dans le travail avec de tels outils, donc soudainement, après vérification, je me suis rendu compte que j'ai fait une erreur et que je n'ai pas spécifié une demande dans les TdR : s'il vous plaît, corrigez-la pour que l'EA ferme seulement la paire de devises (un ou plusieurs ordres) sur le graphique duquel il est lancé.
 
torrr #:
Tout fonctionne. Merci. Mais je n'ai aucune expérience de ce genre d'outils, et soudain, après l'avoir vérifié, je me suis rendu compte que j'avais fait une erreur et que je n'avais pas spécifié de demande dans les TdR : veuillez la corriger pour que l'EA ne ferme que la paire de devises (un ou plusieurs ordres) sur le graphique duquel il est lancé.
Il suffit d'ajouter un Magic. Salutations.
//+------------------------------------------------------------------+
//|                                                     Practica.mq4 |
//|                        Copyright 2022, Antonio Simón Del Vecchio |
//|                    https://www.mql5.com/es/users/simondelvecchio |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, Antonio Simón Del Vecchio"
#property link      "https://www.mql5.com/es/users/simondelvecchio"
#property version   "1.00"
#property strict


input int Magic = 12345;
input int Periodo = 50;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(OrdersTotal() > 0 && CruceMediaPrecio())
     {
      Cerrar();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Cerrar()
  {
   double Precio = 0;
   for(int i = OrdersTotal() - 1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS))
        {
         if(OrderType() == OP_BUY && OrderMagicNumber()== Magic)
            Precio = Bid;
         else
            Precio = Ask;
         if(!OrderClose(OrderTicket(), OrderLots(), Precio, 3, clrNONE))
            Print("Error al cerrar la órden: ", GetLastError());
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool CruceMediaPrecio()
  {
   double Media = iMA(Symbol(), PERIOD_CURRENT, Periodo, 0, MODE_SMA, PRICE_CLOSE, 0);
   double Max = iHigh(Symbol(), PERIOD_CURRENT, 0);
   double Min = iLow(Symbol(), PERIOD_CURRENT, 0);
   if(Max > Media && Min < Media)
     {
      return(true);
     }
   return(false);
  }
//+------------------------------------------------------------------+
 
Antonio Simon Del Vecchio #:

Merci encore ! Seulement je ne comprends pas où obtenir la magik, car toutes les transactions ont été ouvertes manuellement (peut-être que des commentaires lors de l'ouverture des ordres feront l'affaire ?)

P.S. J'ai trouvé un script qui ouvre les commandes manuellement avec la possibilité de définir un magik. Je pense que ça va marcher comme ça.
 
torrr #:

Merci encore. Je ne comprends pas d'où vient la magik, car toutes les transactions ont été ouvertes manuellement (peut-être que les commentaires lors de l'ouverture des ordres aideront ?).

P.S. J'ai trouvé un script qui ouvre les commandes manuellement avec la possibilité de définir un magik. Je pense que ça va marcher comme ça.

Je pensais que les positions étaient ouvertes par un autre EA. Si vous les ouvrez manuellement, celui-ci vous conviendra.

//+------------------------------------------------------------------+
//|                                                     Practica.mq4 |
//|                        Copyright 2022, Antonio Simón Del Vecchio |
//|                    https://www.mql5.com/es/users/simondelvecchio |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, Antonio Simón Del Vecchio"
#property link      "https://www.mql5.com/es/users/simondelvecchio"
#property version   "1.00"
#property strict

input int Periodo = 50;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(OrdersTotal() > 0 && CruceMediaPrecio())
     {
      Cerrar();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Cerrar()
  {
   double Precio = 0;
   for(int i = OrdersTotal() - 1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS))
        {
         if(OrderType() == OP_BUY && OrderSymbol() == Symbol())
            Precio = Bid;
         else
            Precio = Ask;
         if(!OrderClose(OrderTicket(), OrderLots(), Precio, 3, clrNONE))
            Print("Error al cerrar la órden: ", GetLastError());
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool CruceMediaPrecio()
  {
   double Media = iMA(Symbol(), PERIOD_CURRENT, Periodo, 0, MODE_SMA, PRICE_CLOSE, 0);
   double Max = iHigh(Symbol(), PERIOD_CURRENT, 0);
   double Min = iLow(Symbol(), PERIOD_CURRENT, 0);
   if(Max > Media && Min < Media)
     {
      return(true);
     }
   return(false);
  }
//+------------------------------------------------------------------+
 
Antonio Simon Del Vecchio #:

Je pensais que les positions étaient ouvertes par un autre EA. Si vous les ouvrez manuellement, cette option vous conviendra.

Merci beaucoup ! Je vais faire des tests.
 

Salutations à tous, une question, j'ai un code EA complet, cependant je voudrais savoir si vous pouvez ajouter un panneau informatif où je rapporte les aspects du moment comme, le solde, l'équité, # de trades ouverts, le profit du jour, de la semaine, du mois, etc.

Merci.

 
Bonjour, veuillez écrire un EA pour MT5,

Qui vend au croisement de la bande de Bollinger supérieure si le prix actuel est le haut actuel de la barre actuelle.
Les paramètres des bandes de Bollinger, l'horizon temporel, la taille du lot, le takeprofit et le stopLoss sont des entrées manuelles.

Merci beaucoup :)
 
Dac coyr bande de Bollinger supérieure si le prix actuel est le haut actuel de la barre actuelle.
Les paramètres des bandes de Bollinger, l'horizon temporel, la taille du lot, le takeprofit et le stopLoss sont des entrées manuelles.

Merci beaucoup :)

Faites une capture d'écran du terminal MetaTrader 5 et placez les indicateurs sur le graphique, s'il vous plaît. Et une autre demande : le fond du graphique devrait être blanc.

 
Vladimir Karputov #:

Faites une capture d'écran du terminal MetaTrader 5 et placez les indicateurs sur le graphique, s'il vous plaît. Et une autre demande : le fond du graphique doit être blanc.


Il ne s'agit que d'un indicateur, mais l'ordre de vente sera exécuté lorsque le prix franchira la bande de Bollinger supérieure, si le prix actuel correspond au prix le plus élevé de la barre actuelle / nouvelle.

Cela signifie qu'un ordre de vente sera ouvert pour chaque nouveau prix supérieur à la bande de Bollinger supérieure.
Dossiers :
 
Je suis nouveau dans le trading. Je veux savoir comment utiliser un robot dans le trading ?