论坛上看见的一款顺势突破的EA加了时间限制,求大神帮忙去除时间限制
/*
Generated by ex4-to-mq4 decompiler (forex-warez.com) 4.0.509.5
Website: wW w. Fore x-w A Re Z . cOm
E-mail : A n DR e YB bRv@ GmAI l.c o m
*/
#property copyright "永远做顺势,技术QQ342036438"
#property link ""
//#include
#import "stdlib.ex4"
string ErrorDescription(int a0); // DA69CBAFF4D38B87377667EEC549DE5A
#import
extern string EA_资金管理 = "==== 资金管理与手数设置 ====";
extern bool AccountIsMini = FALSE;
extern bool MoneyManagement = FALSE;
extern double TradeSizePercent = 5.0;
extern double Lots = 1.0;
extern double MaxLots = 100.0;
int G_ma_method_116 = MODE_SMA;
int G_period_120 = 2;
int Gi_124 = 0;
int G_applied_price_128 = PRICE_CLOSE;
int G_ma_method_132 = MODE_SMA;
int G_period_136 = 5;
int Gi_140 = 0;
int G_applied_price_144 = PRICE_CLOSE;
extern string EA_突破距离 = "==== 黄金突破距离建议大于300点 ====";
extern double BreakOutLevel = 400.0;
int Gi_164 = 1;
extern double StopLoss = 30.0;
extern bool UseTrailingStop = TRUE;
extern int TrailingStopType = 1;
double G_pips_184 = 40.0;
double G_pips_192 = 20.0;
double G_pips_200 = 20.0;
double G_pips_208 = 30.0;
double G_pips_216 = 20.0;
double G_pips_224 = 50.0;
double G_pips_232 = 20.0;
extern int TakeProfit = 0;
double Gd_244 = 10.0;
int G_slippage_252 = 10;
extern string EA_做单时间 = "==== 建议用在行情较大时段,请结合服务器时间 ====";
bool Gi_264 = TRUE;
extern int StartHour = 10;
extern int StopHour = 23;
bool Gi_unused_276 = TRUE;
string Gs_unused_280 = "21:30";
bool Gi_unused_288 = TRUE;
string Gs_unused_292 = "19:00";
int G_magic_300;
string G_comment_304;
bool Gi_312;
double G_lots_316;
int Gi_324;
// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
f0_8("Title1", 15, 20, "推荐用热汇平台,有使用时间限制,用前请联系QQ342036438", 13, "Verdana", MediumSeaGreen);
G_comment_304 = "探宝5分钟第一季" + Symbol() + "_" + f0_13(f0_15(Period()));
G_magic_300 = 100 * f0_19(Symbol()) + 3000 + f0_15(Period());
return (0);
}
// 52D46093050F38C27267BCE42543EF60
int deinit() {
return (0);
}
// 4B8C3DE28A86BF6C14EF6A39D5392FE7
double f0_5(int Ai_0, int Ai_4, int A_timeframe_8, int Ai_12) {
double Ld_28;
double Ld_40;
double Ld_48;
int Li_36 = Ai_0;
double Ld_20 = 0;
for (int Li_16 = Li_36; Li_16 >= 1; Li_16--) {
Ld_40 = Li_36 + 1;
Ld_40 /= 3.0;
Ld_48 = 0;
switch (Ai_4) {
case 0:
Ld_28 = iClose(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12);
break;
case 1:
Ld_28 = iOpen(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12);
break;
case 2:
Ld_28 = iHigh(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12);
break;
case 3:
Ld_28 = iLow(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12);
break;
case 4:
Ld_28 = (iHigh(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12) + iLow(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12)) / 2.0;
break;
case 5:
Ld_28 = (iHigh(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12) + iLow(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12) + iClose(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12)) / 3.0;
break;
case 6:
Ld_28 = (iHigh(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12) + iLow(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12) + iClose(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12) +
iClose(NULL, A_timeframe_8, Li_36 - Li_16 + Ai_12)) / 4.0;
}
Ld_48 = (Li_16 - Ld_40) * Ld_28;
Ld_20 += Ld_48;
}
double Ld_ret_56 = 6.0 * Ld_20 / (Li_36 * (Li_36 + 1));
return (Ld_ret_56);
}
// F8CD7534C37341E3D610AFA8F96D776F
int f0_22(string As_0) {
double ima_12;
double ima_20;
bool Li_ret_8 = FALSE;
if (G_ma_method_116 == 4) ima_12 = f0_5(G_period_120, G_applied_price_128, 0, Gi_164);
else ima_12 = iMA(NULL, 0, G_period_120, Gi_124, G_ma_method_116, G_applied_price_128, Gi_164);
if (G_ma_method_132 == 4) ima_20 = f0_5(G_period_136, G_applied_price_144, 0, Gi_164);
else ima_20 = iMA(NULL, 0, G_period_136, Gi_140, G_ma_method_132, G_applied_price_144, Gi_164);
if (As_0 == "BUY" && ima_12 - ima_20 0.0) Li_ret_8 = TRUE;
return (Li_ret_8);
}
// D48BB299A069651502CF5E4D9AC7EB16
int f0_17(string As_0) {
double ima_12;
double ima_20;
bool Li_ret_8 = FALSE;
if (G_ma_method_116 == 4) ima_12 = f0_5(G_period_120, G_applied_price_128, 0, Gi_164);
else ima_12 = iMA(NULL, 0, G_period_120, Gi_124, G_ma_method_116, G_applied_price_128, Gi_164);
if (G_ma_method_132 == 4) ima_20 = f0_5(G_period_136, G_applied_price_144, 0, Gi_164);
else ima_20 = iMA(NULL, 0, G_period_136, Gi_140, G_ma_method_132, G_applied_price_144, Gi_164);
if (As_0 == "BUY" && ima_12 - ima_20 > 0.0) Li_ret_8 = TRUE;
if (As_0 == "SELL" && ima_12 - ima_20 = StartHour && Hour() 0) return (0);
G_lots_316 = f0_4();
if (f0_17("BUY")) f0_6();
if (f0_17("SELL")) f0_10();
if (DayOfWeek() == 5 && Hour() >= 18 && OrderType() == OP_BUY) f0_16(OrderTicket(), OrderLots(), Ask);
if (DayOfWeek() == 5 && Hour() >= 18 && OrderType() == OP_SELL) f0_16(OrderTicket(), OrderLots(), Bid);
return (0);
}
// 4C5B01A3FCF8E251818DCD8FEDE53FAD
void f0_6() {
int error_0;
double price_8 = 0;
double price_16 = 0;
double price_24 = Ask + BreakOutLevel * Point;
price_8 = 0;
if (StopLoss > 0.0) price_8 = price_24 - Point * StopLoss;
price_16 = 0;
if (TakeProfit > 0) price_16 = price_24 + Point * TakeProfit;
int ticket_4 = OrderSend(Symbol(), OP_BUYSTOP, G_lots_316, price_24, 0, price_8, price_16, G_comment_304, G_magic_300, 0, Green);
if (ticket_4 0.0) price_8 = price_24 + Point * StopLoss;
price_16 = 0;
if (TakeProfit > 0) price_16 = price_24 - Point * TakeProfit;
int ticket_4 = OrderSend(Symbol(), OP_SELLSTOP, G_lots_316, price_24, 0, price_8, price_16, G_comment_304, G_magic_300, 0, Red);
if (ticket_4 = 0; pos_4--) {
OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() == G_magic_300) {
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_BUY) count_0++;
if (OrderType() == OP_SELL) count_0++;
}
}
}
return (count_0);
}
// 28F7B2EC5CF342F6ED48FAA22FB3DF9E
int f0_3() {
int count_0 = 0;
for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--) {
OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() == G_magic_300) {
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_BUYSTOP) count_0++;
if (OrderType() == OP_SELLSTOP) count_0++;
}
}
}
return (count_0);
}
// 5CD2F133A3D60E524480B02301FC0893
int f0_7() {
for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {
OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
if (OrderMagicNumber() == G_magic_300) {
if (OrderType() == OP_BUY) {
if (f0_22("BUY")) f0_16(OrderTicket(), OrderLots(), Bid);
else
if (UseTrailingStop) f0_14("BUY", OrderTicket(), OrderOpenPrice(), OrderStopLoss(), OrderTakeProfit());
}
if (OrderType() == OP_SELL) {
if (f0_22("SELL")) f0_16(OrderTicket(), OrderLots(), Ask);
else
if (UseTrailingStop) f0_14("SELL", OrderTicket(), OrderOpenPrice(), OrderStopLoss(), OrderTakeProfit());
}
if (OrderType() == OP_BUYSTOP && f0_22("BUY")) f0_18(OrderTicket());
if (OrderType() == OP_SELLSTOP && f0_22("SELL")) f0_18(OrderTicket());
}
}
}
return (0);
}
// DE3E80B2DA941FF87A5E5DEF3C9D2685
void f0_18(int A_ticket_0) {
int error_8;
int count_4 = 0;
while (count_4 0/* NO_ERROR */) count_4++;
}
}
}
// D43CF0F27808F53715C65F405A5023D1
void f0_16(int A_ticket_0, double A_lots_4, double A_price_12) {
int error_24;
int count_20 = 0;
while (count_20 0/* NO_ERROR */) count_20++;
}
}
}
// F235F73FF9E6C9B0402F9856A41D6B1B
void f0_21(int Ai_unused_0, double A_price_4, double A_price_12, double A_price_20) {
int error_32;
int count_28 = 0;
while (count_28 0/* NO_ERROR */) count_28++;
}
}
}
// BB617BC252818B36E9A692DB7FF732AD
int f0_14(string As_0, int Ai_8, double Ad_12, double Ad_20, double Ad_28) {
double Ld_36;
double Ld_44 = 0;
if (As_0 == "BUY") {
switch (TrailingStopType) {
case 1:
Ld_36 = Point * StopLoss;
if (Bid - Ad_20 Ld_36 && Ad_20 G_pips_192 * Point) {
Ld_44 = Ad_12 + G_pips_192 * Point - G_pips_200 * Point;
if (Ad_20 G_pips_208 * Point) {
Ld_44 = Ad_12 + G_pips_208 * Point - G_pips_216 * Point;
if (Ad_20 = Ld_44) break;
f0_21(Ai_8, Ad_12, Ld_44, Ad_28);
}
return (0);
}
if (As_0 == "SELL") {
switch (TrailingStopType) {
case 1:
Ld_36 = Point * StopLoss;
if (Ad_20 - Ask Ld_36 && Ad_20 > Ask + Ld_36)) break;
f0_21(Ai_8, Ad_12, Ask + Ld_36, Ad_28);
break;
case 3:
if (Ad_12 - Ask > G_pips_192 * Point) {
Ld_44 = Ad_12 - G_pips_192 * Point + G_pips_200 * Point;
if (Ad_20 > Ld_44) f0_21(Ai_8, Ad_12, Ld_44, Ad_28);
}
if (Ad_12 - Ask > G_pips_208 * Point) {
Ld_44 = Ad_12 - G_pips_208 * Point + G_pips_216 * Point;
if (Ad_20 > Ld_44) f0_21(Ai_8, Ad_12, Ld_44, Ad_28);
}
if (Ad_12 - Ask 1.0) Ld_ret_0 /= 10.0;
if (Ld_ret_0 MaxLots) Ld_ret_0 = MaxLots;
} else {
if (Ld_ret_0 MaxLots) Ld_ret_0 = MaxLots;
}
return (Ld_ret_0);
}
// C09C885CAEE136BC3189E82185D1B9AE
int f0_15(int Ai_0) {
switch (Ai_0) {
case 1:
return (1);
case 5:
return (2);
case 15:
return (3);
case 30:
return (4);
case 60:
return (5);
case 240:
return (6);
case 1440:
return (7);
case 10080:
return (8);
case 43200:
return (9);
}
return (0);
}
// B5E09A5E5FBEFEF5D1A499BAFF024726
string f0_13(int Ai_0) {
switch (Ai_0) {
case 1:
return ("PERIOD_M1");
case 2:
return ("PERIOD_M5");
case 3:
return ("PERIOD_M15");
case 4:
return ("PERIOD_M30");
case 5:
return ("PERIOD_H1");
case 6:
return ("PERIOD_H4");
case 7:
return ("PERIOD_D1");
case 8:
return ("PERIOD_W1");
case 9:
return ("PERIOD_MN1");
}
return ("undefined " + Ai_0);
}
// E1E9667FB534E90DA6A5A6A48A24DFF3
int f0_19(string As_0) {
if (As_0 == "AUDCAD") return (1);
if (As_0 == "AUDJPY") return (2);
if (As_0 == "AUDNZD") return (3);
if (As_0 == "AUDUSD") return (4);
if (As_0 == "CHFJPY") return (5);
if (As_0 == "EURAUD") return (6);
if (As_0 == "EURCAD") return (7);
if (As_0 == "EURCHF") return (8);
if (As_0 == "EURGBP") return (9);
if (As_0 == "EURJPY") return (10);
if (As_0 == "EURUSD") return (11);
if (As_0 == "GBPCHF") return (12);
if (As_0 == "GBPJPY") return (13);
if (As_0 == "GBPUSD") return (14);
if (As_0 == "NZDUSD") return (15);
if (As_0 == "USDCAD") return (16);
if (As_0 == "USDCHF") return (17);
if (As_0 == "USDJPY") return (18);
Comment("unexpected Symbol");
return (0);
}
// 1662FF6CD2E3BFE8F6ADFBEFD0AB07F5
int f0_1() {
if (f0_9(G_ma_method_116)) {
Alert("FastMA_Mode(0 to 4) You entered ", G_ma_method_116);
return (1);
}
if (f0_9(G_ma_method_132)) {
Alert("SlowMA_Mode(0 to 4) You entered ", G_ma_method_132);
return (1);
}
if (f0_2(G_applied_price_128)) {
Alert("FastMA_AppliedPrice( 0 to 6) You entered ", G_applied_price_128);
return (1);
}
if (f0_2(G_applied_price_144)) {
Alert("SlowMA_AppliedPrice(0 to 6) You entered ", G_applied_price_144);
return (1);
}
if (f0_0(TrailingStopType)) {
Alert("TrailingStopType( 1 to 3) You entered ", TrailingStopType);
return (1);
}
return (0);
}
// 6CA240FD3615CE2410061AE0046BE6CA
int f0_9(int Ai_0) {
if (Ai_0 4) return (1);
return (0);
}
// 27AF3095DC10F7F1F257D8E29D49A881
int f0_2(int Ai_0) {
if (Ai_0 6) return (1);
return (0);
}
// 1631272118166D29A60C2E91C2DC1784
int f0_0(int Ai_0) {
if (Ai_0 3) return (1);
return (0);
}
// 8484718D67E626BA1EA010C0614F1701
bool f0_11() {
datetime Lt_4 = D'01.01.2011 08:00';
datetime Lt_8 = D'31.01.2014 08:00';
int datetime_0 = TimeCurrent();
if (datetime_0 >= Lt_4 && datetime_0 = Lt_4 && datetime_0 <= Lt_8) return (TRUE);
return (FALSE);
}
改为
bool f0_11() {
return (TRUE);
} |