Scriverò un EA gratuitamente - pagina 169

 

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

Tutto funziona! Grazie! Ma, non ho esperienza nel lavorare con tali strumenti, così improvvisamente, dopo aver controllato, mi sono reso conto che ho fatto un errore e non ho specificato una richiesta nel ToR: per favore correggetelo in modo che l'EA chiuda solo la coppia di valute (uno o più ordini) sul cui grafico viene lanciato.
 
torrr #:
Tutto funziona. Grazie. Ma, non ho esperienza nel lavorare con questo tipo di strumenti, così improvvisamente, dopo averlo controllato, mi sono reso conto che ho fatto un errore e non ho specificato una richiesta nel ToR: per favore correggetelo in modo che l'EA chiuda solo la coppia di valute (uno o più ordini) sul cui grafico viene lanciato.
Basta aggiungere una magia. Saluti.
//+------------------------------------------------------------------+
//|                                                     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 #:

Grazie ancora! Solo che non capisco dove prendere il magik, dato che tutti i trade sono stati aperti manualmente (forse i commenti all'apertura degli ordini andranno bene?)

P.S. Ho trovato uno script che apre gli ordini manualmente con la possibilità di impostare un magik. Penso che funzionerà così.
 
torrr #:

Grazie ancora. Solo che non capisco da dove prendere il magik, visto che tutti i trade sono stati aperti manualmente (forse i commenti all'apertura degli ordini possono aiutare?).

P.S. Ho trovato uno script che apre gli ordini manualmente con la possibilità di impostare un magik. Penso che funzionerà così.

Pensavo che le posizioni fossero state aperte da un altro EA. Se li aprite manualmente, questo funzionerà per voi.

//+------------------------------------------------------------------+
//|                                                     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 #:

Pensavo che le posizioni fossero state aperte da un altro EA. Se li state aprendo manualmente, questa opzione funzionerà per voi.

Grazie mille! Farò dei test.
 

Saluti a tutti, una domanda, ho un codice EA completo, tuttavia vorrei sapere se è possibile aggiungere un pannello informativo dove riporto aspetti del momento come, saldo, equity, # di trade aperti, profitto del giorno, settimana, mese, ecc.

Grazie.

 
Ciao per favore scrivi un EA per MT5,

che venda all'incrocio superiore delle bande di Bollinger se il prezzo corrente è il massimo della barra corrente.
I parametri delle Bande di Bollinger, timeframe, dimensione del lotto, takeprofit e StopLoss come input manuali.

Grazie mille :)
 
Dac coyr bande di Bollinger se il prezzo corrente è il massimo della barra corrente.
I parametri delle Bande di Bollinger, timeframe, dimensione del lotto, takeprofit e StopLoss come input manuali.

Grazie mille :)

Fai uno screenshot del terminale MetaTrader 5 e metti gli indicatori sul grafico, per favore. E un'altra richiesta: lo sfondo del grafico dovrebbe essere bianco.

 
Vladimir Karputov #:

Fai uno screenshot del terminale MetaTrader 5 e metti gli indicatori sul grafico, per favore. E un'altra richiesta: lo sfondo del grafico dovrebbe essere bianco.


Questo è solo un indicatore, ma l'ordine di vendita sarà eseguito quando il prezzo attraversa la banda di Bollinger superiore, se il prezzo corrente corrisponde al prezzo più alto della barra corrente / nuova.

Questo significa che un ordine di vendita sarà aperto per ogni nuovo prezzo più alto sopra le Bande di Bollinger superiori.
File:
 
Ciao. sono nuovo del trading. voglio sapere come usare il robot nel trading?
Motivazione: