Помощь в кодировании - страница 546

 

Не мог бы кто-нибудь переделать прилагаемую программу в скрипт. Я хотел бы использовать его на графиках вне линии. Большое спасибо.

 
Jeeves:
Не мог бы кто-нибудь переделать прикрепленный советник в скрипт. Я хотел бы использовать его на автономных графиках. Большое спасибо.

Jeeves

Это означает, что он будет выполняться только на одном тике (в новом metatrader 4 скрипты выполняются только один раз - когда вы бросаете их на график, а затем они выгружаются из памяти).

_____________

PS: если он не работает как советник, то шансы, что он будет работать как скрипт на автономном графике, невелики.

 

Привет, парень. Он отлично работает как советник, но мне бы очень хотелось, чтобы он работал на внелинейном графике. Открытие только один раз не является проблемой, я торгую в течение разумных периодов и новые сделки не так часто. Если бы вы могли сделать скрипт (лучше, чтобы он работал как советник), я был бы благодарен.

Всего доброго.

 
Jeeves:
Привет, парень. Он отлично работает как советник, но мне бы очень хотелось, чтобы он работал на автономном графике. Открытие только один раз не является проблемой, я торгую в течение разумных периодов и новые сделки не так часто. Если бы вы могли сделать скрипт (лучше, чтобы он работал как советник), я был бы благодарен. Берегите себя.

Jeeves

Правильно ли я понимаю, что по какой-то причине советник не работает на автономном графике?

 

Утвердительный

 

Пожалуйста, исправьте это, потому что перекрасьте:

#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:
Пожалуйста, исправьте это, потому что перекрасьте:

#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

не могли бы вы опубликовать код без декомпиляции?

 

Хорошо, вот вы где...

Файлы:
menecraft.mq4  7 kb
 
popej30:
Хорошо, вот вы ...

popej30

Это также декомпилированный код. Извините

 

Покажите мне, Младен, два файла - первый не декомпилированный, второй компилированный. На мой взгляд не декомпилируемый это ex4, компилируемый - mq4