投资者咨询:能否帮忙把下列MT4的文件改成WH6格式的? (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-5-8 15:01
/*
Generated by EX4-TO-MQ4 decompiler FREEWARE V4.0.451.1 [-]
Website: http://www.metaquotes.net
E-mail : support@metaquotes.net
*/
#property link "http://www.forexstrategist.com"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 White
#property indicator_color2 Black
#property indicator_color3 Black
#property indicator_color4 Black
#property indicator_color5 Lime
#property indicator_color6 Red
#property indicator_color7 White
#property indicator_color8 Yellow
extern int SR = 3;
extern int SRZZ = 12;
extern int MainRZZ = 20;
extern int FP = 21;
extern int SMF = 3;
extern bool DrawZZ = FALSE;
extern int PriceConst = 0;
double g_ibuf_104[];
double g_ibuf_108[];
double gda_112[];
double gda_116[];
double g_ibuf_120[];
double g_ibuf_124[];
double g_ibuf_128[];
double g_ibuf_132[];
int gia_136[6] = {0, 0, 0, 0, 0, 0};
int gia_140[5] = {0, 0, 0, 0, 0};
int gi_144;
int gi_148;
int gi_152;
int gi_156;
int gi_160;
bool gi_164 = TRUE;
int g_bars_168 = 0;
// FE96F1FA1C72F38704EDC141EBA3D772
void f0_6(int ai_0) {
if (Bars - ai_0 > SR + 1) f0_5(ai_0);
else gda_112[ai_0] = 0;
if (Bars - ai_0 > FP + SR + 2) {
f0_1(ai_0);
return;
}
gda_116[ai_0] = 0;
}
// F168D35B8002FDC116388DEE85895FDE
void f0_5(int ai_0) {
int li_4;
int count_8;
int li_12;
int li_16;
double ld_20;
switch (PriceConst) {
case 0:
gda_112[ai_0] = iMA(NULL, 0, SR + 1, 0, MODE_LWMA, PRICE_CLOSE, ai_0);
break;
case 1:
gda_112[ai_0] = iMA(NULL, 0, SR + 1, 0, MODE_LWMA, PRICE_OPEN, ai_0);
break;
case 4:
gda_112[ai_0] = iMA(NULL, 0, SR + 1, 0, MODE_LWMA, PRICE_MEDIAN, ai_0);
break;
case 5:
gda_112[ai_0] = iMA(NULL, 0, SR + 1, 0, MODE_LWMA, PRICE_TYPICAL, ai_0);
break;
case 6:
gda_112[ai_0] = iMA(NULL, 0, SR + 1, 0, MODE_LWMA, PRICE_WEIGHTED, ai_0);
break;
default:
gda_112[ai_0] = iMA(NULL, 0, SR + 1, 0, MODE_LWMA, PRICE_OPEN, ai_0);
}
for (int li_32 = ai_0 + SR + 2; li_32 > ai_0; li_32--) {
ld_20 = 0.0;
li_4 = 0;
count_8 = 0;
li_12 = li_32 + SR;
li_16 = li_32 - SR;
if (li_16 < ai_0) li_16 = ai_0;
while (li_12 >= li_32) {
count_8++;
ld_20 += count_8 * f0_2(li_12);
li_4 += count_8;
li_12--;
}
while (li_12 >= li_16) {
count_8--;
ld_20 += count_8 * f0_2(li_12);
li_4 += count_8;
li_12--;
}
gda_112[li_32] = ld_20 / li_4;
}
}
// 5ABFF314964674A606FC93AD8B35C31B
double f0_2(int ai_0) {
switch (PriceConst) {
case 0:
return (Close[ai_0]);
case 1:
return (Open[ai_0]);
case 4:
return ((High[ai_0] + Low[ai_0]) / 2.0);
case 5:
return ((Close[ai_0] + High[ai_0] + Low[ai_0]) / 3.0);
case 6:
return ((2.0 * Close[ai_0] + High[ai_0] + Low[ai_0]) / 4.0);
}
return (Open[ai_0]);
}
// 418A50FDF9ED3CECAF80899543E105B5
void f0_1(int ai_0) {
double ld_4;
double ld_12;
for (int li_20 = ai_0 + SR + 2; li_20 >= ai_0; li_20--) {
ld_4 = gda_112[ArrayMaximum(gda_112, FP, li_20)];
ld_12 = gda_112[ArrayMinimum(gda_112, FP, li_20)];
gda_116[li_20] = ((SMF + 2) * 2 * gda_112[li_20] - (ld_4 + ld_12)) / 2.0 / (SMF + 1);
}
}
// 1E5FD5E14F4FE0B32218614DD15E37E3
void f0_0(int ai_0) {
int li_4;
int li_8;
int li_12;
int index_16;
int li_20 = ai_0 - 1;
int li_24 = 0;
int li_28 = 0;
while (li_20 < gi_144 && li_12 == 0) {
li_20++;
g_ibuf_108[li_20] = 0;
li_4 = li_20 - MainRZZ;
if (li_4 < ai_0) li_4 = ai_0;
li_8 = li_20 + MainRZZ;
if (li_20 == ArrayMinimum(gda_116, li_8 - li_4 + 1, li_4)) {
li_12 = -1;
li_24 = li_20;
}
if (li_20 == ArrayMaximum(gda_116, li_8 - li_4 + 1, li_4)) {
li_12 = 1;
li_28 = li_20;
}
}
if (li_12 != 0) {
index_16 = 0;
if (li_20 > ai_0) {
if (gda_116[li_20] > gda_116[ai_0]) {
if (li_12 == 1) {
if (li_20 >= ai_0 + MainRZZ && index_16 < 5) {
index_16++;
gia_136[index_16] = li_20;
}
li_28 = li_20;
g_ibuf_108[li_20] = gda_116[li_20];
}
} else {
if (li_12 == -1) {
if (li_20 >= ai_0 + MainRZZ && index_16 < 5) {
index_16++;
gia_136[index_16] = li_20;
}
li_24 = li_20;
g_ibuf_108[li_20] = gda_116[li_20];
}
}
}
while (li_20 < gi_160 || index_16 < 5) {
g_ibuf_108[li_20] = 0;
li_4 = li_20 - MainRZZ;
if (li_4 < ai_0) li_4 = ai_0;
li_8 = li_20 + MainRZZ;
if (li_20 == ArrayMinimum(gda_116, li_8 - li_4 + 1, li_4)) {
if (li_12 == -1 && gda_116[li_20] < gda_116[li_24]) {
if (li_20 >= ai_0 + MainRZZ && index_16 < 5) gia_136[index_16] = li_20;
g_ibuf_108[li_24] = 0;
g_ibuf_108[li_20] = gda_116[li_20];
li_24 = li_20;
}
if (li_12 == 1) {
if (li_20 >= ai_0 + MainRZZ && index_16 < 5) {
index_16++;
gia_136[index_16] = li_20;
}
g_ibuf_108[li_20] = gda_116[li_20];
li_12 = -1;
li_24 = li_20;
}
}
if (li_20 == ArrayMaximum(gda_116, li_8 - li_4 + 1, li_4)) {
if (li_12 == 1 && gda_116[li_20] > gda_116[li_28]) {
if (li_20 >= ai_0 + MainRZZ && index_16 < 5) gia_136[index_16] = li_20;
g_ibuf_108[li_28] = 0;
g_ibuf_108[li_20] = gda_116[li_20];
li_28 = li_20;
}
if (li_12 == -1) {
if (li_20 >= ai_0 + MainRZZ && index_16 < 5) {
index_16++;
gia_136[index_16] = li_20;
}
g_ibuf_108[li_20] = gda_116[li_20];
li_12 = 1;
li_28 = li_20;
}
}
li_20++;
if (li_20 > gi_144) return;
}
gi_152 = Bars - gia_136[5];
g_ibuf_108[ai_0] = gda_116[ai_0];
return;
}
}
// D7AA45E64B21C1E5042B57F70530FB9B
void f0_4(int ai_0) {
int li_4;
int li_8;
int li_12;
int index_16;
int li_20 = ai_0 - 1;
int li_24 = 0;
int li_28 = 0;
while (li_20 <= gi_160 && li_12 == 0) {
li_20++;
g_ibuf_132[li_20] = 0;
g_ibuf_128[li_20] = 0;
g_ibuf_124[li_20] = 0;
g_ibuf_120[li_20] = 0;
g_ibuf_104[li_20] = 0;
li_4 = li_20 - SRZZ;
if (li_4 < ai_0) li_4 = ai_0;
li_8 = li_20 + SRZZ;
if (li_20 == ArrayMinimum(gda_116, li_8 - li_4 + 1, li_4)) {
li_12 = -1;
li_24 = li_20;
}
if (li_20 == ArrayMaximum(gda_116, li_8 - li_4 + 1, li_4)) {
li_12 = 1;
li_28 = li_20;
}
}
if (li_12 != 0) {
index_16 = 0;
if (li_20 > ai_0) {
if (gda_116[li_20] > gda_116[ai_0]) {
if (li_12 == 1) {
if (li_20 >= ai_0 + SRZZ && index_16 < 4) {
index_16++;
gia_140[index_16] = li_20;
}
li_28 = li_20;
g_ibuf_124[li_20 - 1] = Open[li_20 - 1];
}
} else {
if (li_12 == -1) {
if (li_20 >= ai_0 + SRZZ && index_16 < 4) {
index_16++;
gia_140[index_16] = li_20;
}
li_24 = li_20;
g_ibuf_120[li_20 - 1] = Open[li_20 - 1];
}
}
}
while (li_20 <= gi_160 || index_16 < 4) {
g_ibuf_132[li_20] = 0;
g_ibuf_128[li_20] = 0;
g_ibuf_124[li_20] = 0;
g_ibuf_120[li_20] = 0;
g_ibuf_104[li_20] = 0;
li_4 = li_20 - SRZZ;
if (li_4 < ai_0) li_4 = ai_0;
li_8 = li_20 + SRZZ;
if (li_20 == ArrayMinimum(gda_116, li_8 - li_4 + 1, li_4)) {
if (li_12 == -1 && gda_116[li_20] < gda_116[li_24]) {
if (li_20 >= ai_0 + SRZZ && index_16 < 4) gia_140[index_16] = li_20;
g_ibuf_120[li_24 - 1] = 0;
g_ibuf_120[li_20 - 1] = Open[li_20 - 1];
li_24 = li_20;
}
if (li_12 == 1) {
if (li_20 >= ai_0 + SRZZ && index_16 < 4) {
index_16++;
gia_140[index_16] = li_20;
}
g_ibuf_120[li_20 - 1] = Open[li_20 - 1];
li_12 = -1;
li_24 = li_20;
}
}
if (li_20 == ArrayMaximum(gda_116, li_8 - li_4 + 1, li_4)) {
if (li_12 == 1 && gda_116[li_20] > gda_116[li_28]) {
if (li_20 >= ai_0 + SRZZ && index_16 < 4) gia_140[index_16] = li_20;
g_ibuf_124[li_28 - 1] = 0;
g_ibuf_124[li_20 - 1] = Open[li_20 - 1];
li_28 = li_20;
}
if (li_12 == -1) {
if (li_20 >= ai_0 + SRZZ && index_16 < 4) {
index_16++;
gia_140[index_16] = li_20;
}
g_ibuf_124[li_20 - 1] = Open[li_20 - 1];
li_12 = 1;
li_28 = li_20;
}
}
li_20++;
if (li_20 > gi_160) return;
}
gi_148 = Bars - gia_140[4];
return;
}
}
// 84E027B4CBED3B483292C9F32152E30C
void f0_3() {
int li_0;
int li_4 = 0;
for (int li_8 = gi_160; g_ibuf_108[li_8] == 0.0; li_8--) {
}
int li_12 = li_8;
double ld_16 = g_ibuf_108[li_8];
for (li_8--; g_ibuf_108[li_8] == 0.0; li_8--) {
}
if (g_ibuf_108[li_8] > ld_16) li_4 = 1;
if (g_ibuf_108[li_8] > 0.0 && g_ibuf_108[li_8] < ld_16) li_4 = -1;
ld_16 = g_ibuf_108[li_12];
for (li_8 = li_12 - 1; li_8 > 0; li_8--) {
if (g_ibuf_108[li_8] > ld_16) {
li_4 = -1;
ld_16 = g_ibuf_108[li_8];
}
if (g_ibuf_108[li_8] > 0.0 && g_ibuf_108[li_8] < ld_16) {
li_4 = 1;
ld_16 = g_ibuf_108[li_8];
}
if (li_4 > 0 && g_ibuf_124[li_8] > 0.0) {
g_ibuf_104[li_8] = Open[li_8];
g_ibuf_124[li_8] = 0;
}
if (li_4 < 0 && g_ibuf_120[li_8] > 0.0) {
g_ibuf_104[li_8] = Open[li_8];
g_ibuf_120[li_8] = 0;
}
if (li_4 > 0 && g_ibuf_120[li_8] > 0.0) {
if (li_8 > 1) {
li_12 = li_8 - 1;
li_0 = li_12 - SRZZ + 1;
if (li_0 < 0) li_0 = 0;
for (int li_24 = li_12; li_24 >= li_0 && g_ibuf_124[li_24] == 0.0; li_24--) {
g_ibuf_128[li_24] = g_ibuf_120[li_8];
g_ibuf_132[li_24] = 0;
}
}
if (li_8 == 1) g_ibuf_128[0] = g_ibuf_120[li_8];
}
if (li_4 < 0 && g_ibuf_124[li_8] > 0.0) {
if (li_8 > 1) {
li_12 = li_8 - 1;
li_0 = li_12 - SRZZ + 1;
if (li_0 < 0) li_0 = 0;
for (li_24 = li_12; li_24 >= li_0 && g_ibuf_120[li_24] == 0.0; li_24--) {
g_ibuf_132[li_24] = g_ibuf_124[li_8];
g_ibuf_128[li_24] = 0;
}
}
if (li_8 == 1) g_ibuf_132[0] = g_ibuf_124[li_8];
}
}
}
// 52D46093050F38C27267BCE42543EF60
void deinit() {
}
// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
IndicatorBuffers(8);
SetIndexBuffer(0, g_ibuf_104);
SetIndexStyle(0, DRAW_ARROW, EMPTY, 0);
SetIndexArrow(0, 34);
SetIndexEmptyValue(0, 0.1);
SetIndexBuffer(1, g_ibuf_108);
if (DrawZZ) {
SetIndexStyle(1, DRAW_SECTION, EMPTY, 2);
SetIndexEmptyValue(1, 0.0);
} else SetIndexStyle(1, DRAW_NONE);
SetIndexBuffer(2, gda_112);
SetIndexStyle(2, DRAW_NONE);
SetIndexBuffer(3, gda_116);
SetIndexStyle(3, DRAW_NONE);
SetIndexBuffer(4, g_ibuf_120);
SetIndexStyle(4, DRAW_ARROW, EMPTY, 0);
SetIndexArrow(4, 59);
SetIndexEmptyValue(4, 0.2);
SetIndexBuffer(5, g_ibuf_124);
SetIndexStyle(5, DRAW_ARROW, EMPTY, 0);
SetIndexArrow(5, 59);
SetIndexEmptyValue(5, 0.2);
SetIndexBuffer(6, g_ibuf_128);
SetIndexStyle(6, DRAW_ARROW, STYLE_SOLID, 0);
SetIndexArrow(6, 59);
SetIndexEmptyValue(6, 0.0);
SetIndexBuffer(7, g_ibuf_132);
SetIndexStyle(7, DRAW_ARROW, STYLE_SOLID, 0);
SetIndexArrow(7, 59);
SetIndexEmptyValue(7, 0.0);
return (0);
}
// EA2B2676C28C0DB26D39331A336C6B92
int start() {
if (TimeCurrent() >= Dད.03.2029 08:00') return (0);
int li_0 = IndicatorCounted();
if (li_0 < 0) return (-1);
if (li_0 > 0) li_0--;
if (gi_164 == TRUE) {
if (SR < 2) SR = 2;
if (Bars <= (MainRZZ + FP + SR + 2) * 2) return (-1);
if (SRZZ <= SR) SRZZ = SR + 1;
gi_144 = Bars - (MainRZZ + FP + SR + 2);
gi_160 = gi_144;
gi_156 = gi_160;
g_bars_168 = Bars;
gi_164 = FALSE;
}
int li_4 = Bars - li_0;
for (int li_8 = li_4; li_8 >= 0; li_8--) f0_6(li_8);
if (g_bars_168 != Bars) {
gi_156 = Bars - gi_148;
gi_160 = Bars - gi_152;
g_bars_168 = Bars;
}
f0_4(0);
f0_0(0);
f0_3();
return (0);
}
投资者咨询:能否帮忙把下列MT4的文件改成WH6格式的? (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-5-8 15:01
谢谢!!!
技术人员回复
日期:2018-5-8 15:36
投资者咨询:能否帮忙把下列MT4的文件改成WH6格式的? (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-5-8 15:01
大哥你这MT4指标源码里面错码太多,里面有OnInit()、还有init()。各种杂七杂八的循环错乱。不知道从哪里下手。
投资者咨询:能否帮忙把下列MT4的文件改成WH6格式的? (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-5-8 15:01
这是MT4里的一个指标,是别人编写的。主要是体现支撑阻力位和出场点。
还请老师棒棒忙
/*
Generated by EX4-TO-MQ4 decompiler FREEWARE V4.0.451.1 [-]
Website: http://www.metaquotes.net
E-mail : support@metaquotes.net
*/
#property copyright "Copyright 2013, Forex Strategies Mentor."
#property link "http://www.forexstrategist.com/"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Lime
#property indicator_color2 Gold
#property indicator_color3 Lime
#property indicator_color4 Gold
#property indicator_color5 Lime
#property indicator_color6 Gold
extern int Length = 8;
extern int Deviation = 1;
extern double MoneyRisk = 1.0;
extern int Signal = 1;
extern int Line = 1;
extern int Nbars = 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;
bool gi_132 = FALSE;
bool gi_136 = FALSE;
// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
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_ARROW, STYLE_SOLID, 0);
SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, 0);
SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 1);
SetIndexStyle(3, DRAW_ARROW, STYLE_SOLID, 1);
SetIndexStyle(4, DRAW_LINE);
SetIndexStyle(5, DRAW_LINE);
SetIndexArrow(0, 159);
SetIndexArrow(1, 159);
SetIndexArrow(2, 233);
SetIndexArrow(3, 234);
IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));
string ls_0 = "BBands Stop(" + Length + "," + Deviation + ")";
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, Length);
SetIndexDrawBegin(1, Length);
SetIndexDrawBegin(2, Length);
SetIndexDrawBegin(3, Length);
SetIndexDrawBegin(4, Length);
SetIndexDrawBegin(5, Length);
return (0);
}
// EA2B2676C28C0DB26D39331A336C6B92
int start() {
int li_8;
double lda_12[25000];
double lda_16[25000];
double lda_20[25000];
double lda_24[25000];
for (int shift_4 = Nbars; shift_4 >= 0; shift_4--) {
g_ibuf_104[shift_4] = 0;
g_ibuf_108[shift_4] = 0;
g_ibuf_112[shift_4] = 0;
g_ibuf_116[shift_4] = 0;
g_ibuf_120[shift_4] = EMPTY_VALUE;
g_ibuf_124[shift_4] = EMPTY_VALUE;
}
for (shift_4 = Nbars - Length - 1; shift_4 >= 0; shift_4--) {
lda_12[shift_4] = iBands(NULL, 0, Length, Deviation, 0, PRICE_CLOSE, MODE_UPPER, shift_4);
lda_16[shift_4] = iBands(NULL, 0, Length, Deviation, 0, PRICE_CLOSE, MODE_LOWER, shift_4);
if (Close[shift_4] > lda_12[shift_4 + 1]) li_8 = 1;
if (Close[shift_4] < lda_16[shift_4 + 1]) li_8 = -1;
if (li_8 > 0 && lda_16[shift_4] < lda_16[shift_4 + 1]) lda_16[shift_4] = lda_16[shift_4 + 1];
if (li_8 < 0 && lda_12[shift_4] > lda_12[shift_4 + 1]) lda_12[shift_4] = lda_12[shift_4 + 1];
lda_20[shift_4] = lda_12[shift_4] + (MoneyRisk - 1.0) / 2.0 * (lda_12[shift_4] - lda_16[shift_4]);
lda_24[shift_4] = lda_16[shift_4] - (MoneyRisk - 1.0) / 2.0 * (lda_12[shift_4] - lda_16[shift_4]);
if (li_8 > 0 && lda_24[shift_4] < lda_24[shift_4 + 1]) lda_24[shift_4] = lda_24[shift_4 + 1];
if (li_8 < 0 && lda_20[shift_4] > lda_20[shift_4 + 1]) lda_20[shift_4] = lda_20[shift_4 + 1];
if (li_8 > 0) {
if (Signal > 0 && g_ibuf_104[shift_4 + 1] == -1.0) {
g_ibuf_112[shift_4] = lda_24[shift_4];
g_ibuf_104[shift_4] = lda_24[shift_4];
if (Line > 0) g_ibuf_120[shift_4] = lda_24[shift_4];
if (SoundON == TRUE && shift_4 == 0 && (!gi_132)) {
Alert("BBands Stop Alert Buy --> ", Symbol(), "@TF", Period());
gi_132 = TRUE;
gi_136 = FALSE;
}
} else {
g_ibuf_104[shift_4] = lda_24[shift_4];
if (Line > 0) g_ibuf_120[shift_4] = lda_24[shift_4];
g_ibuf_112[shift_4] = -1;
}
if (Signal == 2) g_ibuf_104[shift_4] = 0;
g_ibuf_116[shift_4] = -1;
g_ibuf_108[shift_4] = -1.0;
g_ibuf_124[shift_4] = EMPTY_VALUE;
}
if (li_8 < 0) {
if (Signal > 0 && g_ibuf_108[shift_4 + 1] == -1.0) {
g_ibuf_116[shift_4] = lda_20[shift_4];
g_ibuf_108[shift_4] = lda_20[shift_4];
if (Line > 0) g_ibuf_124[shift_4] = lda_20[shift_4];
if (SoundON == TRUE && shift_4 == 0 && (!gi_136)) {
Alert("Bbands Stop Alert Sell --> ", Symbol(), "@TF", Period());
gi_136 = TRUE;
gi_132 = FALSE;
}
} else {
g_ibuf_108[shift_4] = lda_20[shift_4];
if (Line > 0) g_ibuf_124[shift_4] = lda_20[shift_4];
g_ibuf_116[shift_4] = -1;
}
if (Signal == 2) g_ibuf_108[shift_4] = 0;
g_ibuf_112[shift_4] = -1;
g_ibuf_104[shift_4] = -1.0;
g_ibuf_120[shift_4] = EMPTY_VALUE;
}
}
return (0);
}
投资者咨询:能否帮忙把下列MT4的文件改成WH6格式的? (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-5-8 15:01
投资者咨询:能否帮忙把下列MT4的文件改成WH6格式的? (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-5-8 15:01
技术人员回复
日期:2018-5-8 20:58