FREE FOREX STRATEGIES

Complex trading system #17 (305 pips Gig Flexi Hedge System)


Submitted by AtoMoore Timothy

Hi, My name is AtoMoore. I have this system that makes at least 150+pips on daily basis on the EURUSD pair.

I need constructive critics who'll spend time to understand the brain behind my system before commenting. Help make this system a killer and tis for the good of all of us.


Read entire post >>>


 


Hi,
I am a programer and write this expert but in the back test it is not good. it need to more information that you worked with this system and know.

If it is possible for you describ more about this system

very nice!
but, when do you exit the whole stuff?, I don't understand the SL and exit.
best regards.

Nice strategy. Simply but not very clear.

For entry in the "C. Appropriate Major S/R level strategy", do you put another sell stop unattended because you can not always be controlled if you have exceeded the support line?

To calculate the lines of support / resistance there are several indicadoder in Metatrader. I step one: Daily Pivot Points.mq4 . It have intermediate levels between supports/resistances:

//+------------------------------------------------------------------+
//| DailyPivotPoints.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int ExtFormula=0;
extern int ExtHowManyDays=30;
extern bool ExtDraw=true;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//---- clear buffers when reinitializing
if(ArraySize(ExtMapBuffer1)>0) ArrayInitialize(ExtMapBuffer1,0.0);
if(ArraySize(ExtMapBuffer2)>0) ArrayInitialize(ExtMapBuffer2,0.0);
//---- set labels for DataWindow
if(ExtDraw)
{
if(ExtFormula==0)
{
SetIndexLabel(0,"Pivot");
SetIndexLabel(1,NULL);
}
else
{
SetIndexLabel(0,"Resistance");
SetIndexLabel(1,"Support");
}
}
else
{
SetIndexLabel(0,NULL);
SetIndexLabel(1,NULL);
}
//---- force daily data load
iBars(NULL,PERIOD_D1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- deleting our lines
ObjectDelete("Pivot_Line");
ObjectDelete("R0.5_Line");
ObjectDelete("R1.0_Line");
ObjectDelete("R1.5_Line");
ObjectDelete("R2.0_Line");
ObjectDelete("R2.5_Line");
ObjectDelete("R3.0_Line");
ObjectDelete("S0.5_Line");
ObjectDelete("S1.0_Line");
ObjectDelete("S1.5_Line");
ObjectDelete("S2.0_Line");
ObjectDelete("S2.5_Line");
ObjectDelete("S3.0_Line");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int begin_bar, first_bar, last_bar, cnt;
double yesterday_high, yesterday_low, yesterday_close, today_open;
double P, S, R, S05, R05, S10, R10, S15, R15, S20, R20, S25, R25, S30, R30;
//---- test parameters
if(ExtFormula<0 || ExtFormula>3) return(-1);
if(Period()>=PERIOD_D1) return(-1);
//---- if daily data not loaded yet
cnt=0;
while(true)
{
if(iTime(NULL,PERIOD_D1,0)>=(Time[0]-PERIOD_D1*60)) break;
cnt++;
if(cnt>5) return(0);
Sleep(1000);
}
//---- set check beginning
if(ExtHowManyDays<1) begin_bar=iBars(NULL,PERIOD_D1)-2;
else begin_bar=ExtHowManyDays-1;
//---- case of recounting current pivot only
if(ExtDraw==false || counted_bars>0) begin_bar=0;
//----
for(cnt=begin_bar; cnt>=0; cnt--)
{
yesterday_close=iClose(NULL,PERIOD_D1,cnt+1);
today_open=iOpen(NULL,PERIOD_D1,cnt);
yesterday_high=iHigh(NULL,PERIOD_D1,cnt+1);
yesterday_low=iLow(NULL,PERIOD_D1,cnt+1);
P = (yesterday_high + yesterday_low + yesterday_close + today_open) / 4;
switch(ExtFormula)
{
case 1 :
R = P + P - yesterday_low;
S = P + P - yesterday_high;
break;
case 2 :
R = P + yesterday_high - yesterday_low;
S = P - yesterday_high + yesterday_low;
break;
case 3 :
R = P + P - yesterday_low - yesterday_low + yesterday_high;
S = P + P - yesterday_high - yesterday_high + yesterday_low;
}
if(ExtDraw==true)
{
first_bar=iBarShift(NULL,0,iTime(NULL,PERIOD_D1,cnt))-1;
if(cnt>0) last_bar=iBarShift(NULL,0,iTime(NULL,PERIOD_D1,cnt-1))-1;
else last_bar=0;
while(first_bar>=last_bar)
{
if(first_bar==last_bar && last_bar>0) break;
if(ExtFormula==0) ExtMapBuffer1[first_bar]=P;
else
{
ExtMapBuffer1[first_bar]=R;
ExtMapBuffer2[first_bar]=S;
}
first_bar--;
}
}
}
P = NormalizeDouble((yesterday_high + yesterday_low + yesterday_close)/3,Digits);

R10 = NormalizeDouble((2*P)-yesterday_low,Digits);
S10 = NormalizeDouble((2*P)-yesterday_high,Digits);

R05 = NormalizeDouble((P+R10)/2,Digits);
S05 = NormalizeDouble((P+S10)/2,Digits);

R20 = NormalizeDouble(P+(yesterday_high-yesterday_low),Digits);
S20 = NormalizeDouble(P-(yesterday_high-yesterday_low),Digits);

R15 = NormalizeDouble((R10+R20)/2,Digits);
S15 = NormalizeDouble((S10+S20)/2,Digits);

R30 = NormalizeDouble(2*P+(yesterday_high-2*yesterday_low),Digits);
S30 = NormalizeDouble(2*P-(2*yesterday_high-yesterday_low),Digits);

R25 = NormalizeDouble((R20+R30)/2,Digits);
S25 = NormalizeDouble((S20+S30)/2,Digits);

ObjectCreate("Pivot_Line", OBJ_HLINE, 0, 0, P);
ObjectSet("Pivot_Line", OBJPROP_COLOR, Yellow);
ObjectSet("Pivot_Line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSetText("Pivot_Line","Pivot "+DoubleToStr(P,Digits));

ObjectCreate("R0.5_Line", OBJ_HLINE, 0, 0, R05);
ObjectSet("R0.5_Line", OBJPROP_COLOR, GreenYellow);
ObjectSet("R0.5_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("R0.5_Line","R0.5 "+DoubleToStr(R05,Digits));

ObjectCreate("R1.0_Line", OBJ_HLINE, 0, 0, R10);
ObjectSet("R1.0_Line", OBJPROP_COLOR, YellowGreen);
ObjectSet("R1.0_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("R1.0_Line","R1.0 "+DoubleToStr(R10,Digits));

ObjectCreate("R1.5_Line", OBJ_HLINE, 0, 0, R15);
ObjectSet("R1.5_Line", OBJPROP_COLOR, GreenYellow);
ObjectSet("R1.5_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("R1.5_Line","R1.5 "+DoubleToStr(R15,Digits));

ObjectCreate("R2.0_Line", OBJ_HLINE, 0, 0, R20);
ObjectSet("R2.0_Line", OBJPROP_COLOR, YellowGreen);
ObjectSet("R2.0_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("R2.0_Line","R2.0 "+DoubleToStr(R20,Digits));

ObjectCreate("R2.5_Line", OBJ_HLINE, 0, 0, R25);
ObjectSet("R2.5_Line", OBJPROP_COLOR, GreenYellow);
ObjectSet("R2.5_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("R2.5_Line","R2.5 "+DoubleToStr(R25,Digits));

ObjectCreate("R3.0_Line", OBJ_HLINE, 0, 0, R30);
ObjectSet("R3.0_Line", OBJPROP_COLOR, YellowGreen);
ObjectSet("R3.0_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("R3.0_Line","R3.0 "+DoubleToStr(R30,Digits));

ObjectCreate("S0.5_Line", OBJ_HLINE, 0, 0, S05);
ObjectSet("S0.5_Line", OBJPROP_COLOR, Salmon);
ObjectSet("S0.5_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("S0.5_Line","S0.5 "+DoubleToStr(S05,Digits));

ObjectCreate("S1.0_Line", OBJ_HLINE, 0, 0, S10);
ObjectSet("S1.0_Line", OBJPROP_COLOR, Salmon);
ObjectSet("S1.0_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("S1.0_Line","S1.0 "+DoubleToStr(S10,Digits));

ObjectCreate("S1.5_Line", OBJ_HLINE, 0, 0, S15);
ObjectSet("S1.5_Line", OBJPROP_COLOR, Salmon);
ObjectSet("S1.5_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("S1.5_Line","S1.5 "+DoubleToStr(S15,Digits));

ObjectCreate("S2.0_Line", OBJ_HLINE, 0, 0, S20);
ObjectSet("S2.0_Line", OBJPROP_COLOR, Salmon);
ObjectSet("S2.0_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("S2.0_Line","S2.0 "+DoubleToStr(S20,Digits));

ObjectCreate("S2.5_Line", OBJ_HLINE, 0, 0, S25);
ObjectSet("S2.5_Line", OBJPROP_COLOR, Salmon);
ObjectSet("S2.5_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("S2.5_Line","S2.5 "+DoubleToStr(S25,Digits));

ObjectCreate("S3.0_Line", OBJ_HLINE, 0, 0, S30);
ObjectSet("S3.0_Line", OBJPROP_COLOR, Salmon);
ObjectSet("S3.0_Line", OBJPROP_STYLE, STYLE_DOT);
ObjectSetText("S3.0_Line","S3.0 "+DoubleToStr(S30,Digits));
//---- force objects drawing
ObjectsRedraw();
//----
return(0);
}
//+------------------------------------------------------------------+

Cheers,

Navar

good job buddy!!!!!!!!!!

What stop loss do you use per trade?

IMEC is to be drawn looking at the low and high of the first 7 hours candles manually. I am however curious about the SL settings for these entries.BTW do you consider the 00 hrs candle too for HL? any suggestions appreciated.

Cheers,

BN

please could you tell me where i can download IEMC channels? i dont know where to download them :s

Hi Atomore,
seems like nice strategy . i have few question/
1. how long have been using this strategy
2. what is your success rate using this strategy
3. can you show another variants? such as today's session

Hi AtoMoore,
very nice strategy. I have 2 guestions:
- are you always use 8 pips as a distance from PP ? (@ S2+8pips)
- can you show anothers variants ?

Thanks
Stefan

Hi,

Can you explain more clearly on how you get R1, R2, R3, S1, S2 and S3? It's not stated anywhere on how you derive these points.
Also at which part did you derive PP value? Every bar has a Pivot calculation but based on this chart which u given, how u derive the PP at 1.2906?
These charts were 2010's, how is this strategy applied to the current 2011 as in today, 30th May 2011?

I would like to know if this strategy works until today and forward?


 

Post new comment

CAPTCHA
We read every comment. Proceed if you're a human: