BinaryOptions.net Forums General
Options

Help me to modify this indicator

aun123aun123 Posts: 1
Can any one help me to remove this false signal arrows of this kill binary signal 2 indicator. I used indicator settings as follows, LevelEn = 1 and TradeTer = 1. If any one can remove this false signals and upgrade this indicator then this will be a one of the best indicator.Problem is many false signals are appearing along with the true signals. After close and reopen the MT4 then those false signals are disappeared. I have attached pictures of the both scenarios and also the script of the indicator.


#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red

double G_ibuf_76[];
double G_ibuf_80[];
double G_ma_method_84 = 3.0;
double G_ma_method_92 = 3.0;
extern int LevelEn = 3;
extern int TradeTer = 3;

int init() {
SetIndexStyle(0, DRAW_ARROW, EMPTY);
SetIndexArrow(0, 233);
SetIndexBuffer(0, G_ibuf_76);
SetIndexStyle(1, DRAW_ARROW, EMPTY);
SetIndexArrow(1, 234);
SetIndexBuffer(1, G_ibuf_80);
return (0);
}

int deinit() {
return (0);
}

int start() {
int Li_8;
double ima_12;
double ima_20;
double ima_28;
double ima_36;
double ima_44;
double ima_52;
double Ld_60;
double Ld_68;
int Li_76 = IndicatorCounted();
if (Li_76 < 0) return (-1);
if (Li_76 > 0) Li_76--;
int Li_0 = Bars - Li_76;
for (int Li_4 = 0; Li_4 <= Li_0; Li_4++) {
Li_8 = Li_4;
Ld_60 = 0;
Ld_68 = 0;
for (Li_8 = Li_4; Li_8 <= Li_4 + 9; Li_8++) Ld_68 += MathAbs(High[Li_8] - Low[Li_8]);
Ld_60 = Ld_68 / 10.0;
ima_12 = iMA(NULL, 0, LevelEn, 0, G_ma_method_84, PRICE_CLOSE, Li_4 + 1);
ima_28 = iMA(NULL, 0, LevelEn, 0, G_ma_method_84, PRICE_CLOSE, Li_4 + 2);
ima_44 = iMA(NULL, 0, LevelEn, 0, G_ma_method_84, PRICE_CLOSE, Li_4);
ima_20 = iMA(NULL, 0, TradeTer, 0, G_ma_method_92, PRICE_OPEN, Li_4 + 1);
ima_36 = iMA(NULL, 0, TradeTer, 0, G_ma_method_92, PRICE_OPEN, Li_4 + 2);
ima_52 = iMA(NULL, 0, TradeTer, 0, G_ma_method_92, PRICE_OPEN, Li_4);
if (ima_12 > ima_20 && ima_28 < ima_36 && ima_44 > ima_52) G_ibuf_76[Li_4] = Low[Li_4] - 0.3 * Ld_60;
else
if (ima_12 < ima_20 && ima_28 > ima_36 && ima_44 < ima_52) G_ibuf_80[Li_4] = High[Li_4] + 0.3 * Ld_60;
}
return (0);
}
Sign In or Register to comment.