Jump to content

Coding Help Please


eggzactly

Recommended Posts

Hi,

 

can some excellent coders here help me in this task :

 

i want to define trend based on the ma_in_color indicator. This indicator have 3 colors, blue - up | red - down | mid - yellow.

 

The really help i need is the ea defines the trend only based on blue and red colours, for instance if we are in blue - uptrend and then appears a yellow, the ea consider this yellow up trend until appears the red color - opposite applies.

 

thanks in advance.

 

regards,

 

eggzactly

 

--------------------------------------------------------------------------------------------------------------------------------------

indicator code

 

 

//+------------------------------------------------------------------+

//| MA_In_Color.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| Modified from LSMA_In_Color to use any MA by Robert Hill |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2006, FX Sniper and Robert Hill"

#property link "http://www.metaquotes.net/"

 

//---- indicator settings

 

#property indicator_chart_window

#property indicator_buffers 3

#property indicator_color1 Yellow

#property indicator_color2 RoyalBlue

#property indicator_color3 Crimson

 

extern int MAPeriod=7;

extern int MAType=2;

 

//---- buffers

 

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

 

//---- variables

 

int MAMode;

string strMAType;

 

 

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

IndicatorBuffers(3);

 

//---- drawing settings

SetIndexBuffer(2,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(0,ExtMapBuffer3);

 

SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);

 

switch (MAType)

{

case 1: strMAType="EMA"; MAMode=MODE_EMA; break;

case 2: strMAType="SMMA"; MAMode=MODE_SMMA; break;

case 3: strMAType="LWMA"; MAMode=MODE_LWMA; break;

case 4: strMAType="LSMA"; break;

default: strMAType="SMA"; MAMode=MODE_SMA; break;

}

IndicatorShortName( strMAType+ " (" +MAPeriod + ") ");

//---- initialization done

return(0);

}

 

double LSMA(int Rperiod, int shift)

{

int i;

double sum;

int length;

double lengthvar;

double tmp;

double wt;

 

length = Rperiod;

 

sum = 0;

for(i = length; i >= 1 ; i--)

{

lengthvar = length + 1;

lengthvar /= 3;

tmp = 0;

tmp = ( i - lengthvar)*Close[length-i+shift];

sum+=tmp;

}

wt = sum*6/(length*(length+1));

 

return(wt);

}

 

int start()

 

{

 

double MA_Cur, MA_Prev;

int limit;

int counted_bars = IndicatorCounted();

//---- check for possible errors

if (counted_bars<0) return(-1);

//---- last counted bar will be recounted

if (counted_bars>0) counted_bars--;

limit = Bars - counted_bars;

 

for(int i=limit; i>=0; i--)

{

if (MAType == 4)

{

MA_Cur = LSMA(MAPeriod,i);

MA_Prev = LSMA(MAPeriod,i+1);

}

else

{

MA_Cur = iMA(NULL,0,MAPeriod,0,MAMode,PRICE_CLOSE,i);

MA_Prev = iMA(NULL,0,MAPeriod,0,MAMode,PRICE_CLOSE,i+1);

}

 

 

//========== COLOR CODING ===========================================

 

ExtMapBuffer3 = MA_Cur; //red

ExtMapBuffer2 = MA_Cur; //green

ExtMapBuffer1 = MA_Cur; //yellow

 

if (MA_Prev > MA_Cur)

{

ExtMapBuffer2 = EMPTY_VALUE;

 

}

else if (MA_Prev < MA_Cur)

{

ExtMapBuffer1 = EMPTY_VALUE; //-1 red/greem tight

 

}

else

{

 

ExtMapBuffer1=EMPTY_VALUE;//EMPTY_VALUE;

ExtMapBuffer2=EMPTY_VALUE;//EMPTY_VALUE;

}

 

}

 

return(0);

}

//+------------------------------------------------------------------+

Link to comment
Share on other sites

  • 1 month later...

Hi eggzactly

 

Good day and Happy New year,

 

so you want to build an EA based on Blue and Red color only, right??

 

you would assume that the yellow one is also up,...

 

Ok, I think I got it....

 

I will look at it and let you know whenever I can,

 

Best wishes,

 

SF

a New Year 2011 has come, and the challenge has just started 8-)
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...