Post the source code.
Topics concerning MT4 and MQL4 have their own section.
In future please post in the correct section.
I have moved your topic to the MQL4 and Metatrader 4 section.
//+------------------------------------------------------------------+ //| Trade What You See.mq4 | //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 DeepSkyBlue //Red //Aqua #property indicator_color2 Red extern int SSP=7; extern double Kmax=50.6; //24 21.6 21.6 extern int CountBars=300; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtHBuffer1[]; double ExtHBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(4); SetIndexStyle(0,DRAW_HISTOGRAM,0,2); //Red SetIndexBuffer(0,ExtHBuffer1); SetIndexStyle(1,DRAW_HISTOGRAM,0,2); //Lime SetIndexBuffer(1,ExtHBuffer2); SetIndexBuffer(2,ExtMapBuffer1); SetIndexBuffer(3,ExtMapBuffer2); IndicatorShortName("Trade What You see ("+SSP+")"); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if (CountBars>=Bars) CountBars=Bars; SetIndexDrawBegin(0,Bars-CountBars+SSP); SetIndexDrawBegin(1,Bars-CountBars+SSP); int i, counted_bars=IndicatorCounted(); double SsMax, SsMin, smin, smax; if(Bars<=SSP+1) return(0); if(counted_bars<SSP+1) { for(i=1;i<=SSP;i++) ExtMapBuffer1[CountBars-i]=0.0; for(i=1;i<=SSP;i++) ExtMapBuffer2[CountBars-i]=0.0; } for(i=CountBars-SSP;i>=0;i--) { SsMax = High[Highest(NULL,0,MODE_HIGH,SSP,i-SSP+1)]; SsMin = Low[Lowest(NULL,0,MODE_LOW,SSP,i-SSP+1)]; smax = SsMax-(SsMax-SsMin)*Kmax/100; ExtMapBuffer1[i-SSP+6]=smax; ExtMapBuffer2[i-SSP-1]=smax; } for(int b=CountBars-SSP;b>=0;b--) { if(ExtMapBuffer1[b]>ExtMapBuffer2[b]) { ExtHBuffer1[b]=1; ExtHBuffer2[b]=0; } else { ExtHBuffer1[b]=0; ExtHBuffer2[b]=1; } } return(0); }
ResearchTrades:
Do not double post!
I have deleted your duplicated topic!
ResearchTrades: I assume SSP has to do with the bars lookback period?
for(i=CountBars-SSP;i>=0;i--) { SsMax = High[Highest(NULL,0,MODE_HIGH,SSP,i-SSP+1)]; SsMin = Low[Lowest(NULL,0,MODE_LOW,SSP,i-SSP+1)];
It is actually looking at the [current … SSP-1 future] bars. Usesless.
What about KMAX?
I'm using this on MT4.
I just wanted to understand what it is calculating, in order for the bar to turn blue (indicating a possible start of an uptrend).
The code is open-source as far as I know (I can post it if that is allowed).
I see there is another open trend indicator that is very similar.
Both use Kmax and SSP values.
I looked it up but don't see what these values represent.
I assume SSP has to do with the bars lookback period?
Please advise, thanks.