You are on page 1of 6

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 Yellow

#property indicator_color2 Yellow

#property indicator_color3 RoyalBlue

#property indicator_color4 Red

#property indicator_color5 White

#property indicator_color6 White

int g_period_76 = 20;

int gi_80 = 2;

double gd_84 = 1; // 1.0

int gi_92 = 1;

int gi_96 = 1;

int g_shift_100 = 1000;

double g_ibuf_104[];

double g_ibuf_108[];

double g_ibuf_112[];

double g_ibuf_116[];

double g_ibuf_120[];

double g_ibuf_124[];

extern bool SoundON = TRUE;

extern bool ShowComment=true;

bool gi_132 = TRUE;

bool gi_136 = TRUE;


int init() {

//extern bool ShowComment=true;

if(ShowComment)Comment("Zaki_Lombok"+"\n");

SetIndexBuffer(0, g_ibuf_104);

SetIndexBuffer(1, g_ibuf_108);

SetIndexBuffer(2, g_ibuf_112);

SetIndexBuffer(3, g_ibuf_116);

SetIndexBuffer(4, g_ibuf_120);

SetIndexBuffer(5, g_ibuf_124);

SetIndexStyle(0, DRAW_NONE);

SetIndexStyle(1, DRAW_NONE, STYLE_SOLID, 0);

SetIndexStyle(2, DRAW_ARROW, STYLE_DASH, 3);

SetIndexStyle(3, DRAW_ARROW, STYLE_DASH, 3);

SetIndexStyle(4, DRAW_NONE);

SetIndexStyle(5, DRAW_NONE);

SetIndexArrow(0, 159);

SetIndexArrow(1, 159);

SetIndexArrow(2, 225); //SYMBOL_ARROWUP

SetIndexArrow(3, 226); // SYMBOL_ARROWDOWN

IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));

string ls_0 = "Zaki";

IndicatorShortName(ls_0);

SetIndexLabel(0, "UpTrend Stop");

SetIndexLabel(1, "DownTrend Stop");


SetIndexLabel(2, "UpTrend Signal");

SetIndexLabel(3, "DownTrend Signal");

SetIndexLabel(4, "UpTrend Line");

SetIndexLabel(5, "DownTrend Line");

SetIndexDrawBegin(0, g_period_76);

SetIndexDrawBegin(1, g_period_76);

SetIndexDrawBegin(2, g_period_76);

SetIndexDrawBegin(3, g_period_76);

SetIndexDrawBegin(4, g_period_76);

SetIndexDrawBegin(5, g_period_76);

return (0);

int start() {

int li_0;

double lda_4[25000];

double lda_8[25000];

double lda_12[25000];

double lda_16[25000];

for (int l_shift_20 = g_shift_100; l_shift_20 >= 0; l_shift_20--) {

g_ibuf_104[l_shift_20] = 0;

g_ibuf_108[l_shift_20] = 0;

g_ibuf_112[l_shift_20] = 0;

g_ibuf_116[l_shift_20] = 0;

g_ibuf_120[l_shift_20] = EMPTY_VALUE;
g_ibuf_124[l_shift_20] = EMPTY_VALUE;

for (l_shift_20 = g_shift_100 - g_period_76 - 1; l_shift_20 >= 0; l_shift_20--) {

lda_4[l_shift_20] = iBands(NULL, 0, g_period_76, gi_80, 0, PRICE_CLOSE, MODE_UPPER, l_shift_20);

lda_8[l_shift_20] = iBands(NULL, 0, g_period_76, gi_80, 0, PRICE_CLOSE, MODE_LOWER, l_shift_20);

if (Close[l_shift_20] > lda_4[l_shift_20 + 1]) li_0 = 1;

if (Close[l_shift_20] < lda_8[l_shift_20 + 1]) li_0 = -1;

if (li_0 > 0 && lda_8[l_shift_20] < lda_8[l_shift_20 + 1]) lda_8[l_shift_20] = lda_8[l_shift_20 + 1];

if (li_0 < 0 && lda_4[l_shift_20] > lda_4[l_shift_20 + 1]) lda_4[l_shift_20] = lda_4[l_shift_20 + 1];

lda_12[l_shift_20] = lda_4[l_shift_20] + (gd_84 - 1.0) / 2.0 * (lda_4[l_shift_20] - lda_8[l_shift_20]);

lda_16[l_shift_20] = lda_8[l_shift_20] - (gd_84 - 1.0) / 2.0 * (lda_4[l_shift_20] - lda_8[l_shift_20]);

if (li_0 > 0 && lda_16[l_shift_20] < lda_16[l_shift_20 + 1]) lda_16[l_shift_20] = lda_16[l_shift_20 + 1];

if (li_0 < 0 && lda_12[l_shift_20] > lda_12[l_shift_20 + 1]) lda_12[l_shift_20] = lda_12[l_shift_20 + 1];

if (li_0 > 0) {

if (gi_92 > 0 && g_ibuf_104[l_shift_20 + 1] == -1.0) {

g_ibuf_112[l_shift_20] = lda_16[l_shift_20];

g_ibuf_104[l_shift_20] = lda_16[l_shift_20];

if (gi_96 > 0) g_ibuf_120[l_shift_20] = lda_16[l_shift_20];

if (SoundON == TRUE && l_shift_20 == 0 && (!gi_132)) {

Alert("Buy Alert ", Symbol(), "-", Period());

gi_132 = TRUE;

gi_136 = FALSE;

} else {

g_ibuf_104[l_shift_20] = lda_16[l_shift_20];
if (gi_96 > 0) g_ibuf_120[l_shift_20] = lda_16[l_shift_20];

g_ibuf_112[l_shift_20] = -1;

if (gi_92 == 2) g_ibuf_104[l_shift_20] = 0;

g_ibuf_116[l_shift_20] = -1;

g_ibuf_108[l_shift_20] = -1.0;

g_ibuf_124[l_shift_20] = EMPTY_VALUE;

if (li_0 < 0) {

if (gi_92 > 0 && g_ibuf_108[l_shift_20 + 1] == -1.0) {

g_ibuf_116[l_shift_20] = lda_12[l_shift_20];

g_ibuf_108[l_shift_20] = lda_12[l_shift_20];

if (gi_96 > 0) g_ibuf_124[l_shift_20] = lda_12[l_shift_20];

if (SoundON == TRUE && l_shift_20 == 0 && (!gi_136)) {

Alert("Sell Alert ", Symbol(), "-", Period());

gi_136 = TRUE;

gi_132 = FALSE;

} else {

g_ibuf_108[l_shift_20] = lda_12[l_shift_20];

if (gi_96 > 0) g_ibuf_124[l_shift_20] = lda_12[l_shift_20];

g_ibuf_116[l_shift_20] = -1;

if (gi_92 == 2) g_ibuf_108[l_shift_20] = 0;

g_ibuf_112[l_shift_20] = -1;
g_ibuf_104[l_shift_20] = -1.0;

g_ibuf_120[l_shift_20] = EMPTY_VALUE;

return (0);

You might also like