Home Trading Sistematico Post

Come Creare un Expert Advisor Basato sull'Indicatore Center of Gravity per MetaTrader 4

Allegato
8604.zip (2.25 KB, Scarica 2 volte)

Ciao a tutti, trader! Oggi voglio condividere con voi un'idea che ho in mente da un po’ di tempo.

Ho sempre pensato a una strategia di "scalping intraday conservativo", ma non riuscivo a trovare l'indicatore giusto su MT4. Dopo un po' di ricerche, ho trovato l'indicatore Center of Gravity.mq4. Adesso sto cercando di integrarlo in un EA, ma finora l'Expert Advisor si rifiuta di aprire qualsiasi operazione, sia in demo che in backtest. Qualcuno ha idee sul perché?

La mia idea è questa: l'indicatore genera cinque linee parallele alla tendenza. Le operazioni possono essere aperte agli incroci delle linee estreme (preferibilmente con trailing). Per un acquisto, ad esempio, pensavo che una media mobile semplice (SMA) con periodo 1, calcolata sui prezzi minimi, che attraversa la linea inferiore dell'indicatore dal basso, possa rappresentare un segnale per aprire un trade. Al contrario, per una vendita, la SMA sui prezzi massimi che attraversa la linea superiore dall'alto darebbe il segnale opposto. Ovviamente, l'idea può essere sviluppata ulteriormente, ma per ora dobbiamo affrontare questo primo passo.

Indicatore utilizzato: Center of Gravity.mq4

Expert Advisor: C_S_intraday.mq4 (in forma semplice, senza controllo del deposito, timeframe, trailing, ecc.)


Bitmap


//+---------------------------------------------------------------------+
//|                              C_S_intraday.mq4                       |
//|                                                                     |
//+---------------------------------------------------------------------+
//
//
//
extern double    lots=0.1;
//extern int       StopLoss=30 ;
//extern int       TrailingStop=15;
//extern int       Slippage=2;

extern int BB = 125;
extern int MM = 2;
extern int II = 0;
extern double KK = 2.0;
extern int NN = 1102;

double  maH0,maH1,maL0,maL1;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
maH0=iMA(NULL,0,1,0,MODE_LWMA,PRICE_HIGH,0); //media mobile sui massimi
maH1=iMA(NULL,0,1,0,MODE_LWMA,PRICE_HIGH,1); //media mobile sui massimi
maL0=iMA(NULL,0,1,0,MODE_LWMA,PRICE_LOW,0);  //media mobile sui minimi
maL1=iMA(NULL,0,1,0,MODE_LWMA,PRICE_LOW,1);  //media mobile sui minimi

   int      B= BB;         // 
   int      M= MM;         // 
   int      I= II;         // 
   double   K= KK;         // 
   int      N= NN;         // 
   
   double cgh = iCustom(NULL,0,"Center of Gravity",B,M,I,K,N,3,0);
   double cgl = iCustom(NULL,0,"Center of Gravity",B,M,I,K,N,4,0);
   
if (cgl<maL0)  //se la media mobile (minimi) attraversa la linea più bassa dall basso
   {
   OrderSend(NULL,OP_BUY,lots,Ask,2,Ask-10*Point,Ask+20*Point,"create1",123,0,Lime);
   }
/*
if (cgh>maH0)
   {
   OrderSend(NULL,OP_SELL,lots,Bid,2,Bid+10*Point,Bid-20*Point,"create1",123,0,Red);
   }  
*/   
//----
   return(0);
  }
//+------------------------------------------------------------------+

Post correlati

Commento (0)