الإكسبرت يعتمد على مؤشر الإستوكاستيك و ATR و CCI والموفينج أفريج وكلهم على فريم 15 دقيقهاقتباس:
ما هى الاستراتيجية التى يقوم عليها هذا الاكسبيرت
كود PHP:
#property copyright "Copyright © 2012, Salma Financial Group"
#property link "http://www.facebook.com/Salma.Global"
extern string EA_Name = "Salma_EA";
extern string Programmer = "Copyright © 2012, Salma Financial Group";
extern int Password = 12345;
string gs_unused_96 = "-------Trading-------";
int gi_104 = 3;
bool gi_108 = TRUE;
int gi_112 = 68;
int gi_116 = 50;
double g_pips_120 = 4.0;
double gd_128 = 2.0;
string gs_unused_136 = "-------MoneyManagement-------";
double gd_144 = 100.0;
double gd_152 = 100.0;
double g_order_lots_160 = 0.01;
double gd_168 = 0.0;
double gd_176 = 1000.0;
bool gi_184 = false;
string gs_unused_188 = "---If RecoveryMode = TRUE, setup---";
int gi_196 = 50;
double gd_200 = 25.0;
double gd_208 = 0.5;
double gd_216 = 0.0;
double gd_224 = 2.0;
string gs_unused_232 = "-------Parametres Orders-------";
bool gi_240 = TRUE;
double g_pips_244 = 0.0;
double gd_252 = 20.0;
int gi_260 = 20;
double gd_264 = 1.0;
bool gi_272 = TRUE;
bool gi_276 = TRUE;
double g_pips_280 = 0.0;
double gd_288 = 0.0;
bool gi_296 = FALSE;
bool gi_300 = FALSE;
double g_pips_304 = 0.0;
double gd_312 = 11.0;
double gd_320 = 1.5;
bool gi_328 = TRUE;
bool gi_332 = TRUE;
int gi_336 = 0;
double gd_340 = 2.0;
double gd_348 = 11.0;
string gs_unused_356 = "-------Trailing-------";
double g_pips_364 = 15.0;
double g_pips_372 = 7.0;
double g_pips_380 = 8.0;
string gs_unused_388 = "-------Professional options-------";
bool gi_396 = TRUE;
bool gi_400 = TRUE;
int gi_404 = 2;
int g_timeframe_408 = PERIOD_M5;
double gd_412 = 10.0;
bool gi_420 = FALSE;
bool gi_424 = FALSE;
bool gi_428 = FALSE;
bool gi_432 = FALSE;
string gs_unused_436 = "Âðåìÿ òîðãîâîé ïàóçû";
bool gi_444 = FALSE;
double gd_448 = 14.0;
double gd_456 = 1.0;
double gd_464 = 5.0;
double gd_472 = 1.0;
double gd_480 = 0.0;
double gd_488 = 6.0;
int g_magic_496 = 567033;
int g_magic_500 = 560834;
int gi_unused_504 = 560835;
int gi_unused_508 = 560836;
int gi_unused_512 = 560837;
int g_color_516 = Gold;
int g_color_520 = Lime;
string gs_unused_524 = "-------Optimization-------";
string gs_unused_532 = "---";
int gi_540 = 4;
int gi_544 = 8;
int gi_548 = -50;
double g_pips_552 = 0.0;
string gs_unused_560 = "---";
int g_period_568 = 55;
int g_period_572 = 18;
int g_period_576 = 14;
int g_period_580 = 11;
int gi_584 = 18;
int gi_588 = 39;
int gi_592 = 1;
int gi_596 = 5;
string gs_unused_600 = "---";
int g_period_608 = 55;
int g_period_612 = 18;
int g_period_616 = 14;
int g_period_620 = 11;
int gi_624 = 15;
int gi_628 = 39;
int gi_632 = 1;
int gi_636 = 5;
string gs_unused_640 = "---";
int gi_648 = 6;
double gd_652 = 150.0;
string gs_unused_660 = "---";
int gi_668 = 14;
int gi_672 = 90;
extern string Note = "*** Full Automated Expert Advisor ***";
double gd_684;
int gi_692;
int gi_unused_696 = 0;
int gi_700;
double gd_704;
string gs_712;
double gd_720 = 3.0;
int g_slippage_728;
int g_slippage_732;
int gi_736 = 1;
double gd_740;
bool gi_748;
string g_comment_752 = "Salma_EA";
int gi_760 = 0;
double g_minlot_764 = 0.01;
double g_maxlot_772 = 0.01;
double g_lotstep_780 = 0.01;
int gi_788 = 100000;
double g_marginrequired_792 = 1000.0;
double gd_800 = 1.0;
double gd_808;
int gi_816;
int gi_820;
int gi_824;
int gi_828;
int gi_832;
int gi_836;
int g_color_840 = Green;
int g_color_844 = Red;
int g_color_848 = DodgerBlue;
int g_color_852 = DeepPink;
bool gi_856 = TRUE;
string gs_860 = "alert.wav";
string gs_unused_868 = "alert.wav";
int gi_876 = 1;
bool gi_880 = FALSE;
int f0_0() {
if (IsTesting()) return (1);
int li_0 = AccountNumber() * 2 + 1001;
if (Password == li_0) return (1);
Alert("Wrong password. EA does not work.");
return (0);
}
void init() {
if (IsTesting() && (!IsVisualMode())) gi_432 = FALSE;
if (!gi_432) Comment("");
gs_712 = Symbol();
if (Digits < 4) {
gd_684 = 0.01;
gi_692 = 2;
gd_704 = 0.009;
} else {
gd_684 = 0.0001;
gi_692 = 4;
gd_704 = 0.00009;
}
if (Digits == 4) gi_700 = 1;
if (Digits == 5) gi_700 = 10;
if (Digits == 3) gi_700 = gd_412;
if (Digits == 2) gi_700 = gd_412 / 10.0;
g_slippage_728 = gd_128 * MathPow(10, Digits - gi_692);
g_slippage_732 = gd_720 * MathPow(10, Digits - gi_692);
gd_740 = NormalizeDouble(g_pips_120 * gd_684, gi_692 + 1);
g_minlot_764 = MarketInfo(Symbol(), MODE_MINLOT);
g_maxlot_772 = MarketInfo(Symbol(), MODE_MAXLOT);
if (g_maxlot_772 > gd_176) g_maxlot_772 = gd_176;
gi_788 = MarketInfo(Symbol(), MODE_LOTSIZE);
g_lotstep_780 = MarketInfo(Symbol(), MODE_LOTSTEP);
g_marginrequired_792 = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
double ld_0 = 0;
if (StringSubstr(AccountCurrency(), 0, 3) == "JPY") {
ld_0 = MarketInfo("USDJPY" + StringSubstr(Symbol(), 6), MODE_BID);
if (ld_0 > 0.1) gd_800 = ld_0;
else gd_800 = 84;
}
if (StringSubstr(AccountCurrency(), 0, 3) == "GBP") {
ld_0 = MarketInfo("GBPUSD" + StringSubstr(Symbol(), 6), MODE_BID);
if (ld_0 > 0.1) gd_800 = 1 / ld_0;
else gd_800 = 0.6211180124;
}
if (StringSubstr(AccountCurrency(), 0, 3) == "EUR") {
ld_0 = MarketInfo("EURUSD" + StringSubstr(Symbol(), 6), MODE_BID);
if (ld_0 > 0.1) gd_800 = 1 / ld_0;
else gd_800 = 0.7042253521;
}
gi_816 = gi_592;
gi_820 = gi_596;
gi_824 = 100 - gi_632;
gi_828 = 100 - gi_636;
gi_832 = gi_672;
gi_836 = 100 - gi_672;
}
int deinit() {
if (ObjectFind("BKGR") >= 0) ObjectDelete("BKGR");
if (ObjectFind("BKGR2") >= 0) ObjectDelete("BKGR2");
if (ObjectFind("BKGR3") >= 0) ObjectDelete("BKGR3");
if (ObjectFind("BKGR4") >= 0) ObjectDelete("BKGR4");
if (ObjectFind("LV") >= 0) ObjectDelete("LV");
return (0);
}
int start() {
bool li_0;
if (f0_0() != 0) {
li_0 = FALSE;
if (!IsTesting()) {
Comment("\n", " Salma_EA ",
"\n",
"\n", " Account Number: ", AccountNumber(),
"\n", " Your Salma EA is O.K ...",
"\n",
"\n", " Broker Time : ", TimeToStr(TimeCurrent()),
"\n", " Spread = ", DoubleToStr((Ask - Bid) / gd_684, 1), " pips",
"\n", " MaxSpread = ", DoubleToStr(g_pips_120, 1), " pips",
"\n",
"\n", " Copyright © 2012, Salma Financial Group",
"\n", " http://www.facebook.com/Salma.Global",
"\n", " [email protected]",
"\n");
}
if (Hour() >= gd_480 && Hour() < gd_488 && gd_480 > 0.0) li_0 = TRUE;
if (DayOfWeek() >= gd_464 && Hour() >= gd_448 && gi_444 == TRUE) li_0 = TRUE;
if (DayOfWeek() <= gd_472 && Hour() <= gd_456 && gi_444 == TRUE) li_0 = TRUE;
if (li_0 == TRUE) {
ObjectCreate("P", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet("P", OBJPROP_CORNER, 2);
ObjectSet("P", OBJPROP_YDISTANCE, 75);
ObjectSet("P", OBJPROP_XDISTANCE, 10);
ObjectSetText("P", "ÏÅÐÅÐÛÂ! ", 20, "Tahoma", Red);
}
if (li_0 == FALSE) ObjectDelete("P");
f0_9();
f0_2();
if (g_pips_280 > 0.0) f0_3(li_0);
if (g_pips_304 > 0.0) f0_14(li_0);
if (g_pips_244 > 0.0) f0_4(li_0);
if (gi_296 == TRUE) f0_16();
if (Ask - Bid > g_pips_120 * Point * gi_700) {
ObjectCreate("Spread", OBJ_LABEL, 0, 0, 0, 0, 0);
ObjectSet("Spread", OBJPROP_CORNER, 2);
ObjectSet("Spread", OBJPROP_YDISTANCE, 45);
ObjectSet("Spread", OBJPROP_XDISTANCE, 10);
ObjectSetText("Spread", "Spread ! " + DoubleToStr((Ask - Bid) / Point, 0), 20, "Tahoma", Red);
}
if (Ask - Bid < g_pips_120 * Point * gi_700) ObjectDelete("Spread");
if (gi_104 > 0 && iVolume(Symbol(), PERIOD_M1, 0) > gi_104) return (0);
if (gd_144 > 0.0 && (!gi_184)) gd_808 = MathMax(g_minlot_764, MathMin(g_maxlot_772, MathCeil(MathMin(gd_152, gd_144) / gd_800 / 100.0 * AccountFreeMargin() / g_lotstep_780 / (gi_788 / 100)) * g_lotstep_780));
if (gd_144 > 0.0 && gi_184) gd_808 = f0_8();
if (gd_144 == 0.0) gd_808 = g_order_lots_160;
if (DayOfWeek() == 1 && iVolume(NULL, PERIOD_D1, 0) < 5.0) return (0);
if (StringLen(gs_712) < 6) return (0);
if ((!IsTesting()) && IsStopped()) return (0);
if ((!IsTesting()) && !IsTradeAllowed()) return (0);
if ((!IsTesting()) && IsTradeContextBusy()) return (0);
HideTestIndicators(TRUE);
if (li_0 != FALSE) return (0);
f0_11();
}
return (0);
}
void f0_11() {
if (f0_10() == 1) {
if ((!gi_748) && gi_428) {
Print("Òîðãîâûé ñèãíàë ïðîïóùåí èç-çà áîëüøîãî ñïðåäà.");
Print("Òåêóùèé ñïðåä = ", DoubleToStr((Ask - Bid) / gd_684, 1), ", MaxSpread = ", DoubleToStr(g_pips_120, 1));
Print("Ýêñïåðò áóäåò ïðîáîâàòü ïîçæå, êîãäà ñïðåä ñòàíåò äîïóñòèìûì.");
}
gi_748 = TRUE;
return;
}
gi_748 = FALSE;
if (f0_1() && f0_7() && gi_396) f0_12(OP_BUY);
if (f0_13() && f0_7() && gi_400) f0_12(OP_SELL);
}
int f0_12(int a_cmd_0) {
int li_4;
double order_open_price_8;
color color_16;
int ticket_20;
int error_24;
string ls_unused_28;
double order_open_price_36;
double ld_44;
double ld_52;
bool li_60 = FALSE;
bool li_64 = FALSE;
bool li_68 = FALSE;
bool li_72 = FALSE;
int li_unused_76 = 0;
int li_unused_80 = 0;
for (int pos_84 = OrdersTotal() - 1; pos_84 >= 0; pos_84--) {
if (OrderSelect(pos_84, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol()) {
if (OrderType() == OP_BUYLIMIT && OrderMagicNumber() == g_magic_496) li_60 = TRUE;
if (OrderType() == OP_SELLLIMIT && OrderMagicNumber() == g_magic_496) li_64 = TRUE;
if (OrderType() == OP_SELLSTOP && OrderMagicNumber() == g_magic_496) li_72 = TRUE;
if (OrderType() == OP_BUYSTOP && OrderMagicNumber() == g_magic_496) li_68 = TRUE;
}
}
bool li_88 = FALSE;
bool li_92 = FALSE;
double ld_96 = NormalizeDouble(gi_112 * gd_684, gi_692);
double ld_104 = NormalizeDouble(gi_116 * gd_684, gi_692);
if (gi_760 > 0) {
MathSrand(TimeLocal());
li_4 = MathRand() % gi_760;
Sleep(1000 * li_4);
}
double ld_112 = gd_808;
if (gd_168 > 0.0) ld_112 = gd_168;
if (AccountFreeMarginCheck(gs_712, a_cmd_0, ld_112) <= 0.0 || GetLastError() == 134/* NOT_ENOUGH_MONEY */) {
if (!gi_428) return (-1);
return (-1);
}
RefreshRates();
if (a_cmd_0 == OP_BUY) {
li_88 = TRUE;
order_open_price_36 = NormalizeDouble(Ask, Digits);
color_16 = g_color_840;
if (gi_240) {
ld_44 = NormalizeDouble(order_open_price_36 + ld_96, Digits);
ld_52 = NormalizeDouble(order_open_price_36 - ld_104, Digits);
} else {
ld_44 = 0;
ld_52 = 0;
}
} else {
li_92 = TRUE;
order_open_price_36 = NormalizeDouble(Bid, Digits);
color_16 = g_color_844;
if (gi_240) {
ld_44 = NormalizeDouble(order_open_price_36 - ld_96, Digits);
ld_52 = NormalizeDouble(order_open_price_36 + ld_104, Digits);
} else {
ld_44 = 0;
ld_52 = 0;
}
}
int li_120 = gi_736;
double icustom_124 = iCustom(NULL, 0, "salma", 3, 1);
double icustom_132 = iCustom(NULL, 0, "salma", 2, 1);
while (li_120 > 0 && f0_7()) {
if (gi_276 == TRUE && li_88 == TRUE && icustom_124 > icustom_132) OrderSend(gs_712, OP_BUY, ld_112, NormalizeDouble(Ask, Digits), g_slippage_728, 0, 0, g_comment_752, g_magic_496, 0, color_16);
if (gi_276 == TRUE && li_92 == TRUE && icustom_124 < icustom_132) OrderSend(gs_712, OP_SELL, ld_112, NormalizeDouble(Bid, Digits), g_slippage_728, 0, 0, g_comment_752, g_magic_496, 0, color_16);
if (g_pips_304 > 0.0 && li_88 == TRUE && li_60 == FALSE) OrderSend(gs_712, OP_BUYLIMIT, ld_112, NormalizeDouble(Bid - g_pips_304 * Point * gi_700, Digits), g_slippage_728, 0, 0, g_comment_752, g_magic_496, 0, color_16);
if (g_pips_304 > 0.0 && li_92 == TRUE && li_64 == FALSE) OrderSend(gs_712, OP_SELLLIMIT, ld_112, NormalizeDouble(Ask + g_pips_304 * Point * gi_700, Digits), g_slippage_728, 0, 0, g_comment_752, g_magic_496, 0, color_16);
if (gi_336 > 0 && li_88 == TRUE && li_72 == FALSE) {
OrderSend(gs_712, OP_SELLSTOP, gd_340 * ld_112, NormalizeDouble(Bid - gi_336 * Point * gi_700, Digits), g_slippage_728, 0, 0, "R", g_magic_496, TimeCurrent() + 60.0 * gd_348,
color_16);
}
if (gi_336 > 0 && li_92 == TRUE && li_68 == FALSE) {
OrderSend(gs_712, OP_BUYSTOP, gd_340 * ld_112, NormalizeDouble(Ask + gi_336 * Point * gi_700, Digits), g_slippage_728, 0, 0, "R", g_magic_496, TimeCurrent() + 60.0 * gd_348,
color_16);
}
Sleep(MathRand() / 1000);
if (ticket_20 < 0) {
error_24 = GetLastError();
if (gi_428) {
if (a_cmd_0 == OP_BUY) ls_unused_28 = "OP_BUY";
else ls_unused_28 = "OP_SELL";
}
if (error_24 != 136/* OFF_QUOTES */) break;
if (!(gi_880)) break;
Sleep(6000);
RefreshRates();
if (a_cmd_0 == OP_BUY) order_open_price_8 = NormalizeDouble(Ask, Digits);
else order_open_price_8 = NormalizeDouble(Bid, Digits);
if (NormalizeDouble(MathAbs((order_open_price_8 - order_open_price_36) / gd_684), 0) > gi_876) break;
order_open_price_36 = order_open_price_8;
li_120--;
if (li_120 > 0)
if (gi_424) Print("....");
} else {
if (OrderSelect(ticket_20, SELECT_BY_TICKET)) order_open_price_36 = OrderOpenPrice();
if (!(gi_856)) break;
PlaySound(gs_860);
break;
}
}
return (ticket_20);
}
void f0_2() {
bool bool_0;
int error_4;
string ls_unused_12;
int li_20 = OrdersTotal() - 1;
for (int pos_24 = li_20; pos_24 >= 0; pos_24--) {
if (OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType() == OP_BUY) {
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712 && OrderStopLoss() == 0.0 && OrderTakeProfit() == 0.0) {
bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() - gi_116 * Point * gi_700, Digits), NormalizeDouble(OrderOpenPrice() + gi_112 * Point * gi_700,
Digits), 0, Blue);
}
}
if (OrderType() == OP_SELL) {
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712 && OrderStopLoss() == 0.0 && OrderTakeProfit() == 0.0) {
bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() + gi_116 * Point * gi_700, Digits), NormalizeDouble(OrderOpenPrice() - gi_112 * Point * gi_700,
Digits), 0, Blue);
}
}
if (OrderType() == OP_BUY)
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712 && OrderStopLoss() == 0.0 && OrderTakeProfit() != 0.0) bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() - gi_116 * Point * gi_700, Digits), OrderTakeProfit(), 0, Blue);
if (OrderType() == OP_SELL)
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712 && OrderStopLoss() == 0.0 && OrderTakeProfit() != 0.0) bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() + gi_116 * Point * gi_700, Digits), OrderTakeProfit(), 0, Blue);
if (OrderType() == OP_BUY)
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712 && OrderStopLoss() != 0.0 && OrderTakeProfit() == 0.0) bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(OrderOpenPrice() + gi_112 * Point * gi_700, Digits), 0, Blue);
if (OrderType() == OP_SELL)
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712 && OrderStopLoss() != 0.0 && OrderTakeProfit() == 0.0) bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(OrderOpenPrice() - gi_112 * Point * gi_700, Digits), 0, Blue);
if (OrderType() == OP_BUY) {
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712) {
if (Bid - OrderOpenPrice() > gi_544 * gd_684 && MathAbs(OrderOpenPrice() + gi_540 * gd_684 - OrderStopLoss()) >= Point && NormalizeDouble(OrderOpenPrice() + gi_540 * gd_684,
Digits) - Point >= OrderStopLoss()) {
bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() + gi_540 * gd_684, Digits), OrderTakeProfit(), 0, Blue);
if (!bool_0) error_4 = GetLastError();
}
}
}
if (OrderType() == OP_SELL) {
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712) {
if (OrderOpenPrice() - Ask > gi_544 * gd_684 && MathAbs(OrderOpenPrice() - gi_540 * gd_684 - OrderStopLoss()) >= Point && NormalizeDouble(OrderOpenPrice() - gi_540 * gd_684,
Digits) + Point <= OrderStopLoss()) {
bool_0 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice() - gi_540 * gd_684, Digits), OrderTakeProfit(), 0, Red);
if (!bool_0) error_4 = GetLastError();
}
}
}
if (g_pips_364 > 1.0 && OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500) {
if (OrderType() == OP_SELL && OrderOpenPrice() - Ask > g_pips_380 * Point * gi_700) {
if (g_pips_364 > 0.0 && g_pips_364 > 1.0) {
if (OrderOpenPrice() - Ask > g_pips_364 * Point * gi_700)
if (OrderStopLoss() - Point * g_pips_372 * gi_700 > Ask + Point * g_pips_364 * gi_700 && Ask + Point * g_pips_364 * gi_700 <= OrderStopLoss() - Point) OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * g_pips_364 * gi_700, OrderTakeProfit(), 0, CLR_NONE);
}
} else {
if (OrderType() == OP_BUY && Bid - OrderOpenPrice() > g_pips_380 * Point * gi_700) {
if (g_pips_364 > 0.0 && g_pips_364 > 1.0) {
if (Bid - OrderOpenPrice() > g_pips_364 * Point * gi_700)
if (OrderStopLoss() + Point * g_pips_372 * gi_700 < Bid - Point * g_pips_364 * gi_700 && Bid - Point * g_pips_364 * gi_700 >= OrderStopLoss() + Point) OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * g_pips_364 * gi_700, OrderTakeProfit(), 0, CLR_NONE);
}
}
}
}
if (g_pips_364 < 1.0 && OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500) {
if (OrderType() == OP_SELL && g_pips_364 < 1.0) {
if (g_pips_364 <= 0.0) continue;
if (OrderOpenPrice() - Ask <= g_pips_380 * Point * gi_700) continue;
if (!((OrderStopLoss() - Point * g_pips_372 * gi_700 > Ask + (OrderOpenPrice() - Ask) * g_pips_364 && Ask + (OrderOpenPrice() - Ask) * g_pips_364 <= OrderStopLoss() - Point))) continue;
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + (OrderOpenPrice() - Ask) * g_pips_364, OrderTakeProfit(), 0, CLR_NONE);
continue;
}
if (OrderType() == OP_BUY) {
if (g_pips_364 > 0.0 && g_pips_364 < 1.0) {
if (Bid - OrderOpenPrice() > g_pips_380 * Point * gi_700) {
if (OrderStopLoss() + Point * g_pips_372 * gi_700 < Bid - (Bid - OrderOpenPrice()) * g_pips_364 && Bid - (Bid - OrderOpenPrice()) * g_pips_364 >= OrderStopLoss() +
Point) OrderModify(OrderTicket(), OrderOpenPrice(), Bid - (Bid - OrderOpenPrice()) * g_pips_364, OrderTakeProfit(), 0, CLR_NONE);
}
}
}
}
}
}
}
void f0_9() {
int error_0;
int ticket_4;
string cmd_8;
int li_unused_16 = 0;
int li_unused_20 = 0;
int li_24 = OrdersTotal() - 1;
int count_28 = 0;
int count_32 = 0;
int li_36 = 3;
for (int pos_40 = li_24; pos_40 >= 0; pos_40--) {
if (OrderSelect(pos_40, SELECT_BY_POS, MODE_TRADES)) {
ticket_4 = OrderTicket();
cmd_8 = OrderType();
if (OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500) {
if (OrderType() == OP_BUY && OrderSymbol() == gs_712) {
count_28++;
if (gi_108 == FALSE) {
if (Bid >= OrderOpenPrice() + gi_112 * gd_684 || Bid <= OrderOpenPrice() - gi_116 * gd_684 || f0_15(OrderOpenPrice(), f0_5())) {
for (int li_44 = 1; li_44 <= MathMax(1, li_36); li_44++) {
RefreshRates();
if (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), g_slippage_732, g_color_848)) {
count_28--;
break;
}
error_0 = GetLastError();
}
}
}
if (gi_108 == TRUE) {
if (Bid >= OrderOpenPrice() + gi_700 * Point && Bid >= OrderOpenPrice() + gi_112 * gd_684 || Bid <= OrderOpenPrice() - gi_116 * gd_684 || f0_15(OrderOpenPrice(),
f0_5())) {
for (li_44 = 1; li_44 <= MathMax(1, li_36); li_44++) {
RefreshRates();
if (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), g_slippage_732, g_color_848)) {
count_28--;
break;
}
error_0 = GetLastError();
}
}
}
}
if (OrderType() == OP_SELL && OrderSymbol() == gs_712) {
count_32++;
if (gi_108 == FALSE) {
if (Ask <= OrderOpenPrice() - gi_112 * gd_684 || Ask >= OrderOpenPrice() + gi_116 * gd_684 || f0_6(OrderOpenPrice(), f0_5())) {
for (li_44 = 1; li_44 <= MathMax(1, li_36); li_44++) {
RefreshRates();
if (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), g_slippage_732, g_color_852)) {
count_32--;
break;
}
error_0 = GetLastError();
}
}
}
if (gi_108 == TRUE) {
if (Ask <= OrderOpenPrice() - gi_700 * Point && Ask <= OrderOpenPrice() - gi_112 * gd_684 || Ask >= OrderOpenPrice() + gi_116 * gd_684 || f0_6(OrderOpenPrice(), f0_5())) {
for (li_44 = 1; li_44 <= MathMax(1, li_36); li_44++) {
RefreshRates();
if (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), g_slippage_732, g_color_852)) {
count_32--;
break;
}
error_0 = GetLastError();
if (gi_428) Print("....(", cmd_8, ",", ticket_4, "). Ïðè÷èíà: ", f0_17(error_0));
}
}
}
}
}
}
}
}
int f0_1() {
int li_unused_0 = 0;
bool li_ret_4 = FALSE;
bool li_8 = FALSE;
bool li_12 = FALSE;
bool li_16 = FALSE;
double ld_20 = (High[2] + Low[2]) / 2.0;
double ld_28 = (High[1] + Low[1] + 4.0 * ld_20) / 6.0;
double iclose_36 = iClose(NULL, PERIOD_M15, 1);
double ima_44 = iMA(NULL, PERIOD_M15, g_period_568, 0, MODE_SMMA, PRICE_HIGH, 1);
double istochastic_52 = iStochastic(NULL, PERIOD_M15, g_period_580, 1, 1, MODE_SMA, 0, MODE_MAIN, 1);
double iatr_60 = iATR(NULL, PERIOD_M15, g_period_576, 1);
double icci_68 = iCCI(NULL, PERIOD_M15, g_period_572, PRICE_TYPICAL, 1);
double ld_76 = NormalizeDouble(gi_584 * gd_684, gi_692);
double ld_84 = NormalizeDouble(gi_588 * gd_684, gi_692);
double bid_92 = Bid;
if (iatr_60 <= gi_648 * gd_684) return (0);
if (iclose_36 - ima_44 > ld_76 && iclose_36 - bid_92 >= (-gd_704) && gi_816 > istochastic_52 && ld_20 > ld_28) li_8 = TRUE;
else li_8 = FALSE;
if (iclose_36 - ima_44 > ld_84 && iclose_36 - bid_92 >= (-gd_704) && (-gd_652) > icci_68 && ld_20 > ld_28) li_12 = TRUE;
else li_12 = FALSE;
if (iclose_36 - ima_44 > ld_84 && iclose_36 - bid_92 >= (-gd_704) && gi_820 > istochastic_52 && ld_20 > ld_28) li_16 = TRUE;
else li_16 = FALSE;
if (li_8 == TRUE || li_12 == TRUE || li_16 == TRUE) li_ret_4 = TRUE;
else li_ret_4 = FALSE;
return (li_ret_4);
}
int f0_13() {
int li_unused_0 = 0;
bool li_ret_4 = FALSE;
bool li_8 = FALSE;
bool li_12 = FALSE;
bool li_16 = FALSE;
double ld_20 = (High[2] + Low[2]) / 2.0;
double ld_28 = (High[1] + Low[1] + 4.0 * ld_20) / 6.0;
double iclose_36 = iClose(NULL, PERIOD_M15, 1);
double ima_44 = iMA(NULL, PERIOD_M15, g_period_608, 0, MODE_SMMA, PRICE_LOW, 1);
double istochastic_52 = iStochastic(NULL, PERIOD_M15, g_period_620, 1, 1, MODE_SMA, 0, MODE_MAIN, 1);
double iatr_60 = iATR(NULL, PERIOD_M15, g_period_616, 1);
double icci_68 = iCCI(NULL, PERIOD_M15, g_period_612, PRICE_TYPICAL, 1);
double ld_76 = NormalizeDouble(gi_624 * gd_684, gi_692);
double ld_84 = NormalizeDouble(gi_628 * gd_684, gi_692);
double bid_92 = Bid;
if (iatr_60 <= gi_648 * gd_684) return (0);
if (ima_44 - iclose_36 > ld_76 && iclose_36 - bid_92 <= gd_704 && istochastic_52 > gi_824 && ld_20 < ld_28) li_8 = TRUE;
else li_8 = FALSE;
if (ima_44 - iclose_36 > ld_84 && iclose_36 - bid_92 <= gd_704 && icci_68 > gd_652 && ld_20 < ld_28) li_12 = TRUE;
else li_12 = FALSE;
if (ima_44 - iclose_36 > ld_84 && iclose_36 - bid_92 <= gd_704 && istochastic_52 > gi_828 && ld_20 < ld_28) li_16 = TRUE;
else li_16 = FALSE;
if (li_8 == TRUE || li_12 == TRUE || li_16 == TRUE) li_ret_4 = TRUE;
else li_ret_4 = FALSE;
return (li_ret_4);
}
int f0_15(double ad_0, int ai_8) {
bool li_ret_12 = FALSE;
bool li_16 = FALSE;
bool li_20 = FALSE;
double istochastic_24 = iStochastic(NULL, PERIOD_M15, g_period_580, 1, 1, MODE_SMA, 0, MODE_SIGNAL, 1);
double iclose_32 = iClose(NULL, PERIOD_M15, 1);
double iopen_40 = iOpen(NULL, PERIOD_M1, 1);
double iclose_48 = iClose(NULL, PERIOD_M1, 1);
double ld_56 = NormalizeDouble((-gi_548) * gd_684, gi_692);
double ld_64 = NormalizeDouble(gi_668 * gd_684, gi_692);
double bid_72 = Bid;
if (ad_0 - bid_72 <= ld_56 && iclose_32 - bid_72 <= gd_704 && istochastic_24 > gi_832 && ai_8 == 1) li_16 = TRUE;
else li_16 = FALSE;
if (iopen_40 > iclose_48 && bid_72 - ad_0 >= ld_64 && ai_8 == 1) li_20 = TRUE;
else li_20 = FALSE;
if (li_16 == TRUE || li_20 == TRUE) li_ret_12 = TRUE;
else li_ret_12 = FALSE;
return (li_ret_12);
}
int f0_6(double ad_0, int ai_8) {
bool li_ret_12 = FALSE;
bool li_16 = FALSE;
bool li_20 = FALSE;
double istochastic_24 = iStochastic(NULL, PERIOD_M15, g_period_620, 1, 1, MODE_SMA, 0, MODE_SIGNAL, 1);
double iclose_32 = iClose(NULL, PERIOD_M15, 1);
double iopen_40 = iOpen(NULL, PERIOD_M1, 1);
double iclose_48 = iClose(NULL, PERIOD_M1, 1);
double ld_56 = NormalizeDouble((-gi_548) * gd_684, gi_692);
double ld_64 = NormalizeDouble(gi_668 * gd_684, gi_692);
double bid_72 = Bid;
double ask_80 = Ask;
if (ask_80 - ad_0 <= ld_56 && iclose_32 - bid_72 >= (-gd_704) && istochastic_24 < gi_836 && ai_8 == 1) li_16 = TRUE;
else li_16 = FALSE;
if (iopen_40 < iclose_48 && ad_0 - ask_80 >= ld_64 && ai_8 == 1) li_20 = TRUE;
else li_20 = FALSE;
if (li_16 == TRUE || li_20 == TRUE) li_ret_12 = TRUE;
else li_ret_12 = FALSE;
return (li_ret_12);
}
double f0_8() {
double ld_0;
int count_8;
double ld_12;
int li_20;
double ld_24;
int li_32;
double ld_36;
int li_44;
double ld_48 = 1;
if (gd_224 > 0.0 && gd_144 > 0.0) {
ld_0 = 0;
count_8 = 0;
ld_12 = 0;
li_20 = 0;
ld_24 = 0;
li_32 = 0;
for (int pos_56 = OrdersHistoryTotal() - 1; pos_56 >= 0; pos_56--) {
if (OrderSelect(pos_56, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_496) {
count_8++;
ld_0 += OrderProfit();
if (ld_0 > ld_24) {
ld_24 = ld_0;
li_32 = count_8;
}
if (ld_0 < ld_12) {
ld_12 = ld_0;
li_20 = count_8;
}
if (count_8 >= gi_196) break;
}
}
}
if (li_32 <= li_20) ld_48 = MathPow(gd_224, li_20);
else {
ld_0 = ld_24;
count_8 = li_32;
ld_36 = ld_24;
li_44 = li_32;
for (pos_56 = OrdersHistoryTotal() - li_32 - 1; pos_56 >= 0; pos_56--) {
if (OrderSelect(pos_56, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_496) {
if (count_8 >= gi_196) break;
count_8++;
ld_0 += OrderProfit();
if (ld_0 < ld_36) {
ld_36 = ld_0;
li_44 = count_8;
}
}
}
}
if (li_44 == li_32 || ld_36 == ld_24) ld_48 = MathPow(gd_224, li_20);
else {
if (MathAbs(ld_12 - ld_24) / MathAbs(ld_36 - ld_24) >= (gd_200 + 100.0) / 100.0) ld_48 = MathPow(gd_224, li_20);
else ld_48 = MathPow(gd_224, li_44);
}
}
}
for (double ld_ret_60 = MathMax(g_minlot_764, MathMin(g_maxlot_772, MathCeil(MathMin(gd_152, ld_48 * gd_144) / 100.0 * AccountFreeMargin() / g_lotstep_780 / (gi_788 / 100)) * g_lotstep_780)); ld_ret_60 >= 2.0 * g_minlot_764 &&
1.05 * (ld_ret_60 * g_marginrequired_792) >= AccountFreeMargin(); ld_ret_60 -= g_minlot_764) {
}
return (ld_ret_60);
}
int f0_10() {
RefreshRates();
if (NormalizeDouble(Ask - Bid, Digits) > gd_740) return (1);
return (0);
}
int f0_5() {
int li_0 = OrdersTotal() - 1;
for (int pos_4 = li_0; pos_4 >= 0; pos_4--) {
if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500) {
if (OrderSymbol() == gs_712)
if (OrderType() <= OP_SELL) return (1);
}
}
}
return (0);
}
int f0_7() {
int count_0 = 0;
int li_4 = OrdersTotal() - 1;
for (int pos_8 = li_4; pos_8 >= 0; pos_8--) {
if (OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES))
if (OrderComment() != "R" && (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 || OrderMagicNumber() == g_magic_500 && OrderSymbol() == gs_712)) count_0++;
}
if (count_0 >= gi_736) return (0);
return (1);
}
void f0_3(int ai_0) {
double order_open_price_4;
double order_open_price_12;
double order_open_price_20;
double order_open_price_28;
double ld_unused_36;
double ld_44;
double lots_52;
double ld_60;
int li_unused_68 = 0;
int li_unused_72 = 0;
bool li_76 = FALSE;
bool li_80 = FALSE;
int li_unused_84 = 0;
int li_unused_88 = 0;
int li_unused_92 = 0;
int li_unused_96 = 0;
int li_unused_100 = 0;
int li_unused_104 = 0;
bool li_108 = FALSE;
bool li_112 = FALSE;
bool li_116 = FALSE;
bool li_120 = FALSE;
bool li_124 = FALSE;
bool li_128 = FALSE;
for (int pos_132 = OrdersTotal() - 1; pos_132 >= 0; pos_132--) {
if (!OrderSelect(pos_132, SELECT_BY_POS, MODE_TRADES) || OrderSymbol() != Symbol()) continue;
if (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderOpenTime() >= iTime(Symbol(), g_timeframe_408, 0)) li_108 = TRUE;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496 && Ask > OrderOpenPrice() - g_pips_280 * Point * gi_700) li_120 = TRUE;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496 && Bid < OrderOpenPrice() + g_pips_280 * Point * gi_700) li_124 = TRUE;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500) {
li_112 = TRUE;
order_open_price_4 = OrderOpenPrice();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500) {
li_116 = TRUE;
order_open_price_12 = OrderOpenPrice();
}
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496) {
li_unused_100 = 1;
order_open_price_20 = OrderOpenPrice();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496) {
li_unused_104 = 1;
order_open_price_28 = OrderOpenPrice();
}
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && OrderStopLoss() > OrderOpenPrice()) li_unused_92 = 1;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && OrderStopLoss() < OrderOpenPrice()) li_unused_96 = 1;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && Ask < OrderOpenPrice() - g_pips_280 * Point * gi_700) {
li_76 = TRUE;
ld_44 = OrderLots();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && Bid > OrderOpenPrice() + g_pips_280 * Point * gi_700) {
li_80 = TRUE;
ld_44 = OrderLots();
}
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && Ask < OrderOpenPrice() - gi_260 * Point * gi_700) {
li_unused_84 = 1;
ld_60 = OrderLots();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && Bid > OrderOpenPrice() + gi_260 * Point * gi_700) {
li_unused_88 = 1;
ld_60 = OrderLots();
}
if (gi_420 == FALSE) {
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500) li_unused_100 = 1;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500) li_unused_104 = 1;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && OrderStopLoss() > OrderOpenPrice()) li_unused_92 = 1;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && OrderStopLoss() < OrderOpenPrice()) li_unused_96 = 1;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && Ask < OrderOpenPrice() - g_pips_280 * Point * gi_700) {
li_76 = TRUE;
ld_44 = OrderLots();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && Bid > OrderOpenPrice() + g_pips_280 * Point * gi_700) {
li_80 = TRUE;
ld_44 = OrderLots();
}
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && Ask < OrderOpenPrice() - gi_260 * Point * gi_700) {
li_unused_84 = 1;
ld_60 = OrderLots();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && Bid > OrderOpenPrice() + gi_260 * Point * gi_700) {
li_unused_88 = 1;
ld_60 = OrderLots();
}
}
if (gi_296 == TRUE && li_112 == TRUE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && OrderTakeProfit() > OrderOpenPrice() + 1.0 * Point + g_pips_552 * Point * gi_700 &&
order_open_price_4 < OrderOpenPrice() && OrderProfit() < 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), OrderOpenPrice() + g_pips_552 * Point * gi_700, 0, CLR_NONE);
if (gi_296 == TRUE && li_116 == TRUE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && OrderTakeProfit() < OrderOpenPrice() - 1.0 * Point - g_pips_552 * Point * gi_700 &&
order_open_price_12 > OrderOpenPrice() && OrderProfit() < 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), OrderOpenPrice() - g_pips_552 * Point * gi_700, 0, CLR_NONE);
}
if (gd_168 > 0.0) {
ld_unused_36 = gd_808;
ld_44 = gd_808;
ld_60 = gd_808;
}
for (int pos_136 = OrdersTotal() - 1; pos_136 >= 0; pos_136--) {
if (OrderSelect(pos_136, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496)
if (gd_216 > 0.0 && gd_216 * AccountFreeMargin() < AccountMargin()) li_128 = TRUE;
}
double ld_140 = AccountFreeMargin() * gd_208;
double lotstep_148 = MarketInfo(Symbol(), MODE_LOTSTEP);
int li_156 = ld_140 / MarketInfo(Symbol(), MODE_MARGINREQUIRED) / lotstep_148;
double ld_160 = li_156 * lotstep_148;
if (ld_160 > g_maxlot_772) ld_160 = g_maxlot_772;
if (li_108 == FALSE && li_128 == FALSE) {
if (ai_0 == 0 && li_76 == TRUE && f0_1() == 1 && li_120 == FALSE) {
lots_52 = NormalizeDouble(gd_288 * ld_44, gi_404);
if (lots_52 > g_maxlot_772) lots_52 = g_maxlot_772;
if (lots_52 > ld_160) lots_52 = ld_160;
OrderSend(Symbol(), OP_BUY, lots_52, Ask, 2, 0, 0, 0, g_magic_500, 0, Blue);
}
if (ai_0 == 0 && li_80 == TRUE && f0_13() == 1 && li_124 == FALSE) {
lots_52 = NormalizeDouble(gd_288 * ld_44, gi_404);
if (lots_52 > g_maxlot_772) lots_52 = g_maxlot_772;
if (lots_52 > ld_160) lots_52 = ld_160;
OrderSend(Symbol(), OP_SELL, lots_52, Bid, 2, 0, 0, 0, g_magic_500, 0, Fuchsia);
}
}
}
void f0_14(int ai_0) {
double order_open_price_4;
double order_open_price_12;
double order_open_price_20;
double order_open_price_28;
double order_lots_36;
double lots_44;
bool li_52 = FALSE;
bool li_56 = FALSE;
int li_unused_60 = 0;
int li_unused_64 = 0;
int li_unused_68 = 0;
int li_unused_72 = 0;
bool li_76 = FALSE;
bool li_80 = FALSE;
bool li_84 = FALSE;
bool li_88 = FALSE;
int li_unused_92 = 0;
int li_unused_96 = 0;
int li_unused_100 = 0;
int li_unused_104 = 0;
int li_unused_108 = 0;
bool li_112 = FALSE;
bool li_116 = FALSE;
bool li_120 = FALSE;
for (int pos_124 = OrdersTotal() - 1; pos_124 >= 0; pos_124--) {
if (!OrderSelect(pos_124, SELECT_BY_POS, MODE_TRADES) || OrderSymbol() != Symbol()) continue;
if (gi_332 == TRUE && OrderType() == OP_BUYLIMIT && OrderMagicNumber() == g_magic_500 && f0_1() != 1) OrderDelete(OrderTicket());
if (gi_332 == TRUE && OrderType() == OP_SELLLIMIT && OrderMagicNumber() == g_magic_500 && f0_13() != 1) OrderDelete(OrderTicket());
if (OrderType() == OP_BUYLIMIT && OrderMagicNumber() == g_magic_500) li_112 = TRUE;
if (OrderType() == OP_SELLLIMIT && OrderMagicNumber() == g_magic_500) li_116 = TRUE;
if (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderOpenTime() >= iTime(Symbol(), g_timeframe_408, 0)) li_unused_92 = 1;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496 && Ask > OrderOpenPrice() - g_pips_280 * Point * gi_700) li_unused_104 = 1;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496 && Bid < OrderOpenPrice() + g_pips_280 * Point * gi_700) li_unused_108 = 1;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500) {
li_unused_96 = 1;
order_open_price_4 = OrderOpenPrice();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500) {
li_unused_100 = 1;
order_open_price_12 = OrderOpenPrice();
}
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496) {
li_84 = TRUE;
order_open_price_20 = OrderOpenPrice();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496) {
li_88 = TRUE;
order_open_price_28 = OrderOpenPrice();
}
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && OrderStopLoss() > OrderOpenPrice()) li_76 = TRUE;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && OrderStopLoss() < OrderOpenPrice()) li_80 = TRUE;
if (gi_328 == TRUE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && OrderStopLoss() < OrderOpenPrice()) {
li_52 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_328 == TRUE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && OrderStopLoss() > OrderOpenPrice()) {
li_56 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_328 == FALSE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496) {
li_52 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_328 == FALSE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496) {
li_56 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_420 == FALSE) {
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500) li_84 = TRUE;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500) li_88 = TRUE;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && OrderStopLoss() > OrderOpenPrice()) li_76 = TRUE;
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && OrderStopLoss() < OrderOpenPrice()) li_80 = TRUE;
if (gi_328 == TRUE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && OrderStopLoss() < OrderOpenPrice()) {
li_52 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_328 == TRUE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && OrderStopLoss() > OrderOpenPrice()) {
li_56 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_328 == FALSE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500) {
li_52 = TRUE;
order_lots_36 = OrderLots();
}
if (gi_328 == FALSE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500) {
li_56 = TRUE;
order_lots_36 = OrderLots();
}
}
if (gi_328 == TRUE && OrderType() == OP_BUYLIMIT && li_76 == TRUE || li_84 == FALSE) OrderDelete(OrderTicket());
if (gi_328 == TRUE && OrderType() == OP_SELLLIMIT && li_80 == TRUE || li_88 == FALSE) OrderDelete(OrderTicket());
}
for (int pos_128 = OrdersTotal() - 1; pos_128 >= 0; pos_128--) {
if (OrderSelect(pos_128, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496)
if (gd_216 > 0.0 && gd_216 * AccountFreeMargin() < AccountMargin()) li_120 = TRUE;
}
double ld_132 = AccountFreeMargin() * gd_208;
double lotstep_140 = MarketInfo(Symbol(), MODE_LOTSTEP);
int li_148 = ld_132 / MarketInfo(Symbol(), MODE_MARGINREQUIRED) / lotstep_140;
double ld_152 = li_148 * lotstep_140;
if (ld_152 > g_maxlot_772) ld_152 = g_maxlot_772;
if (ai_0 == 0 && li_52 == TRUE && li_112 == FALSE && f0_1() == 1 && li_120 == FALSE) {
lots_44 = NormalizeDouble(gd_320 * order_lots_36, gi_404);
if (lots_44 > g_maxlot_772) lots_44 = g_maxlot_772;
if (lots_44 > ld_152) lots_44 = ld_152;
OrderSend(Symbol(), OP_BUYLIMIT, lots_44, Bid - g_pips_304 * Point * gi_700, 2, 0, 0, 0, g_magic_500, TimeCurrent() + 60.0 * gd_312, Lime);
}
if (ai_0 == 0 && li_56 == TRUE && li_116 == FALSE && f0_13() == 1 && li_120 == FALSE) {
lots_44 = NormalizeDouble(gd_320 * order_lots_36, gi_404);
if (lots_44 > g_maxlot_772) lots_44 = g_maxlot_772;
if (lots_44 > ld_152) lots_44 = ld_152;
OrderSend(Symbol(), OP_SELLLIMIT, lots_44, Ask + g_pips_304 * Point * gi_700, 2, 0, 0, 0, g_magic_500, TimeCurrent() + 60.0 * gd_312, Orange);
}
}
void f0_4(int ai_0) {
double ld_unused_4;
double ld_unused_12;
double lots_20;
double ld_28;
int li_unused_36 = 0;
int li_unused_40 = 0;
int li_unused_44 = 0;
int li_unused_48 = 0;
bool li_52 = FALSE;
bool li_56 = FALSE;
int li_unused_60 = 0;
int li_unused_64 = 0;
int li_unused_68 = 0;
int li_unused_72 = 0;
int li_unused_76 = 0;
int li_unused_80 = 0;
int li_unused_84 = 0;
int li_unused_88 = 0;
int li_unused_92 = 0;
bool li_96 = FALSE;
bool li_100 = FALSE;
bool li_104 = FALSE;
for (int pos_108 = OrdersTotal() - 1; pos_108 >= 0; pos_108--) {
if (!OrderSelect(pos_108, SELECT_BY_POS, MODE_TRADES) || OrderSymbol() != Symbol()) continue;
if (OrderType() == OP_BUYSTOP) li_96 = TRUE;
if (OrderType() == OP_SELLSTOP) li_100 = TRUE;
if (OrderType() == OP_BUY || OrderType() == OP_SELL && OrderOpenTime() >= iTime(Symbol(), g_timeframe_408, 0)) li_unused_76 = 1;
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_496 && Ask < OrderOpenPrice() - gi_260 * Point * gi_700) {
li_52 = TRUE;
ld_28 = OrderLots();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496 && Bid > OrderOpenPrice() + gi_260 * Point * gi_700) {
li_56 = TRUE;
ld_28 = OrderLots();
}
if (gi_420 == FALSE) {
if (OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && Ask < OrderOpenPrice() - gi_260 * Point * gi_700) {
li_52 = TRUE;
ld_28 = OrderLots();
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && Bid > OrderOpenPrice() + gi_260 * Point * gi_700) {
li_56 = TRUE;
ld_28 = OrderLots();
}
}
if (gi_272 == TRUE && OrderType() == OP_BUYSTOP && OrderOpenPrice() - Ask > g_pips_244 * Point * gi_700) OrderModify(OrderTicket(), Ask + g_pips_244 * Point * gi_700, 0, 0, OrderExpiration(), CLR_NONE);
if (gi_272 == TRUE && OrderType() == OP_SELLSTOP && Bid - OrderOpenPrice() > g_pips_244 * Point * gi_700) OrderModify(OrderTicket(), Bid - g_pips_244 * Point * gi_700, 0, 0, OrderExpiration(), CLR_NONE);
}
if (gd_168 > 0.0) {
ld_unused_4 = gd_808;
ld_unused_12 = gd_808;
ld_28 = gd_808;
}
for (int pos_112 = OrdersTotal() - 1; pos_112 >= 0; pos_112--) {
if (OrderSelect(pos_112, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_500 || OrderMagicNumber() == g_magic_496)
if (gd_216 > 0.0 && gd_216 * AccountFreeMargin() < AccountMargin()) li_104 = TRUE;
}
double ld_116 = AccountFreeMargin() * gd_208;
double lotstep_124 = MarketInfo(Symbol(), MODE_LOTSTEP);
int li_132 = ld_116 / MarketInfo(Symbol(), MODE_MARGINREQUIRED) / lotstep_124;
double ld_136 = li_132 * lotstep_124;
if (ld_136 > g_maxlot_772) ld_136 = g_maxlot_772;
if (ai_0 == 0 && li_52 == TRUE && li_96 == FALSE && f0_1() == 1 && li_104 == FALSE) {
lots_20 = NormalizeDouble(gd_264 * ld_28, gi_404);
if (lots_20 > g_maxlot_772) lots_20 = g_maxlot_772;
if (lots_20 > ld_136) lots_20 = ld_136;
OrderSend(Symbol(), OP_BUYSTOP, lots_20, Ask + g_pips_244 * Point * gi_700, 2, 0, 0, 0, g_magic_500, TimeCurrent() + 60.0 * gd_252, Aqua);
}
if (ai_0 == 0 && li_56 == TRUE && li_100 == FALSE && f0_13() == 1 && li_104 == FALSE) {
lots_20 = NormalizeDouble(gd_264 * ld_28, gi_404);
if (lots_20 > g_maxlot_772) lots_20 = g_maxlot_772;
if (lots_20 > ld_136) lots_20 = ld_136;
OrderSend(Symbol(), OP_SELLSTOP, lots_20, Bid - g_pips_244 * Point * gi_700, 2, 0, 0, 0, g_magic_500, TimeCurrent() + 60.0 * gd_252, Yellow);
}
}
void f0_16() {
double ld_0;
double price_8;
double ld_16;
double price_24;
bool li_32 = FALSE;
bool li_36 = FALSE;
for (int pos_40 = OrdersTotal() - 1; pos_40 >= 0; pos_40--) {
if (OrderSelect(pos_40, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol()) {
if (OrderMagicNumber() == g_magic_496) {
if (OrderType() == OP_BUY) li_32 = TRUE;
if (OrderType() == OP_SELL) li_36 = TRUE;
if (OrderType() == OP_BUY) {
if (ObjectFind("NP") == -1) {
ObjectCreate("NP", OBJ_HLINE, 0, 0, OrderOpenPrice());
ObjectSet("NP", OBJPROP_COLOR, g_color_520);
}
}
if (OrderType() == OP_SELL && OrderMagicNumber() == g_magic_496) {
if (ObjectFind("NP1") == -1) {
ObjectCreate("NP1", OBJ_HLINE, 0, 0, OrderOpenPrice());
ObjectSet("NP1", OBJPROP_COLOR, g_color_516);
}
}
}
ld_0 = ObjectGet("NP", OBJPROP_PRICE1);
price_8 = NormalizeDouble(ld_0, Digits);
ld_16 = ObjectGet("NP1", OBJPROP_PRICE1);
price_24 = NormalizeDouble(ld_16, Digits);
if (gi_300 == FALSE && gi_296 == TRUE && ObjectFind("NP") != -1 && li_32 == TRUE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && OrderTakeProfit() < price_8 - Point) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), price_8, 0, CLR_NONE);
if (gi_300 == FALSE && gi_296 == TRUE && ObjectFind("NP1") != -1 && li_36 == TRUE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && OrderTakeProfit() > price_24 +
Point) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), price_24, 0, CLR_NONE);
if (gi_300 == TRUE && ObjectFind("NP") != -1 && li_32 == TRUE && OrderType() == OP_BUY && OrderMagicNumber() == g_magic_500 && OrderOpenPrice() < price_8 - (Ask - Bid)) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), price_8, 0, CLR_NONE);
if (gi_300 == TRUE && ObjectFind("NP1") != -1 && li_36 == TRUE && OrderType() == OP_SELL && OrderMagicNumber() == g_magic_500 && OrderOpenPrice() > price_24 + (Ask - Bid)) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), price_24, 0, CLR_NONE);
}
}
if (li_32 == FALSE) ObjectDelete("NP");
if (li_36 == FALSE) ObjectDelete("NP1");
}
string f0_17(int ai_0) {
string ls_ret_4;
switch (ai_0) {
case 0:
case 1:
ls_ret_4 = "Íåò îøèáêè, íî ðåçóëüòàò íåèçâåñòåí";
break;
case 2:
ls_ret_4 = "Îáùàÿ îøèáêà";
break;
case 3:
ls_ret_4 = "Íåïðàâèëüíûå ïàðàìåòðû";
break;
case 4:
ls_ret_4 = "Òîðãîâûé ñåðâåð çàíÿò";
break;
case 5:
ls_ret_4 = "Ñòàðàÿ âåðñèÿ êëèåíòñêîãî òåðìèíàëà";
break;
case 6:
ls_ret_4 = "Íåò ñâÿçè ñ òîðãîâûì ñåðâåðîì";
break;
case 7:
ls_ret_4 = "Íåäîñòàòî÷íî ïðàâ";
break;
case 8:
ls_ret_4 = "Ñëèøêîì ÷àñòûå çàïðîñû";
break;
case 9:
ls_ret_4 = "Íåäîïóñòèìàÿ îïåðàöèÿ íàðóøàþùàÿ ôóíêöèîíèðîâàíèå ñåðâåðà";
break;
case 64:
ls_ret_4 = "Ñ÷åò çàáëîêèðîâàí";
break;
case 65:
ls_ret_4 = "Íåïðàâèëüíûé íîìåð ñ÷åòà";
break;
case 128:
ls_ret_4 = "Èñòåê ñðîê îæèäàíèÿ ñîâåðøåíèÿ ñäåëêè";
break;
case 129:
ls_ret_4 = "Íåïðàâèëüíàÿ öåíà";
break;
case 130:
ls_ret_4 = "Íåïðàâèëüíûå ñòîïû";
break;
case 131:
ls_ret_4 = "Íåïðàâèëüíûé îáúåì";
break;
case 132:
ls_ret_4 = "Ðûíîê çàêðûò";
break;
case 133:
ls_ret_4 = "Òîðãîâëÿ çàïðåùåíà";
break;
case 134:
ls_ret_4 = "Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè";
break;
case 135:
ls_ret_4 = "Öåíà èçìåíèëàñü";
break;
case 136:
ls_ret_4 = "Íåò öåí";
break;
case 137:
ls_ret_4 = "Áðîêåð çàíÿò";
break;
case 138:
ls_ret_4 = "Íîâûå öåíû - Ðåêâîò";
break;
case 139:
ls_ret_4 = "Îðäåð çàáëîêèðîâàí è óæå îáðàáàòûâàåòñÿ";
break;
case 140:
ls_ret_4 = "Ðàçðåøåíà òîëüêî ïîêóïêà";
break;
case 141:
ls_ret_4 = "Ñëèøêîì ìíîãî çàïðîñîâ";
break;
case 145:
ls_ret_4 = "Ìîäèôèêàöèÿ çàïðåùåíà, òàê êàê îðäåð ñëèøêîì áëèçîê ê ðûíêó";
break;
case 146:
ls_ret_4 = "Ïîäñèñòåìà òîðãîâëè çàíÿòà";
break;
case 147:
ls_ret_4 = "Èñïîëüçîâàíèå äàòû èñòå÷åíèÿ îðäåðà çàïðåùåíî áðîêåðîì";
break;
case 148:
ls_ret_4 = "Êîëè÷åñòâî îòêðûòûõ è îòëîæåííûõ îðäåðîâ äîñòèãëî ïðåäåëà ";
break;
case 4000:
ls_ret_4 = "Íåò îøèáêè";
break;
case 4001:
ls_ret_4 = "Íåïðàâèëüíûé óêàçàòåëü ôóíêöèè";
break;
case 4002:
ls_ret_4 = "Èíäåêñ ìàññèâà - âíå äèàïàçîíà";
break;
case 4003:
ls_ret_4 = "Íåò ïàìÿòè äëÿ ñòåêà ôóíêöèé";
break;
case 4004:
ls_ret_4 = "Ïåðåïîëíåíèå ñòåêà ïîñëå ðåêóðñèâíîãî âûçîâà";
break;
case 4005:
ls_ret_4 = "Íà ñòåêå íåò ïàìÿòè äëÿ ïåðåäà÷è ïàðàìåòðîâ";
break;
case 4006:
ls_ret_4 = "Íåò ïàìÿòè äëÿ ñòðîêîâîãî ïàðàìåòðà";
break;
case 4007:
ls_ret_4 = "Íåò ïàìÿòè äëÿ âðåìåííîé ñòðîêè";
break;
case 4008:
ls_ret_4 = "Íåèíèöèàëèçèðîâàííàÿ ñòðîêà";
break;
case 4009:
ls_ret_4 = "Íåèíèöèàëèçèðîâàííàÿ ñòðîêà â ìàññèâå";
break;
case 4010:
ls_ret_4 = "Íåò ïàìÿòè äëÿ ñòðîêîâîãî ìàññèâà";
break;
case 4011:
ls_ret_4 = "Ñëèøêîì äëèííàÿ ñòðîêà";
break;
case 4012:
ls_ret_4 = "Îñòàòîê îò äåëåíèÿ íà íîëü";
break;
case 4013:
ls_ret_4 = "Äåëåíèå íà íîëü";
break;
case 4014:
ls_ret_4 = "Íåèçâåñòíàÿ êîìàíäà";
break;
case 4015:
ls_ret_4 = "Íåïðàâèëüíûé ïåðåõîä";
break;
case 4016:
ls_ret_4 = "Íåèíèöèàëèçèðîâàííûé ìàññèâ";
break;
case 4017:
ls_ret_4 = "Âûçîâû DLL íå ðàçðåøåíû";
break;
case 4018:
ls_ret_4 = "Íåâîçìîæíî çàãðóçèòü áèáëèîòåêó";
break;
case 4019:
ls_ret_4 = "Íåâîçìîæíî âûçâàòü ôóíêöèþ";
break;
case 4020:
ls_ret_4 = "Âûçîâû âíåøíèõ áèáëèîòå÷íûõ ôóíêöèé íå ðàçðåøåíû";
break;
case 4021:
ls_ret_4 = "Íåäîñòàòî÷íî ïàìÿòè äëÿ ñòðîêè, âîçâðàùàåìîé èç ôóíêöèè";
break;
case 4022:
ls_ret_4 = "Ñèñòåìà çàíÿòà";
break;
case 4050:
ls_ret_4 = "Íåïðàâèëüíîå êîëè÷åñòâî ïàðàìåòðîâ ôóíêöèè";
break;
case 4051:
ls_ret_4 = "Íåäîïóñòèìîå çíà÷åíèå ïàðàìåòðà ôóíêöèè";
break;
case 4052:
ls_ret_4 = "Âíóòðåííÿÿ îøèáêà ñòðîêîâîé ôóíêöèè";
break;
case 4053:
ls_ret_4 = "Îøèáêà ìàññèâà";
break;
case 4054:
ls_ret_4 = "Íåïðàâèëüíîå èñïîëüçîâàíèå ìàññèâà-òàéìñåðèè";
break;
case 4055:
ls_ret_4 = "Îøèáêà ïîëüçîâàòåëüñêîãî èíäèêàòîðà";
break;
case 4056:
ls_ret_4 = "Ìàññèâû íåñîâìåñòèìû";
break;
case 4057:
ls_ret_4 = "Îøèáêà îáðàáîòêè ãëîáàëüíûåõ ïåðåìåííûõ";
break;
case 4058:
ls_ret_4 = "Ãëîáàëüíàÿ ïåðåìåííàÿ íå îáíàðóæåíà";
break;
case 4059:
ls_ret_4 = "Ôóíêöèÿ íå ðàçðåøåíà â òåñòîâîì ðåæèìå";
break;
case 4060:
ls_ret_4 = "Ôóíêöèÿ íå ïîäòâåðæäåíà";
break;
case 4061:
ls_ret_4 = "Îøèáêà îòïðàâêè ïî÷òû";
break;
case 4062:
ls_ret_4 = "Îæèäàåòñÿ ïàðàìåòð òèïà string";
break;
case 4063:
ls_ret_4 = "Îæèäàåòñÿ ïàðàìåòð òèïà integer";
break;
case 4064:
ls_ret_4 = "Îæèäàåòñÿ ïàðàìåòð òèïà double";
break;
case 4065:
ls_ret_4 = " êà÷åñòâå ïàðàìåòðà îæèäàåòñÿ ìàññèâ";
break;
case 4066:
ls_ret_4 = "Çàïðîøåííûå èñòîðè÷åñêèå äàííûå â ñîñòîÿíèè îáíîâëåíèÿ";
break;
case 4067:
ls_ret_4 = "Îøèáêà ïðè âûïîëíåíèè òîðãîâîé îïåðàöèè";
break;
case 4099:
ls_ret_4 = "Êîíåö ôàéëà";
break;
case 4100:
ls_ret_4 = "Îøèáêà ïðè ðàáîòå ñ ôàéëîì";
break;
case 4101:
ls_ret_4 = "Íåïðàâèëüíîå èìÿ ôàéëà";
break;
case 4102:
ls_ret_4 = "Ñëèøêîì ìíîãî îòêðûòûõ ôàéëîâ";
break;
case 4103:
ls_ret_4 = "Íåâîçìîæíî îòêðûòü ôàéë";
break;
case 4104:
ls_ret_4 = "Íåñîâìåñòèìûé ðåæèì äîñòóïà ê ôàéëó";
break;
case 4105:
ls_ret_4 = "Íè îäèí îðäåð íå âûáðàí";
break;
case 4106:
ls_ret_4 = "Íåèçâåñòíûé ñèìâîë";
break;
case 4107:
ls_ret_4 = "Íåïðàâèëüíûé ïàðàìåòð öåíû äëÿ òîðãîâîé ôóíêöèè";
break;
case 4108:
ls_ret_4 = "Íåâåðíûé íîìåð òèêåòà";
break;
case 4109:
ls_ret_4 = "Òîðãîâëÿ íå ðàçðåøåíà";
break;
case 4110:
ls_ret_4 = "Äëèííûå ïîçèöèè íå ðàçðåøåíû";
break;
case 4111:
ls_ret_4 = "Êîðîòêèå ïîçèöèè íå ðàçðåøåíû";
break;
case 4200:
ls_ret_4 = "Îáúåêò óæå ñóùåñòâóåò";
break;
case 4201:
ls_ret_4 = "Çàïðîøåíî íåèçâåñòíîå ñâîéñòâî îáúåêòà";
break;
case 4202:
ls_ret_4 = "Îáúåêò íå ñóùåñòâóåò";
break;
case 4203:
ls_ret_4 = "Íåèçâåñòíûé òèï îáúåêòà";
break;
case 4204:
ls_ret_4 = "Íåò èìåíè îáúåêòà";
break;
case 4205:
ls_ret_4 = "Îøèáêà êîîðäèíàò îáúåêòà";
break;
case 4206:
ls_ret_4 = "Íå íàéäåíî óêàçàííîå ïîäîêíî";
break;
case 4207:
ls_ret_4 = "Îøèáêà ïðè ðàáîòå ñ îáúåêòîì";
break;
default:
ls_ret_4 = "Íåèçâåñòíàÿ îøèáêà";
}
return (ls_ret_4);
}
كيف يقوم بالدخول في الصفقه متعب جدا تتبعها لأن الإكسبرت مكسور الكود