Coding help - page 546

 

Could some-one change the attached ea into a script. I would like to use it on off line charts. Many thanks.

 
Jeeves:
Could some-one change the attached ea into a script. I would like to use it on off line charts. Many thanks.

Jeeves

That means that it will be executed only on one tick (in new metatrader 4 scripts are executed only once - when you drop them on chart, and then they are unloaded from memory)

_____________

PS: if it does not work as an EA, chances that it will work as a script on an offline chart are slim

 

Hi guy. It works great as an EA, but I would really like it working on the off line chart. Opening only once is not a problem, I trade over reasonable periods & new trades are not that frequent. If you could do the script (Better still make it work as an ea) I would be grateful.

Take care.

 
Jeeves:
Hi guy. It works great as an EA, but I would really like it working on the off line chart. Opening only once is not a problem, I trade over reasonable periods & new trades are not that frequent. If you could do the script (Better still make it work as an ea) I would be grateful. Take care.

Jeeves

Am I understanding correctly that for some reason the EA does not work on offline chart?

 

Affirmative

 

Please fix that because repaint:

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 MediumBlue

#property indicator_color2 Red

#property indicator_width1 1

#property indicator_width2 1

string Gs_dummy_76;

double Gd_unused_84;

bool Gi_92 = false;

string Gs_dummy_96;

string Gs_dummy_104;

string Gs_112;

int G_bars_120 = 0;

double G_ibuf_124[];

double G_ibuf_128[];

double Gd_132;

double Gd_140;

double Gd_148;

double G_ima_156;

double G_ima_164;

double G_ima_172;

double G_ima_180;

double G_ima_188;

double G_ima_196;

double G_ima_204;

double G_ima_212;

double G_ima_220;

double Gda_unused_228[];

double Gda_unused_232[];

double Gda_unused_236[];

extern int MAPeriod1 = 1;

int Gi_244 = -10;

int G_ma_method_248 = MODE_SMMA;

extern int MAPeriod2 = 1;

int Gi_256 = -2;

int G_ma_method_260 = MODE_SMMA;

extern int MAPeriod3 = 1;

int Gi_268 = 1;

int G_ma_method_272 = MODE_SMMA;

extern int SoundAlert = 1;

int init() {

SetIndexStyle(0, DRAW_ARROW, EMPTY);

SetIndexArrow(0, 233);

SetIndexBuffer(0, G_ibuf_124);

SetIndexStyle(1, DRAW_ARROW, EMPTY);

SetIndexArrow(1, 234);

SetIndexBuffer(1, G_ibuf_128);

return (0);

}

void deinit() {

ObjectsDeleteAll();

}

void f0_0() {

int Lia_unused_184[12][1000];

double Lda_unused_188[12][1000];

int Lia_unused_192[1000];

double Lda_unused_196[1000];

bool Lba_unused_204[12];

HideTestIndicators(TRUE);

double icci_0 = iCCI(Symbol(), PERIOD_M1, 80, PRICE_OPEN, 0);

double iwpr_8 = iWPR(Symbol(), PERIOD_M1, 14, 0);

double iforce_16 = iForce(Symbol(), PERIOD_M5, 13, MODE_SMA, PRICE_OPEN, 0);

double ibands_24 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_OPEN, MODE_UPPER, 1);

double ibands_32 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_OPEN, MODE_BASE, 1);

double ima_40 = iMA(NULL, 0, 24, 0, MODE_SMMA, PRICE_OPEN, 0);

double ima_48 = iMA(NULL, 0, 100, 0, MODE_SMMA, PRICE_OPEN, 0);

double ima_56 = iMA(NULL, 0, 72, 0, MODE_SMMA, PRICE_OPEN, 0);

double ima_64 = iMA(NULL, 0, 365, 0, MODE_SMMA, PRICE_OPEN, 0);

double istochastic_72 = iStochastic(NULL, 0, 10, 5, 5, MODE_EMA, 0, MODE_MAIN, 0);

double imomentum_80 = iMomentum(NULL, 0, 100, PRICE_OPEN, 0);

double ibands_88 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_OPEN, MODE_LOWER, 1);

double ima_96 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_OPEN, 0);

double ima_104 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_OPEN, 0);

double iadx_112 = iADX(NULL, 0, 7, PRICE_OPEN, MODE_MAIN, 0);

double imomentum_120 = iMomentum(NULL, 0, 100, PRICE_OPEN, 0);

double ima_128 = iMA(Symbol(), PERIOD_H4, 1, 0, MODE_EMA, PRICE_OPEN, 0);

double ibands_136 = iBands(Symbol(), PERIOD_H4, 20, 2, 0, PRICE_OPEN, MODE_UPPER, 0);

HideTestIndicators(FALSE);

string Ls_unused_144 = "Signal Alert";

string Ls_unused_152 = "Short Alert";

string Ls_unused_160 = "Long Alert";

int Li_unused_172 = -1;

int Li_unused_176 = 1;

int Li_unused_180 = 0;

int Lia_unused_200[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

int Li_unused_220 = 50;

int Li_unused_224 = 50;

if (istochastic_72 >= 75.0) Gs_112 = "HIGH RISK";

else {

if (istochastic_72 <= 25.0) Gs_112 = "HIGH RISK";

else

if (istochastic_72 25.0) Gs_112 = "LOW RISK";

}

string Ls_248 = "";

int Li_unused_256 = 1;

if (Digits < 4) Gd_unused_84 = 0.01;

else Gd_unused_84 = 0.0001;

if (G_bars_120 != Bars) G_bars_120 = Bars;

double iatr_260 = iATR(Symbol(), Period(), 5, 1);

double Ld_268 = 1.45 / Period() * MathRound(iatr_260 * MathPow(7, Digits));

double Ld_276 = 2.0 * Ld_268;

Ls_248 = Ls_248

+ "\n"

+ "\n"

+ "";

}

int start() {

int Li_8;

if (Gi_92) f0_0();

int Li_12 = IndicatorCounted();

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

if (Li_12 > 0) Li_12--;

int Li_0 = Bars - Li_12;

for (int index_4 = 0; index_4 <= Li_0; index_4++) {

Li_8 = index_4;

Gd_140 = 0;

Gd_148 = 0;

for (Li_8 = index_4; Li_8 <= index_4 + 9; Li_8++) Gd_148 += MathAbs(High[Li_8] - Low[Li_8]);

Gd_140 = Gd_148 / 10.0;

G_ima_156 = iMA(NULL, 0, MAPeriod1, Gi_244, G_ma_method_248, PRICE_OPEN, index_4 + 1);

G_ima_164 = iMA(NULL, 0, MAPeriod1, Gi_244, G_ma_method_248, PRICE_OPEN, index_4 + 2);

G_ima_172 = iMA(NULL, 0, MAPeriod1, Gi_244, G_ma_method_248, PRICE_OPEN, index_4 - 1);

G_ima_180 = iMA(NULL, 0, MAPeriod2, Gi_256, G_ma_method_260, PRICE_OPEN, index_4 + 1);

G_ima_188 = iMA(NULL, 0, MAPeriod2, Gi_256, G_ma_method_260, PRICE_OPEN, index_4 + 2);

G_ima_196 = iMA(NULL, 0, MAPeriod2, Gi_256, G_ma_method_260, PRICE_OPEN, index_4 - 1);

G_ima_204 = iMA(NULL, 0, MAPeriod3, Gi_268, G_ma_method_272, PRICE_OPEN, index_4 + 1);

G_ima_212 = iMA(NULL, 0, MAPeriod3, Gi_268, G_ma_method_272, PRICE_OPEN, index_4 + 2);

G_ima_220 = iMA(NULL, 0, MAPeriod3, Gi_268, G_ma_method_272, PRICE_OPEN, index_4 - 1);

if ((G_ima_156 > G_ima_204 && G_ima_164 G_ima_220 && G_ima_180 > G_ima_204) || (G_ima_156 > G_ima_204 && G_ima_180 > G_ima_204 && G_ima_188 <= G_ima_212 &&

G_ima_196 > G_ima_220)) G_ibuf_124 = Low - Gd_140 / 2.0;

if ((G_ima_156 = G_ima_212 && G_ima_172 < G_ima_220 && G_ima_180 < G_ima_204) || (G_ima_156 < G_ima_204 && G_ima_180 = G_ima_212 &&

G_ima_196 < G_ima_220)) G_ibuf_128 = High + Gd_140 / 2.0;

}

if (G_ibuf_124[0] > 2000.0 && G_ibuf_128[0] > 2000.0) Gd_132 = 0;

if (G_ibuf_124[0] == Low[0] - Gd_140 / 2.0 && Gd_132 != Time[0] && SoundAlert != 0) {

Gd_132 = Time[0];

Alert(Symbol(), " Price Cross Up @ Hour ", Hour(), " Minute ", Minute());

}

if (G_ibuf_128[0] == High[0] + Gd_140 / 2.0 && Gd_132 != Time[0] && SoundAlert != 0) {

Gd_132 = Time[0];

Alert(Symbol(), " Price Cross Down @ Hour ", Hour(), " Minute ", Minute());

}

return (0);

}

 
popej30:
Please fix that because repaint:

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 MediumBlue

#property indicator_color2 Red

#property indicator_width1 1

#property indicator_width2 1

string Gs_dummy_76;

double Gd_unused_84;

bool Gi_92 = false;

string Gs_dummy_96;

string Gs_dummy_104;

string Gs_112;

int G_bars_120 = 0;

double G_ibuf_124[];

double G_ibuf_128[];

double Gd_132;

double Gd_140;

double Gd_148;

double G_ima_156;

double G_ima_164;

double G_ima_172;

double G_ima_180;

double G_ima_188;

double G_ima_196;

double G_ima_204;

double G_ima_212;

double G_ima_220;

double Gda_unused_228[];

double Gda_unused_232[];

double Gda_unused_236[];

extern int MAPeriod1 = 1;

int Gi_244 = -10;

int G_ma_method_248 = MODE_SMMA;

extern int MAPeriod2 = 1;

int Gi_256 = -2;

int G_ma_method_260 = MODE_SMMA;

extern int MAPeriod3 = 1;

int Gi_268 = 1;

int G_ma_method_272 = MODE_SMMA;

extern int SoundAlert = 1;

int init() {

SetIndexStyle(0, DRAW_ARROW, EMPTY);

SetIndexArrow(0, 233);

SetIndexBuffer(0, G_ibuf_124);

SetIndexStyle(1, DRAW_ARROW, EMPTY);

SetIndexArrow(1, 234);

SetIndexBuffer(1, G_ibuf_128);

return (0);

}

void deinit() {

ObjectsDeleteAll();

}

void f0_0() {

int Lia_unused_184[12][1000];

double Lda_unused_188[12][1000];

int Lia_unused_192[1000];

double Lda_unused_196[1000];

bool Lba_unused_204[12];

HideTestIndicators(TRUE);

double icci_0 = iCCI(Symbol(), PERIOD_M1, 80, PRICE_OPEN, 0);

double iwpr_8 = iWPR(Symbol(), PERIOD_M1, 14, 0);

double iforce_16 = iForce(Symbol(), PERIOD_M5, 13, MODE_SMA, PRICE_OPEN, 0);

double ibands_24 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_OPEN, MODE_UPPER, 1);

double ibands_32 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_OPEN, MODE_BASE, 1);

double ima_40 = iMA(NULL, 0, 24, 0, MODE_SMMA, PRICE_OPEN, 0);

double ima_48 = iMA(NULL, 0, 100, 0, MODE_SMMA, PRICE_OPEN, 0);

double ima_56 = iMA(NULL, 0, 72, 0, MODE_SMMA, PRICE_OPEN, 0);

double ima_64 = iMA(NULL, 0, 365, 0, MODE_SMMA, PRICE_OPEN, 0);

double istochastic_72 = iStochastic(NULL, 0, 10, 5, 5, MODE_EMA, 0, MODE_MAIN, 0);

double imomentum_80 = iMomentum(NULL, 0, 100, PRICE_OPEN, 0);

double ibands_88 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_OPEN, MODE_LOWER, 1);

double ima_96 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_OPEN, 0);

double ima_104 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_OPEN, 0);

double iadx_112 = iADX(NULL, 0, 7, PRICE_OPEN, MODE_MAIN, 0);

double imomentum_120 = iMomentum(NULL, 0, 100, PRICE_OPEN, 0);

double ima_128 = iMA(Symbol(), PERIOD_H4, 1, 0, MODE_EMA, PRICE_OPEN, 0);

double ibands_136 = iBands(Symbol(), PERIOD_H4, 20, 2, 0, PRICE_OPEN, MODE_UPPER, 0);

HideTestIndicators(FALSE);

string Ls_unused_144 = "Signal Alert";

string Ls_unused_152 = "Short Alert";

string Ls_unused_160 = "Long Alert";

int Li_unused_172 = -1;

int Li_unused_176 = 1;

int Li_unused_180 = 0;

int Lia_unused_200[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

int Li_unused_220 = 50;

int Li_unused_224 = 50;

if (istochastic_72 >= 75.0) Gs_112 = "HIGH RISK";

else {

if (istochastic_72 <= 25.0) Gs_112 = "HIGH RISK";

else

if (istochastic_72 25.0) Gs_112 = "LOW RISK";

}

string Ls_248 = "";

int Li_unused_256 = 1;

if (Digits < 4) Gd_unused_84 = 0.01;

else Gd_unused_84 = 0.0001;

if (G_bars_120 != Bars) G_bars_120 = Bars;

double iatr_260 = iATR(Symbol(), Period(), 5, 1);

double Ld_268 = 1.45 / Period() * MathRound(iatr_260 * MathPow(7, Digits));

double Ld_276 = 2.0 * Ld_268;

Ls_248 = Ls_248

+ "\n"

+ "\n"

+ "";

}

int start() {

int Li_8;

if (Gi_92) f0_0();

int Li_12 = IndicatorCounted();

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

if (Li_12 > 0) Li_12--;

int Li_0 = Bars - Li_12;

for (int index_4 = 0; index_4 <= Li_0; index_4++) {

Li_8 = index_4;

Gd_140 = 0;

Gd_148 = 0;

for (Li_8 = index_4; Li_8 <= index_4 + 9; Li_8++) Gd_148 += MathAbs(High[Li_8] - Low[Li_8]);

Gd_140 = Gd_148 / 10.0;

G_ima_156 = iMA(NULL, 0, MAPeriod1, Gi_244, G_ma_method_248, PRICE_OPEN, index_4 + 1);

G_ima_164 = iMA(NULL, 0, MAPeriod1, Gi_244, G_ma_method_248, PRICE_OPEN, index_4 + 2);

G_ima_172 = iMA(NULL, 0, MAPeriod1, Gi_244, G_ma_method_248, PRICE_OPEN, index_4 - 1);

G_ima_180 = iMA(NULL, 0, MAPeriod2, Gi_256, G_ma_method_260, PRICE_OPEN, index_4 + 1);

G_ima_188 = iMA(NULL, 0, MAPeriod2, Gi_256, G_ma_method_260, PRICE_OPEN, index_4 + 2);

G_ima_196 = iMA(NULL, 0, MAPeriod2, Gi_256, G_ma_method_260, PRICE_OPEN, index_4 - 1);

G_ima_204 = iMA(NULL, 0, MAPeriod3, Gi_268, G_ma_method_272, PRICE_OPEN, index_4 + 1);

G_ima_212 = iMA(NULL, 0, MAPeriod3, Gi_268, G_ma_method_272, PRICE_OPEN, index_4 + 2);

G_ima_220 = iMA(NULL, 0, MAPeriod3, Gi_268, G_ma_method_272, PRICE_OPEN, index_4 - 1);

if ((G_ima_156 > G_ima_204 && G_ima_164 G_ima_220 && G_ima_180 > G_ima_204) || (G_ima_156 > G_ima_204 && G_ima_180 > G_ima_204 && G_ima_188 <= G_ima_212 &&

G_ima_196 > G_ima_220)) G_ibuf_124 = Low - Gd_140 / 2.0;

if ((G_ima_156 = G_ima_212 && G_ima_172 < G_ima_220 && G_ima_180 < G_ima_204) || (G_ima_156 < G_ima_204 && G_ima_180 = G_ima_212 &&

G_ima_196 < G_ima_220)) G_ibuf_128 = High + Gd_140 / 2.0;

}

if (G_ibuf_124[0] > 2000.0 && G_ibuf_128[0] > 2000.0) Gd_132 = 0;

if (G_ibuf_124[0] == Low[0] - Gd_140 / 2.0 && Gd_132 != Time[0] && SoundAlert != 0) {

Gd_132 = Time[0];

Alert(Symbol(), " Price Cross Up @ Hour ", Hour(), " Minute ", Minute());

}

if (G_ibuf_128[0] == High[0] + Gd_140 / 2.0 && Gd_132 != Time[0] && SoundAlert != 0) {

Gd_132 = Time[0];

Alert(Symbol(), " Price Cross Down @ Hour ", Hour(), " Minute ", Minute());

}

return (0);

}

popey30

can you please post non decomped code?

 

ok, here you are ...

Files:
menecraft.mq4  7 kb
 
popej30:
ok, here you are ...

popej30

That is also decompiled code. Sorry

 

Show me Mladen two files - firs non decompile - second compile. In my opinion non decompile it is ex4, compile - mq4

Reason: