Вы находитесь на странице: 1из 9

Ultimate Explorer Corp

E-mail : ultimateexplorer2011@gmail.com
*/
#property copyright "danusaputra@2012 Ultimate Explorer Corp "
#property link "http://www.facebook.com"
//#include <stdlib.mqh>
#import "stdlib.ex4"
string ErrorDescription(int a0);
#import
extern string EAName = "Robot Danu Saputra_Ultimate Expl
orer Investment";
extern double Period1 =5;
extern double Period2 =13;
extern double Period3 =34;
extern int Mode =0;
extern bool IsMicroAccount = TRUE;
extern bool CompletedBars = FALSE;
extern bool TradeOrAlert = TRUE;
extern bool SendMailMode = TRUE;
extern bool PlaySounds = TRUE;
extern string MySound = "alert.wav";
extern bool FiveDigits = TRUE;
int gi_116 = 1;
extern bool UseTradingTime = FALSE;
extern int TradingTimeStart = 9;
extern int TradingTimeEnd = 16;
extern bool ClosePositionsNonTH = FALSE;
extern bool OrderIncludeTPSL = TRUE;
extern int MaxNumberofPositions = 1;
extern int MaxOrderRetry = 100;
int gi_148 = 16711680;
int gi_152 =255;
bool gi_156 = FALSE;
extern bool UseMaximumPercentageatRisk = false;
extern double MaximumPercentageatRisk = 10.0;
extern bool UseRiskRatio = FALSE;
extern int RiskRatio = 3;
extern bool UseLotManagement = false;
extern int LotManagementType = 1;
extern double ReductionFactor = 5.0;
extern bool UseMartingale = true;
extern double MartingaleMultiplier = 2.0;
double gd_208 = 100.8;
extern bool afterLoss = TRUE;
extern bool afterWin = true;
int g_datetime_224 = 0;
extern int Slippage = 3;
extern double S_Symbol_LS_0 = 1.0; // Lot for Sell
extern double S_Symbol_TP_0 = 0.0; // Take Profit for Sell
extern double S_Symbol_SL_0 = 0.0; // Stop Loss for Sell
extern double S_Symbol_TS_0 = 0.0; // Trailing Stop for Sell
extern double B_Symbol_LS_0 = 1.0; // Lot for Buy
extern double B_Symbol_TP_0 = 0.0; // Take Profit for Buy
extern double B_Symbol_SL_0 = 0.0; // Stop Loss for Buy
extern double B_Symbol_TS_0 = 0.0; // Trailing Stop for Sell
extern int MagicNumberLong = 6658641;
extern int MagicNumberShort = 4167090;
string gs_go_long__304 = "Go long ";
string gs_312 = "Go short ";
extern bool ShowWarnings = TRUE;
int g_bars_324 = 0;
string g_str_concat_328 = "";
string g_str_concat_336 = "EA: ";
extern bool CheckTSEveryTick = FALSE;
int g_datetime_348 = 0;
extern bool UseTimeBasedTS = FALSE;
extern int TimeBasedTS = 30;
extern bool Hedge = FALSE;
int init() {
g_datetime_224 = TimeCurrent();
gs_go_long__304 = "Go long " + MagicNumberLong;
gs_312 = "Go short " + MagicNumberShort;
if (FiveDigits) gi_116 = 10;
Slippage *= gi_116;
if (Digits == 5 || Digits == 3 && (!FiveDigits)) {
Print("M-", Symbol(), " You selected FiveDigits=False but your graph seems
to have 5 digits (or 3 for JPY pairs). Please review your digits definition.");
MessageBox("M-" + Symbol() + " You selected FiveDigits=False but your grap
h seems to have 5 digits (or 3 for JPY pairs). Please review your digits definit
ions.",
"Digits setup may be wrong");
}
if (Digits == 4 || Digits == 2 && FiveDigits) {
Print("M-", Symbol(), " You selected FiveDigits=True but your graph seems
to have 4 digits (or 2 for JPY pairs). Please review your digits definition.");
MessageBox("M-" + Symbol() + " You selected FiveDigits=True but your graph
seems to have 4 digits (or 2 for JPY pairs). Please review your digits definiti
ons.", "Digits setup may be wrong");
}
Print(" This EA created by Danu Saputra ");
Print(" This EA starts running at: Server Time=", TimeToStr(TimeCurrent(), TI
ME_DATE|TIME_SECONDS), " Terminal Time=", TimeToStr(TimeLocal(), TIME_DATE|TIME_
SECONDS));
if (IsDemo()) Print(" This EA Running in a DEMO account ");
else Print(" This EA Running in a REAL account ");
if (IsTesting()) Print(" This EA Running in TESTING MODE ");
if (Hedge) {
Print("You are hedging. You need to use the Close icons in your trading di
agram to close postitions.");
if (ShowWarnings) MessageBox("You are hedging. You need to use the Close i
cons in your trading diagram to close postitions.", "Danu Saputra Warning: Close
existing orders");
}
g_datetime_348 = TimeCurrent();
if (CheckTSEveryTick) Print(" This EA checks trailing stops every tick regard
less of Execution Mode (Bars or ticks).");
Print("Account Equity=", AccountEquity(), ". Account Balance=", AccountBalanc
e(), ". Account Free Margin = ", AccountFreeMargin(), ". Account Leverage=", Acc
ountLeverage());
if (OrdersTotal() > 0) {
Print("There are existing positions that could affect the logic of this EA
. We strongly advise you to close all pending and open positions/orders before e
xecuting this EA.");
if (ShowWarnings) {
MessageBox("There are existing positions that could affect the logic of
this EA. We strongly advise you to close all pending and open positions/orders
before executing this EA.",
"Danu Saputra Warning: Close existing orders");
}
}
if (Bars < 100) {
Print("EA CAN NOT TRADE *** Not enough historical information!");
MessageBox("*** CAN NOT TRADE *** Not enough historical information!", "Da
nu Saputra Warning");
}
if (IsTradeAllowed() == FALSE) {
Print(" EA CAN NOT TRADE *** Trading is not allowed! Please confirm that t
he checkbox -Allow Live Trading option- is checked and that you are able to conn
ect to the server.");
if (ShowWarnings) {
MessageBox("*** CAN NOT TRADE *** Trading is not allowed! Please confir
m that the checkbox -Allow Live Trading option- is checked and that you are able
to connect to the server.",
"Danu Saputra Warning");
}
}
if (UseLotManagement && UseMartingale) {
UseLotManagement = FALSE;
Print(" This EA cannot use Martingale and Lot Management at the same time.
The ea will use martingale.");
if (ShowWarnings) MessageBox("You cannot use Martingale and Lot Management
at the same time. The ea will use martingale.", "Danu Saputra Warning: Money Ma
nagement");
}
Print("EA-Lot Information: Symbol=", Symbol(), ". MIN LOT ALLOWED=", MarketIn
fo(Symbol(), MODE_MINLOT), ". MAX LOT ALLOWED=", MarketInfo(Symbol(), MODE_MAXLO
T), ". LOT SIZE IN BASE CURRENCY=",
MarketInfo(Symbol(), MODE_LOTSIZE));
Print("EA-Lot Information: Buying 1 lot in your Account is equivalent to buyi
ng ", MarketInfo(Symbol(), MODE_LOTSIZE), " of currency.");
Print("EA-Lot Information: Buying the minimum lot size of ", MarketInfo(Symbo
l(), MODE_MINLOT), " is equivalent to buying ", MarketInfo(Symbol(), MODE_LOTSIZ
E) * MarketInfo(Symbol(),
MODE_MINLOT), " of currency.");
Print("EA-Min Stops/Limit Level = ", MarketInfo(Symbol(), MODE_STOPLEVEL), "
pips.");
RefreshRates();
return (0);
}
int deinit() {
Print(" Danu Saputra EA is stopping ! Done!");
Comment("");
return (0);
}
int start() {
if (StrToTime("2012.01.13") + 259200 < TimeCurrent()) {
Print("Your Trial license enought already hehehe :)just kidding. Please co
ntact us or buy a license from ultimateexplorer2011@gmail.com (Just Kidding hehe
he)");
Comment("Your Trial license enought already hehehe :)just kidding. Please
contact us or buy a license from ultimateexplorer2011@gmail.com (Just Kidding he
hehe)");
Alert("Your Trial license enought already hehehe :)just kidding. Please co
ntact us or buy a license from ultimateexplorer2011@gmail.com (Just Kidding hehe
he)");
return;
}
gi_156 = FALSE;
string str_concat_0 = "Robot Ini Hak Cipta Danu Saputra - Ultimate Explorer C
orp";
if (TradeOrAlert) str_concat_0 = StringConcatenate(str_concat_0, " Trading Mo
de -");
else str_concat_0 = StringConcatenate(str_concat_0, " Alarm Mode -");
str_concat_0 = StringConcatenate(str_concat_0,
"\nServer Time=", TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS));
Comment(str_concat_0);
if (UseTradingTime) {
if (!(Hour() >= TradingTimeStart && Hour() <= TradingTimeEnd)) {
str_concat_0 = StringConcatenate(str_concat_0, " General Settings: Serv
er Time=", Hour(), "h:", Minute(), "m. | Current server time is NOT between trad
ing time hours. | Trading Time is from ",
TradingTimeStart, " to ", TradingTimeEnd, " hours");
Comment(str_concat_0);
if (!(ClosePositionsNonTH && TradeOrAlert)) return (0);
f0_1(OP_BUY, MagicNumberLong);
f0_1(OP_SELL, MagicNumberShort);
f0_1(OP_BUY, MagicNumberLong);
f0_1(OP_SELL, MagicNumberShort);
return (0);
}
str_concat_0 = StringConcatenate(str_concat_0, " General Settings: Server
Time=", Hour(), "h:", Minute(), "m. | Current server time is between trading tim
e hours. | Trading Time is from ",
TradingTimeStart, " to ", TradingTimeEnd, " hours");
Comment(str_concat_0);
}
if (UseTimeBasedTS && TradeOrAlert) {
if (TimeCurrent() - g_datetime_348 > 60 * TimeBasedTS) {
g_datetime_348 = TimeCurrent();
f0_2(Symbol(), 1, MagicNumberShort, S_Symbol_TS_0);
f0_2(Symbol(), 0, MagicNumberLong, B_Symbol_TS_0);
}
}
if (SendMailMode) {
g_str_concat_336 = "EA: ";
g_str_concat_336 = StringConcatenate(g_str_concat_336, EAName, " ");
g_str_concat_328 = "email generated by Danu Saputra_Ultimate Explorer \n";
g_str_concat_328 = StringConcatenate(g_str_concat_328, "Server Time=", Tim
eToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), ". Terminal Time=", TimeToStr(Tim
eLocal(), TIME_DATE|TIME_SECONDS),
"\n");
}
if (!IsConnected()) {
Print("EA-URGENT ACTION REQUIRED : There is no connection to the server!")
;
if (ShowWarnings) Alert("URGENT ACTION REQUIRED : There is no connection t
o the server!");
if (!(ShowWarnings && SendMailMode)) return (0);
g_str_concat_336 = StringConcatenate(g_str_concat_336, "URGENT ACTION REQU
IRED : There is no connection to the server");
g_str_concat_328 = StringConcatenate(g_str_concat_328, "URGENT ACTION REQU
IRED : There is no connection to the server. Please check your MT4 terminal.\n")
;
SendMail(g_str_concat_336, g_str_concat_328);
return (0);
}
if (IsStopped()) {
Print("EA-ERROR : EA was commanded to stop its operation!");
if (ShowWarnings) Alert("ERROR : EA was commanded to stop its operation!")
;
if (!(ShowWarnings && SendMailMode)) return (0);
g_str_concat_336 = StringConcatenate(g_str_concat_336, "EA was commanded t
o stop its operation");
g_str_concat_328 = StringConcatenate(g_str_concat_328, "EA was commanded t
o stop its operation!\n");
SendMail(g_str_concat_336, g_str_concat_328);
return (0);
}
if ((!IsTradeAllowed()) && TradeOrAlert) {
Print("EA-ERROR : Trading is not allowed!");
if (ShowWarnings) Alert("ERROR : Trading is not allowed!");
if (!(ShowWarnings && SendMailMode)) return (0);
g_str_concat_336 = StringConcatenate(g_str_concat_336, "Trading is not all
owed");
g_str_concat_328 = StringConcatenate(g_str_concat_328, "Trading is not all
owed at this moment. Please take action if needed\n");
SendMail(g_str_concat_336, g_str_concat_328);
return (0);
}
if (g_bars_324 == Bars && CompletedBars) {
if (!(CheckTSEveryTick && TradeOrAlert)) return (0);
f0_2(Symbol(), 1, MagicNumberShort, S_Symbol_TS_0);
f0_2(Symbol(), 0, MagicNumberLong, B_Symbol_TS_0);
return (0);
}
if (TradeOrAlert) {
if (iCustom(Symbol(), 0, "3_Level_ZZ_Semafor", Period1, Period2, Period3,
"1,3", "8,5", "21,12", 140, 141, 142, 5, Mode) > iCustom(Symbol(), 0, "3_Level_Z
Z_Semafor", Period1, Period2, Period3, "1,3",
"8,5", "21,12", 140, 141, 142, 4, Mode)) f0_9(Symbol(), S_Symbol_LS_0,
S_Symbol_TP_0, S_Symbol_SL_0, S_Symbol_TS_0, "if ( ( iCustom(Symbol(),0,3_Level_
ZZ_Semafor,5,13,75,1,3,8,5,21,12,140,141,142,5,1) > iCustom(S...");

if (iCustom(Symbol(), 0, "3_Level_ZZ_Semafor", Period1, Period2, Period2,
"1,3", "8,5", "21,12", 140, 141, 142, 5, Mode) < iCustom(Symbol(), 0, "3_Level_Z
Z_Semafor", Period1, Period2, Period3, "1,3",
"8,5", "21,12", 140, 141, 142, 4, Mode)) f0_12(Symbol(), B_Symbol_LS_0,
B_Symbol_TP_0, B_Symbol_SL_0, B_Symbol_TS_0, "if ( ( iCustom(Symbol(),0,3_Level
_ZZ_Semafor,5,13,75,1,3,8,5,21,12,140,141,142,5,1) < iCustom(S...");

f0_2(Symbol(), 1, MagicNumberShort, S_Symbol_TS_0);
f0_2(Symbol(), 0, MagicNumberLong, B_Symbol_TS_0);
} else {
if (iCustom(Symbol(), 0, "3_Level_ZZ_Semafor", Period1, Period2, Period3,
"1,3", "8,5", "21,12", 140, 141, 142, 5, Mode) > iCustom(Symbol(), 0, "3_Level_Z
Z_Semafor", Period1, Period2, Period3, "1,3",
"8,5", "21,12", 140, 141, 142, 4, Mode)) f0_4("if ( ( iCustom(Symbol(),
0, 3_Level_ZZ_Semafor ,5,13,75, 1,3 , 8,5 , 21,12 ,140,141,142,5,1) > iCu...",
"SELL(Symbol(),1.0,10,0,5)", Symbol());
if (iCustom(Symbol(), 0, "3_Level_ZZ_Semafor", Period1, Period2, Period3,
"1,3", "8,5", "21,12", 140, 141, 142, 5, Mode) < iCustom(Symbol(), 0, "3_Level_Z
Z_Semafor", Period1, Period2, Period3, "1,3",
"8,5", "21,12", 140, 141, 142, 4, Mode)) f0_4("if ( ( iCustom(Symbol(),
0, 3_Level_ZZ_Semafor ,5,13,75, 1,3 , 8,5 , 21,12 ,140,141,142,5,1) < iCu...",
"BUY(Symbol(),1.0,10,0,5)", Symbol());
}
g_bars_324 = Bars;
return (0);
}
int f0_4(string as_0, string as_8, string a_symbol_16) {
double ask_32;
double bid_24;
if (SendMailMode) {
bid_24 = MarketInfo(a_symbol_16, MODE_BID);
ask_32 = MarketInfo(a_symbol_16, MODE_ASK);
g_str_concat_336 = "EA Alert: ";
g_str_concat_336 = StringConcatenate(g_str_concat_336, EAName, ". ", as_8)
;
g_str_concat_328 = "email generated by Danu Saputra_Ultimate Explorer \n";
g_str_concat_328 = StringConcatenate(g_str_concat_328, "Server Time=", Tim
eToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), ". Terminal Time=", TimeToStr(Tim
eLocal(), TIME_DATE|TIME_SECONDS),
"\n");
g_str_concat_328 = StringConcatenate(g_str_concat_328, "Alert: ", as_8,
"\nForex Signal: ", as_0,
"\n");
g_str_concat_328 = StringConcatenate(g_str_concat_328, "Price on : ", a_sy
mbol_16, " BID=", bid_24, " ASK=", ask_32,
"\n");
g_str_concat_328 = StringConcatenate(g_str_concat_328, "Price on current c
hart: ", Symbol(), " BID=", MarketInfo(Symbol(), MODE_BID), " ASK=", MarketInfo(
Symbol(), MODE_ASK),
"\n");
SendMail(g_str_concat_336, g_str_concat_328);
}
Print("M-Alert:", as_8, " Forex Signal: ", as_0);
Alert("M-Alert:", as_8, " Forex Signal: ", as_0);
if (PlaySounds) PlaySound(MySound);
return (0);
}
int f0_12(string as_0, double ad_8, double ad_16, double ad_24, double ad_unused
_32, string as_40) {
if (!Hedge) f0_11(as_0, OP_SELL, MagicNumberShort);
if (OrderIncludeTPSL) {
if (f0_10(OP_BUY, as_0, f0_7(as_0, ad_8), ad_24, ad_16, gs_go_long__304, M
agicNumberLong, gi_148, as_40) > 0) {
}
} else {
if (f0_8(0, as_0, f0_7(as_0, ad_8), ad_24, ad_16, gs_go_long__304, MagicNu
mberLong, gi_148, as_40) > 0) {
}
}
return (0);
}
int f0_9(string as_0, double ad_8, double ad_16, double ad_24, double ad_unused_
32, string as_40) {
if (!Hedge) f0_11(as_0, OP_BUY, MagicNumberLong);
if (OrderIncludeTPSL) {
if (f0_10(OP_SELL, as_0, f0_7(as_0, ad_8), ad_24, ad_16, gs_312, MagicNumb
erShort, gi_152, as_40) > 0) {
}
} else {
if (f0_8(1, as_0, f0_7(as_0, ad_8), ad_24, ad_16, gs_312, MagicNumberShort
, gi_152, as_40) > 0) {
}
}
return (0);
}
int f0_13(string as_0, double ad_8) {
if (AccountFreeMarginCheck(as_0, OP_BUY, ad_8) < 10.0 || AccountFreeMarginChe
ck(as_0, OP_SELL, ad_8) < 10.0 || GetLastError() == 134/* NOT_ENOUGH_MONEY */) {
Print("EA-NOT ENOUGH MONEY TO TRADE. Free margin is insufficient to trade
a lot size of ", ad_8, ". Current Free Margin=", AccountFreeMargin());
Alert("EA-NOT ENOUGH MONEY TO TRADE. Free margin is insufficient to trade
a lot size of ", ad_8, ". Current Free Margin=", AccountFreeMargin());
return (0);
}
return (1);
}
int f0_8(int ai_0, string a_symbol_4, double ad_12, double a_price_20, double a_
price_28, string as_36, int ai_44, color a_color_48, string as_52) {
double point_68;
double digits_76;
double ld_84;
bool li_92;
int error_60 = 0;
Print("EA-Executing order in Two Steps. Step 1 - Sending order without TP/SL.
");
int ticket_64 = f0_10(ai_0, a_symbol_4, ad_12, 0, 0, as_36, ai_44, a_color_48
, as_52);
if (ticket_64 > 0 && a_price_20 != 0.0 || a_price_28 != 0.0) {
Print("EA-Executing order in Two Steps. Step 2 - Adding TP/SL.");
if (OrderSelect(ticket_64, SELECT_BY_TICKET)) {
RefreshRates();
digits_76 = MarketInfo(a_symbol_4, MODE_DIGITS);
point_68 = MarketInfo(a_symbol_4, MODE_POINT);
a_price_20 *= gi_116;
a_price_28 *= gi_116;
if (UseRiskRatio) {
a_price_20 = NormalizeDouble(a_price_28 / RiskRatio, digits_76);
Print("EA-Stop loss adjusted according to risk ratio, equation TakeP
rofit/StopLoss=", RiskRatio, ". SL=Price +/- ", a_price_20 * point_68, ".");
}
switch (ai_0) {
case 0:
li_92 = TRUE;
break;
case 1:
li_92 = FALSE;
break;
default:
Print("EA-ERROR : Wrong order type. Can not add SL/TP ", ai_0);
return (-1);
}
if (li_92) {
ld_84 = NormalizeDouble(MarketInfo(a_symbol_4, MODE_ASK), digits_76)
;
if (a_price_20 > 0.0) {
a_price_20 = NormalizeDouble(ld_84 - a_price_20 * point_68, digit
s_76);
a_price_20 = f0_6(a_symbol_4, ld_84, a_price_20);
}
if (a_price_28 > 0.0) {
a_price_28 = NormalizeDouble(ld_84 + a_price_28 * point_68, digit
s_76);
a_price_28 = f0_0(a_symbol_4, ld_84, a_price_28);
}
} else {
ld_84 = NormalizeDouble(MarketInfo(a_symbol_4, MODE_BID), digits_76)
;
if (a_price_20 > 0.0) {
a_price_20 = NormalizeDouble(ld_84 + a_price_20 * point_68, digit
s_76);
a_price_20 = f0_6(a_symbol_4, ld_84, a_price_20);
}
if (a_price_28 > 0.0) {
a_price_28 = NormalizeDouble(ld_84 - a_price_28 * point_68, digit
s_76);
a_price_28 = f0_0(a_symbol_4, ld_84, a_price_28);
}
}
if (OrderModify(ticket_64, OrderOpenPrice(), a_price_20, a_price_28, 0,
a_color_48)) Print("M-Step 2 - TP/SL added. SL=", a_price_20, " TP=", a_price_2
8);
else {
error_60 = GetLastError();
Print("EA-Step 2 failed. Could not add SL/TP to order. Error:", erro
r_60, " ", ErrorDescription(error_60));
}
} else {
error_60 = GetLastError();
Print("EA-Step 2 failed. Could not select order. Error:", error_60, " "
, ErrorDescription(error_60));
}
}
return (0);
}
int f0_10(int a_cmd_0, string a_symbol_4, double a_minlot_12, double a_price_20,
double a_price_28, string a_comment_36, int a_magic_44, color a_color_48, strin
g as_52) {
double price_72;
int ticket_88;
bool li_92;
int error_96;
int li_100 = 1;
a_price_20 *= gi_116;
a_price_28 *= gi_116;
switch (a_cmd_0) {
case OP_BUY:
li_92 = TRUE;
break;
case OP_SELL:
li_92 = FALSE;
break;
default:
Print("EA-ERROR : Wrong order type ", a_cmd_0);
return (-1);
}
if (f0_3(a_symbol_4, a_cmd_0, a_magic_44) >= MaxNumberofPositions) {
Print("EA-Warning : Can not execute new ", f0_5(a_cmd_0), " order for Symb
ol ", a_symbol_4, ". Maximum number of ", MaxNumberofPositions, " open positions
reached.");
return (0);
}
if (!f0_13(a_symbol_4, a_minlot_12)) return (-1);
int digits_60 = MarketInfo(a_symbol_4, MODE_DIGITS);
double point_64 = MarketInfo(a_symbol_4, MODE_POINT);
if (UseRiskRatio) {
a_price_20 = NormalizeDouble(a_price_28 / RiskRatio, digits_60);
Print("EA-Stop loss adjusted according to risk ratio, equation TakeProfit/
StopLoss=", RiskRatio, ". SL=Price +/- ", a_price_20 * point_64, ".");
}
int li_108 = 1;
if (IsMicroAccount) li_108 = 2;
double lots_112 = a_minlot_12;
if (NormalizeDouble(AccountFreeMargin() * (MaximumPercentageatRisk / 100.0) /
1000.0, li_108) < a_minlot_12 && UseMaximumPercentageatRisk) {
a_minlot_12 = NormalizeDouble(AccountFreeMargin() * (MaximumPercentageatRi
sk / 100.0) / 1000.0, li_108);
if (a_minlot_12 < MarketInfo(a_symbol_4, MODE_MINLOT)) {
a_minlot_12 = MarketInfo(a_symbol_4, MODE_MINLOT);
Print("EA-Lot adjusted from ", lots_112, " to minimum size allowed by t
he server of ", a_minlot_12, " but it DOES NOT comply with Maximum Risk conditio
n. User interaction is required!");
} else Print("EA-Lot adjusted from ", lots_112, " to ", a_minlot_12, " to
comply with Maximum Risk condition. Each trade can risk only ", MaximumPercentag
eatRisk, "% of free margin.");
}
while (li_100 > 0) {
RefreshRates();
if (li_92) {
price_72 = NormalizeDouble(MarketInfo(a_symbol_4, MODE_ASK), digits_60)
;
if (a_price_20 > 0.0) {
a_price_20 = NormalizeDouble(price_72 - a_price_20 * point_64, digit
s_60);
a_price_20 = f0_6(a_symbol_4, price_72, a_price_20);
}
if (a_price_28 > 0.0) {
a_price_28 = NormalizeDouble(price_72 + a_price_28 * point_64, digit
s_60);
a_price_28 = f0_0(a_symbol_4, price_72, a_price_28);
}
&nbs

Вам также может понравиться