النتائج 5,611 إلى 5,625 من 10363
الموضوع: موضوع مخصص للأسئلة البرمجية
- 06-07-2014, 09:32 PM #5611
الإكسبرت يعتمد على مؤشر الإستوكاستيك و 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);
}
كيف يقوم بالدخول في الصفقه متعب جدا تتبعها لأن الإكسبرت مكسور الكود
-
الموضوع يحتاج للتحديت فالموشر لم يعد يعمل وانت شرحت فيه خاصيه ونسيت اخرى فقد شرحت خاصيه عمل فريم تيمات مختلفه ونسيت خاصيه تغير توقيت الشموع وقلت في نهايه الموضوع انك ستشرح خاصيه تغير توقيت الشموع ولكنك لم تشرحها بعد.يوجد إسكربت بدلا من Period Converter الموجود في الميتاتريدر يمكن أن تستخدمه وبه خاصية تغيير توقيت البيانات التاريخيه
راجع هذا الموضوع
https://forum.arabictrader.com/t94132.html
وياريت الشرح يكون بالصور ..........وجزاك الله خير.آخر تعديل بواسطة daod ، 06-07-2014 الساعة 09:38 PM
- 07-07-2014, 05:05 AM #5613
- 07-07-2014, 05:30 AM #5614
نعم أنا أجهز الجزء الآخر من الشرح الآنالموضوع يحتاج للتحديت فالموشر لم يعد يعمل وانت شرحت فيه خاصيه ونسيت اخرى فقد شرحت خاصيه عمل فريم تيمات مختلفه ونسيت خاصيه تغير توقيت الشموع وقلت في نهايه الموضوع انك ستشرح خاصيه تغير توقيت الشموع ولكنك لم تشرحها بعد.
وياريت الشرح يكون بالصور ..........وجزاك الله خير.
- 07-07-2014, 05:30 AM #5615
- 07-07-2014, 06:09 AM #5616
- 08-07-2014, 02:54 AM #5617
السلام عليكم
ارجو المساعده في عملية استدعاء المؤشر التالي من برمجة استاذ اسامه
حاولت كثيرا ولم اصل للدقه
الاكسبيرت احيانا يفتح صفقه على المؤشر ومره اخرى لا كما في الشارت التالي
حاولت ان اضيفه لاكسبيرت من برمجه استاذ اسامه لانه عجبتني فكرته جدا
الاكسبيرت في المرفقات والمؤشرات التي يعتمد عليها ايضا
اعتقد ان المؤشر جيد
كود:#property copyright "MR.dollarEA" #property link "[email protected]" extern bool UseTimeFilter = false; extern int StartHour = 7; extern int EndHour = 17; extern string S1=" sidus Settings"; extern int FastEMA=8; extern int SlowEMA=21; extern int RSIPeriod=17; extern string S2="DDFX 5 Fast Trend Settings"; extern double Step = 0.013; extern double Maximum = 0.2; extern int Precision = 5; extern string S3=" VQzz2 Settings"; extern int eintTF=60; extern int eintPeriod=5; extern int eintMethod=2; extern int eintSmoothing=2; extern int eintFilter=5; extern int eblnTrueMode=false; extern string S5=" Multiplier Settings"; extern int TakeProfit=20; extern int MaxTakeProfit=80; extern string MM_Parameters = " Money Management"; extern double Lots = 1; extern bool UseMoneyManagement = false; extern int RiskPercent = 10; extern string S6=" Order Management"; extern bool UseATRTP=false; extern int X_ATR=2; extern int ATR_TF=0; extern int StopLoss=0; datetime Time0,Date; double point; int digits,Q; extern int MagicNumber=2533; int init() { Date=TimeCurrent(); GlobalVariableSet("AllProfits"+Symbol()+Period(),0); if(Digits==5||Digits==3)Q=10; else Q=1; if(Digits<4){point=0.01;digits=2;} else{point=0.0001;digits=4;} return(0); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS deinitialization function | //+------------------------------------------------------------------+ void deinit() { Comment(""); } int orderscnt(){ int cnt=0; for(int i =0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ cnt++; } } } return(cnt); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS Start function | //+------------------------------------------------------------------+ int start() { if (UseTimeFilter){ if(!((StartHour < EndHour && TimeHour(TimeCurrent()) >= StartHour && TimeHour(TimeCurrent()) < EndHour) || (StartHour > EndHour && TimeHour(TimeCurrent()) >= StartHour || TimeHour(TimeCurrent()) < EndHour))){ Comment("Non-Trading Hours!"); return(0); } } ////////////////////////////////////////////////// double atr=iATR(Symbol(),ATR_TF,14,0); double UP=iCustom(NULL,0,"ss forex 2000 Arrow","",FastEMA,SlowEMA,RSIPeriod,"",Step,Maximum,Precision,"",eintTF,eintPeriod,eintMethod,eintSmoothing,eintFilter,eblnTrueMode,0,1); double DW=iCustom(NULL,0,"ss forex 2000 Arrow","",FastEMA,SlowEMA,RSIPeriod,"",Step,Maximum,Precision,"",eintTF,eintPeriod,eintMethod,eintSmoothing,eintFilter,eblnTrueMode,1,1); Comment("UP: ",(UP)," DW: ",(DW)); //////////////////////////////////////////////////// double SL,TP; if(UseMoneyManagement) Lots = LotManage(); if (UP<5000&&UP>0&&DW>5000) {CloseSellOrders();} if (DW<5000&&DW>0&&UP>5000) {CloseBuyOrders();} //////////////////////////////// if(AllProfits()>GlobalVariableGet("AllProfits"+Symbol()+Period())){ GlobalVariableSet("AllProfits"+Symbol()+Period(),AllProfits()); Date=TimeCurrent(); } double L; L=Lots; if (UP<5000&&UP>0&&DW>5000&&Time0!=Time[0]){ if(orderscnt()<1){ if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;} if(UseATRTP)TakeProfit=atr*X_ATR/point; if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*point;} if(lastOrderLoss()&&AllLosses(0)+TakeProfit<=MaxTakeProfit){ TP=TP+AllLosses(0)*point; L=LastLot(); } if(lastOrderLoss()&&AllLosses(0)+TakeProfit>MaxTakeProfit){ L=AllLosses(1)/TakeProfit*Lots; } if(Losses_Wins(0,Date)>Losses_Wins(1,Date)&&!lastOrderLoss()){ if(AllLosses(0)+TakeProfit>MaxTakeProfit) L=(Losses_Wins(0,Date)-Losses_Wins(1,Date))/TakeProfit*Lots; else { TP=TP+AllLosses(0)*point; L=LastLot(); } } OrderSend(Symbol(),OP_BUY,L,NormalizeDouble(Ask,digits),3*Q,SL,TP,"MR.dollar EA",MagicNumber,0,Blue); PlaySound("Alert.wav"); Time0=Time[0]; L=Lots; } } ///////////////////// if (DW<5000&&UP>0&&UP>5000&&Time0!=Time[0]){ if(orderscnt()<1){ if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;} if(UseATRTP)TakeProfit=atr*X_ATR/point; if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;} if(lastOrderLoss()&&AllLosses(0)+TakeProfit<=MaxTakeProfit){ TP=TP-AllLosses(0)*point; L=LastLot(); } if(lastOrderLoss()&&AllLosses(0)+TakeProfit>MaxTakeProfit){ L=AllLosses(1)/TakeProfit*Lots; } if(Losses_Wins(0,Date)>Losses_Wins(1,Date)&&!lastOrderLoss()){ L=(Losses_Wins(0,Date)-Losses_Wins(1,Date))/TakeProfit*Lots; } OrderSend(Symbol(),OP_SELL,L,NormalizeDouble(Bid,digits),3*Q,SL,TP,"MR.dollar EA",MagicNumber,0,Red); PlaySound("Alert.wav"); Time0=Time[0];L=Lots; } } } //+------------------------------------------------------------------+ void CloseBuyOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*Q); } } } } void CloseSellOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*Q); } } } } bool lastOrderLoss(){ for(int i=OrdersHistoryTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderClosePrice()!=OrderTakeProfit()) return(true); else return(false); } } return(0); } double LastLot(){ for(int i=OrdersHistoryTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ return(OrderLots()); } } return(0); } int AllLosses(int V){ int p; for(int i=OrdersHistoryTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); double L=OrderLots();double pp=OrderProfit();double oo=OrderOpenPrice();double oc=OrderClosePrice(); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(L!=LastLot()&&V==0){ return(p); } if(pp<0){ p+=(MathAbs(oo-oc))/point; } else return(p); } } return(p); } int Losses_Wins(int type,datetime T){ int p; for(int i=OrdersHistoryTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); double L=OrderLots();double pp=OrderProfit();double oo=OrderOpenPrice();double oc=OrderClosePrice();datetime t=OrderOpenTime(); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&T<=t){ if(type==0){ if(pp<0) p+=(MathAbs(oo-oc))/point; } if(type==1){ if(pp>=0) p+=(MathAbs(oo-oc))/point; } } } return(p); } double AllProfits(){ int p; for(int i=OrdersHistoryTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); double L=OrderLots();double pp=OrderProfit();double oo=OrderOpenPrice();double oc=OrderClosePrice(); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ p+=OrderProfit(); } } return(p); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS Money Managment | //+------------------------------------------------------------------+ double LotManage() { double lot = MathCeil(AccountFreeMargin() * RiskPercent / 1000) / 100; if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT); if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT); return (lot); } //+---------------------------------------------------------------------------------+
-
هذا الكود كما نعرف يقوم بحساب رقم اول شمعه او الشمعه الاولى التي تكونت في فتره الشهر
سوالي فكيف سيكون الكود الذي يقوم بحساب رقم اول شمعه او الشمعه الاولى التي تكونت في فتره السنه؟كود PHP:barmonth=iBarShift(Symbol(),0,iTime(Symbol(),43200,i)
صراحه حاولت اعمل كود هكذا ولكن لم انجح
كود PHP:barmonth=iBarShift(Symbol(),0,iTime(Symbol(),518400,i)
آخر تعديل بواسطة daod ، 08-07-2014 الساعة 07:18 PM
-
اريد داله يمكن من خلالها حساب رقم اي شمعه لفتره زمنيه بشكل متكرر.
مثال حساب رقم الشمعه الخامسه لاي فريم تيم من شهر فبراير من كل عام .
او حساب رقم الشمعه الخامسه لاي فريم تيم من كل شهر.
مثلاهذا الكود يمكن استخدامه ولكن بشكل محصور فهو يقوم فقط بحساب رقم الشمعه الاولى لاي فريم تيم من كل شهر.
فكيف يمكن تعديله وجعله يقوم ب
الطلب الاول :حساب رقم الشمعه الخامسه لاي فريم تيم من شهر فبراير من كل عام .
الطلب الثاني : حساب رقم الشمعه الخامسه لاي فريم تيم من كل شهر.
كود PHP:barmonth=iBarShift(Symbol(),0,iTime(Symbol(),43200,i)
- 09-07-2014, 10:22 AM #5620
السلام عليكم ورحمة الله وبركاته
ارجو من الاخوة المبرمجين المساعدة
أقوم بعمل اكسبيرت يعتمد علي عدد خمسة مؤشرات
اريد الكود الذي يعمل علي
فتح صفقة شراء في حالة تحقق شروط الشراء لعدد اي ثلاثة مؤشرات من الخمسة
فتح صفقة بيع في حالة تحقق شروط البيع لعدد اي ثلاثة مؤشرات من الخمسة
بمعني انهم يكونوا اي ثلاثة وخلاص .. مش شرط مين فيهم .. المهم ثلاثة منهم يحققوا الشروط لفتح الصفقة
والسلام ختام
-
السلام عليكم ورحمه الله
لماذا الباك تست على فريم الدقيقه ليس دقيق ومضبوط وجوده الباك تست ردئيه وتعطي اقل 90% من جوده الباك تست .والمفروض ان فريم الدقيقه اكثر دقه من الفريمات ا لاخرى وكذالك المفروض انه كافيا عن الفريمات الاخرى ولكن الحقيقه على الواقع عكس ذلك .فهل من تفسير هذا الامر؟؟؟؟؟؟
سمعت عن الاستوب والهدف المخفي ,هل هذا صحيح يبقى مخفي عن البروكر ؟؟
مافائده ذلك؟ وماهي الطريقه لجعل الاستوب والهدف مخفي؟؟
- 09-07-2014, 07:23 PM #5622
وعليكم السلام ورحمة الله وبركاتهالسلام عليكم ورحمه الله
لماذا الباك تست على فريم الدقيقه ليس دقيق ومضبوط وجوده الباك تست ردئيه وتعطي اقل 90% من جوده الباك تست .والمفروض ان فريم الدقيقه اكثر دقه من الفريمات ا لاخرى وكذالك المفروض انه كافيا عن الفريمات الاخرى ولكن الحقيقه على الواقع عكس ذلك .فهل من تفسير هذا الامر؟؟؟؟؟؟
سمعت عن الاستوب والهدف المخفي ,هل هذا صحيح يبقى مخفي عن البروكر ؟؟
مافائده ذلك؟ وماهي الطريقه لجعل الاستوب والهدف مخفي؟؟
إذا كانت لديك بيانات تاريخيه دقيقه فسوف تعطيك دقة الباك تست 90% أنصحك بتحميل البيانات التاريخيه من الرابط
http://www.forextester.com/data/datasources.html
بالنسبه للهدف و الأستوب المخفي الفكره في أنك بدلا من أن تجعل للصفقه هدف و ستوب فأنت تضع الهدف و الأستوب صفر أو هدف و ستوب كبير
لكن تجعل الإكسبرت يحفظ قيمة الهدف المخفي وعندما يصل السعر إلى هذا الهدف فإنه يغلق الصفقه أوتوماتيكيا
الفائده من ذلك بعض البروكرات لا تسمح بوضع هدف صغير مثلا أقل من 5 نقاط فبهذه الطريقه ستجبر الإكسبرت على أن يغلق الصفقه حتى لو كان الهدف أقل من ذلك
-
بالنسبه للسوال الاول :وعليكم السلام ورحمة الله وبركاته
إذا كانت لديك بيانات تاريخيه دقيقه فسوف تعطيك دقة الباك تست 90% أنصحك بتحميل البيانات التاريخيه من الرابط
http://www.forextester.com/data/datasources.html
بالنسبه للهدف و الأستوب المخفي الفكره في أنك بدلا من أن تجعل للصفقه هدف و ستوب فأنت تضع الهدف و الأستوب صفر أو هدف و ستوب كبير
لكن تجعل الإكسبرت يحفظ قيمة الهدف المخفي وعندما يصل السعر إلى هذا الهدف فإنه يغلق الصفقه أوتوماتيكيا
الفائده من ذلك بعض البروكرات لا تسمح بوضع هدف صغير مثلا أقل من 5 نقاط فبهذه الطريقه ستجبر الإكسبرت على أن يغلق الصفقه حتى لو كان الهدف أقل من ذلك
البيانات التاريخيه عندي دقيقه ومافيش اي مشكله ولكن مالاحظته هو عند الباك تست واختيار فريم الدقيقه يعطيني نتيجه باك تست بجوده 25% ولكن اذا غيرت الفريم الى
الخمس دقائق او اكثريعطيني نتيجه باك تست بجوده 90%...والمفروض ان السعر في فريم الدقيقه سيتحرك دقيقه دقيقه ولهذا المفروض ان فريم الدقيقه يعتبر اكثر
دقه من الفريمات الاخرى لان السعر فيه يتحرك دقيقه بدقيقه...والمفروض ان فريم الدقيقه هو الذي يعطينى جوده باك تيست 90% فما فوق....ولكن الواقع شي اخر..فما المشكله وما تفسير هذا الامر؟؟
بالنسبه للموقع الذي ارفقته لاارغب تنزيل البيانات منه وذلك لان توقيت الشموع فيه ملخبطه وليس مثل توقيت شركه fxdd والتي تبداء اليوم بتوقيت الساعه 0 ليلا.
بالنسبه للسوال الثاني.
ياريت تحط لنا كود من اجل عمل هدف والستوب مخفي.آخر تعديل بواسطة al_najm ، 09-07-2014 الساعة 07:45 PM
- 09-07-2014, 07:56 PM #5624
يمكنك وضع عداد يحسب عدد المؤشرات التي تحقق فيها الإشارهالسلام عليكم ورحمة الله وبركاته
ارجو من الاخوة المبرمجين المساعدة
أقوم بعمل اكسبيرت يعتمد علي عدد خمسة مؤشرات
اريد الكود الذي يعمل علي
فتح صفقة شراء في حالة تحقق شروط الشراء لعدد اي ثلاثة مؤشرات من الخمسة
فتح صفقة بيع في حالة تحقق شروط البيع لعدد اي ثلاثة مؤشرات من الخمسة
بمعني انهم يكونوا اي ثلاثة وخلاص .. مش شرط مين فيهم .. المهم ثلاثة منهم يحققوا الشروط لفتح الصفقة
والسلام ختام
مثال
كود PHP:double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,1);
double cci=iCCI(Symbol(),0,14,PRICE_CLOSE,1);
int Sell_Signal;
if(rsi>80)Sell_Signal++;
if(cci>100)Sell_Signal++;
if(Close[1]>Open[1])Sell_Signal++;
if(Sell_Signal>2)
{
// open sell
}
-
سؤال يا اساتذتي الكرام ..
نحن ممكن نخفي الهدف او الاستوب عن البروكر فهل يمكن ايضا اخفاء التريلينج استوب ؟؟ يعني ما تظهرش عندي موديفاي للهدف ؟؟؟
وكيف اعمل تاريخ صلاحية للاكسبيرت ؟؟
ما هى الاستراتيجية التى يقوم عليها هذا الاكسبيرت
كود 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);
}
كيف يقوم بالدخول في الصفقه متعب جدا تتبعها لأن الإكسبرت مكسور الكود MR.dollar https://forum.arabictrader.com/u23397.html 06-07-2014 09:32 PM
« الموضوع السابق
|
الموضوع التالي »
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM
الأكثر زيارة

رد مع اقتباس