Forex_AI_AutoTrader_v2.1 + mq4最新版测评

Forex_AI_AutoTrader_v2.1 + mq4最新版测评-EA侦探社 - 全球领先的MQL5官网外汇EA机器人MT4自动化交易EA资源免费分享网站
Forex_AI_AutoTrader_v2.1 + mq4最新版测评
此内容为免费资源,请登录后查看
0积分
免费资源

如果免费资源下载的文件为TXT文档

请联系站长更新!站长微信:Lv596999  Telegram:@eapoj

“Mql5官网”板块的EA基本都有,大部分是无限制NODLL版,NODLL版本MT1420升级,大多数不可用!这些EA来源为国外花钱买过来的

有需要,请联系站长!

“EA测评”板块资源全部现有,看见不错的,可以联系站长看EA在确定是否收费

“无限制EA”板块,大部分免费,下载文件全部存在,都可以免费下载

站长硬盘EA太多,因大部分时间做交易,做风控,没太多时间更新下载地址,请谅解!

需要更新下载文件,请联系站长微信!国外朋友请联系Telegram。


/*
Free EX4 To MQ4 Decompile Service
E-mail : ex4free@gmail.com
*/
#property copyright “Copyright ?2008, Gary White”
#property link “http://www.forex-ai.com”

extern string ModeHelp = “A-Auto, F-Fixed Lot”;
extern string Mode = “A”;
extern double Lots = 0.1;
extern int LotsMarginForOne = 2000;
extern int LotsDeltaMargin = 2000;
extern int alpha = 114;
extern int beta = 132;
extern int gamma = 156;
extern int delta = 199;
extern string alt_symbol = “CL_CONT”;
extern int alt_alpha = 200;
extern int alt_beta = 42;
extern int alt_gamma = 81;
extern int alt_delta = 160;
extern double StopLoss = 90.0;
extern bool ClosePositionsOnly = FALSE;
string gs_eurusd_160 = “EURUSD”;
string gs_forex_ai_168 = “Forex-Ai”;
string gs_176 = “”;
int g_magic_184 = 541;
int gi_188 = 0;
int gi_unused_192 = 3;
double g_point_196;

int init() {
if (Point == 0.00001) g_point_196 = 0.0001;
else {
if (Point == 0.001) g_point_196 = 0.01;
else g_point_196 = Point;
}
return (0);
}

int deinit() {
return (0);
}

int start() {
int l_ticket_24;
string ls_0 = “2009.02.28”;
int l_str2time_8 = StrToTime(ls_0);
/* if (TimeCurrent() >= l_str2time_8) {
Comment(“The trial version has been expired! If you have purchased the licensed copy, email: support@forex-ai.com”);
return (0);
} */
if (Symbol() != gs_eurusd_160) {
Comment(“This Expert will only work on the EURUSD currency pair”);
return (0);
}
if (Period() != PERIOD_H4) {
Comment(“This Expert will only work on the H4 chart, please switch back to H4 otherwise it will not execute the trades properly!!!”);
return (0);
}
/* if (gs_forex_ai_168 != “Forex-Ai”) {
Comment(“Wrong password!”);
return (0);
}
if (!(AccountNumber() == 279750 || AccountNumber() == 393368)) {
} */
if (ClosePositionsOnly == FALSE) gs_176 = “The system will trade ” + DoubleToStr(GetLotSize(), 2) + ” lots.”;
else gs_176 = “The system will only focus on closing existing positions”;
gs_176 = gs_176 + ” F:” + Fperceptron();
gs_176 = gs_176 + ” A:” + Cperceptron();
Comment(gs_176);
if (Time[0] == gi_188) return (0);
gi_188 = Time[0];
if (IsTradeAllowed()) {
RefreshRates();
gi_unused_192 = MarketInfo(gs_eurusd_160, MODE_SPREAD);
} else {
gi_188 = Time[1];
return (0);
}
int l_ticket_12 = -1;
int l_ord_total_16 = OrdersTotal();
for (int l_pos_20 = 0; l_pos_20 < l_ord_total_16; l_pos_20++) {
OrderSelect(l_pos_20, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == gs_eurusd_160 && OrderMagicNumber() == g_magic_184) {
l_ticket_24 = OrderTicket();
if (OrderType() == OP_BUY) {
if (Fperceptron() < 0.0 && Cperceptron() < 0.0) {
Lots = GetLotSize();
if (ClosePositionsOnly) {
Comment(“Closing existing position ” + DoubleToStr(Lots, 2) + ” lot”);
OrderClose(l_ticket_24, Lots, 0, 3, Yellow);
Sleep(30000);
} else {
l_ticket_12 = OrderSend(Symbol(), OP_SELL, 2.0 * Lots, Bid, 3, Ask + StopLoss * g_point_196, 0, “AI”, g_magic_184, 0, Red);
OrderModify(l_ticket_12, OrderOpenPrice(), 0, 0, 0, Yellow);
Sleep(30000);
if (l_ticket_12 < 0) gi_188 = Time[1];
else OrderCloseBy(l_ticket_12, l_ticket_24, Brown);
}
} else {
if (OrderStopLoss() < Bid – StopLoss * g_point_196) {
if (!OrderModify(OrderTicket(), OrderOpenPrice(), Bid – StopLoss * g_point_196, 0, 0, Red)) {
Sleep(30000);
gi_188 = Time[1];
}
}
}
} else {
if (Fperceptron() > 0.0 && Cperceptron() > 0.0) {
Lots = GetLotSize();
if (ClosePositionsOnly) {
Comment(“Closing existing position ” + DoubleToStr(Lots, 2) + ” lot”);
OrderClose(l_ticket_24, Lots, 0, 3, Yellow);
Sleep(30000);
} else {
l_ticket_12 = OrderSend(Symbol(), OP_BUY, 2.0 * Lots, Ask, 3, 0, 0, “AI”, g_magic_184, 0, Blue);
OrderModify(l_ticket_12, OrderOpenPrice(), Bid – StopLoss * g_point_196, 0, 0, Yellow);
Sleep(30000);
if (l_ticket_12 < 0) gi_188 = Time[1];
else OrderCloseBy(l_ticket_12, l_ticket_24, Black);
}
} else {
if (OrderStopLoss() > Ask + StopLoss * g_point_196) {
if (!OrderModify(OrderTicket(), OrderOpenPrice(), Ask + StopLoss * g_point_196, 0, 0, Blue)) {
Sleep(30000);
gi_188 = Time[1];
}
}
}
}
return (0);
}
}
if (!ClosePositionsOnly) {
if (Fperceptron() > 0.0 && Cperceptron() > 0.0) {
Lots = GetLotSize();
Comment(Lots + ” buy order about to be sent”);
l_ticket_12 = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, “AI”, g_magic_184, 0, Green);
Comment(“OrderSend failed with error #”, GetLastError() + ” Bid: ” + Bid + ” S/L: ” + ((Bid – StopLoss * g_point_196)));
if (l_ticket_12 < 0) {
Sleep(10000);
gi_188 = Time[1];
} else OrderModify(l_ticket_12, OrderOpenPrice(), Bid – StopLoss * g_point_196, 0, 0, Yellow);
} else {
if (Fperceptron() < 0.0 && Cperceptron() < 0.0) {
Lots = GetLotSize();
l_ticket_12 = OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, “AI”, g_magic_184, 0, Yellow);
if (l_ticket_12 < 0) {
Sleep(10000);
gi_188 = Time[1];
} else OrderModify(l_ticket_12, OrderOpenPrice(), Ask + StopLoss * g_point_196, 0, 0, Yellow);
}
}
}
return (0);
}

double Fperceptron() {
double ld_0 = alpha – 100;
double ld_8 = beta – 100;
double ld_16 = gamma – 100;
double ld_24 = delta – 100;
double l_iac_32 = iAC(Symbol(), 0, 0);
double l_iac_40 = iAC(Symbol(), 0, 7);
double l_iac_48 = iAC(Symbol(), 0, 14);
double l_iac_56 = iAC(Symbol(), 0, 21);
return (ld_0 * l_iac_32 + ld_8 * l_iac_40 + ld_16 * l_iac_48 + ld_24 * l_iac_56);
}

double Cperceptron() {
double ld_0 = alt_alpha – 100;
double ld_8 = alt_beta – 100;
double ld_16 = alt_gamma – 100;
double ld_24 = alt_delta – 100;
double l_iac_32 = iAC(alt_symbol, 0, 0);
double l_iac_40 = iAC(alt_symbol, 0, 7);
double l_iac_48 = iAC(alt_symbol, 0, 14);
double l_iac_56 = iAC(alt_symbol, 0, 21);
return (ld_0 * l_iac_32 + ld_8 * l_iac_40 + ld_16 * l_iac_48 + ld_24 * l_iac_56);
}

double GetLotSize() {
double ld_ret_0;
if (Mode == “F”) ld_ret_0 = Lots;
if (Mode == “A”) ld_ret_0 = MathCeil((AccountFreeMargin() – LotsMarginForOne) / LotsDeltaMargin) / 10.0;
if (ld_ret_0 < 0.1) ld_ret_0 = 0.1;
return (ld_ret_0);
}

© 版权声明
THE END
喜欢就支持一下吧
点赞30 分享
相关推荐