Een Expert Advisor maken met de Center of Gravity Indicator voor MetaTrader 4

Mike 2016.07.01 18:21 18 0 0
Bijlage

Hallo mede-traders!

Vandaag wil ik mijn idee met jullie delen. Al een tijdje ben ik bezig met het ontwikkelen van een Expert Advisor (EA), gebaseerd op de "Conservatieve intraday scalping" strategie. Echter, het vinden van een geschikte indicator in MetaTrader 4 was een uitdaging. Totdat ik de Center of Gravity.mq4 indicator ontdekte!

Momenteel probeer ik deze indicator aan de EA toe te voegen, maar tot nu toe wil de EA geen trades openen, zowel niet in de demo als tijdens het testen. Dit roept natuurlijk de vraag op: waarom niet?

Wat ik heb voor ogen, is dat de indicator vijf lijnen genereert die parallel lopen aan de trend. Trades kunnen worden geopend op de kruispunten van de extreme lijnen (bij voorkeur met trailing). Mijn idee is dat een eenvoudige moving average met een periode van 1 (SMA op basis van LOW-prijzen) een signaal geeft voor het openen van een trade, bijvoorbeeld een koop (BUY) wanneer deze de onderste lijn van de indicator van beneden kruist. Voor een verkoop (SELL) geldt het tegenovergestelde: de SMA gebaseerd op HIGH-prijzen moet de bovenste lijn van bovenaf kruisen. Deze strategie kan verder worden ontwikkeld, maar op dit moment is het belangrijk om de basis goed te krijgen.

Indicator: Center of Gravity.mq4

Expert Advisor: C_S_intraday.mq4 (in eenvoudige vorm, zonder controle van de deposit, tijdframes, trailing, etc.)


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); //moving average based on high
maH1=iMA(NULL,0,1,0,MODE_LWMA,PRICE_HIGH,1); //moving average based on high
maL0=iMA(NULL,0,1,0,MODE_LWMA,PRICE_LOW,0);  //moving average based on low
maL1=iMA(NULL,0,1,0,MODE_LWMA,PRICE_LOW,1);  //moving average based on low

   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)  //als de moving average (low) de laagste lijn van de indicator van onderen kruist
   {
   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);
  }
//+------------------------------------------------------------------+
Lijst
Reactie 0