##############الى المبرمجين############
السلام عليكم جميــــــــــــــــعا
عندي سؤال عن الأكواد لتعديل خاصية إكسبيرت
# كود لتغيير تاريخ إنتهاء تجربة الإكسبيرت ؟
# كود لعمل باك تست للإكسبيرت ؟
وبأي مكان يكون وجودهم في الإكسبيرت؟
وشكرا مقدمــــــــــا
رد: ##############الى المبرمجين############
وعليكم السلام
تلاقي سطر فيه مثل هذا الشرط غير التأريخ مثلاُ من 2008 الى 2020 .. تحياتي
if (Year() >= 2008 && Month() >= 8 && Day() >= 1) return (0
رد: ##############الى المبرمجين############
اقتباس:
المشاركة الأصلية كتبت بواسطة شارت يومي
تلاقي سطر فيه مثل هذا الشرط غير التأريخ مثلاُ من 2008 الى 2020 .. تحياتي if (Year() >= 2008 && Month() >= 8 && Day() >= 1) return (0
لاتنسى ياأخي بأن هناك طرق كثيرة مثل : Activation code ترسله لك الشركة لإظافته بالإكسبيرت أو جعل كود إختبار المدة تستدعى من مكتبة خارجية أو برمجة الإكسبيرت للعمل على رقم حساب معين فقط أو ديمو فقط أو أي طرق قد لاتخطر على بال.
رد: ##############الى المبرمجين############
صحيح ليست محدده بالتاريخ فقط فتجد الكود مقسم ومتصل ببعضه بين أسطر البرنامج كاملا
نأمل منكم التفاصيل ...
رد: ##############الى المبرمجين############
تحية طيبة
تحيتي الى اسامة و الاخ دولار اذا كان عندك الاكسبيرت ضعه وأنا أنزعلك الحماية هناك العديد من طرق الحماية
والسلام عليكم
رد: ##############الى المبرمجين############
أخ حكيم هذا لم أقدر عليه
Forex Trading
و هذا كتابه
Forex Trading
رد: ##############الى المبرمجين############
ضعه هنا انشاءالله يكون فيه حل
1 مرفق
رد: ##############الى المبرمجين############
اقتباس:
المشاركة الأصلية كتبت بواسطة حكيم
ضعه هنا انشاءالله يكون فيه حل
تفضل أخي على بركة الله
1 مرفق
رد: ##############الى المبرمجين############
السلام عليكم
لقد قمت بفك الحمايه وهو الأن بصيغة mq4 ولكني لم أجري عليه أي تعديل هذا هو
1 مرفق
رد: ##############الى المبرمجين############
يا اخوان كنت فاتح موضوع لهذا الاكسبرت لكن يبدو انكم لم تنتبهوا عليه
هذا اكسبرت انزلته من موقع يبيع الاسكبرت و هو يعمل على البانات السابقة يعني بالامكان عمل باكتيست فقط
و لا يشتغل على الاسعار الحالية
ممكن و بعد ان فكيت عنه الحماية
ممكن ان تبحثوا بداخله اين بالامكان تشغيله على البيانات المستحدثة؟؟؟
تحياتي لكم
رد: ##############الى المبرمجين############
اقتباس:
المشاركة الأصلية كتبت بواسطة forexkiller
السلام عليكم
لقد قمت بفك الحمايه وهو الأن بصيغة mq4 ولكني لم أجري عليه أي تعديل هذا هو
عند عمل compile لهذه النسخة وتحويلها لصيغة ex4 من جديد ستظهر بعض الأخطاء بسبب العلامة /* بالأعلي ،عند ازالتها لا توجد أخطاء
رد: ##############الى المبرمجين############
اقتباس:
المشاركة الأصلية كتبت بواسطة braveheart
يا اخوان كنت فاتح موضوع لهذا الاكسبرت لكن يبدو انكم لم تنتبهوا عليه
هذا اكسبرت انزلته من موقع يبيع الاسكبرت و هو يعمل على البانات السابقة يعني بالامكان عمل باكتيست فقط
و لا يشتغل على الاسعار الحالية
ممكن و بعد ان فكيت عنه الحماية
ممكن ان تبحثوا بداخله اين بالامكان تشغيله على البيانات المستحدثة؟؟؟
تحياتي لكم
المشكلة أحيانا تكون خسارته كبيره علي الباك تست
https://forum.arabictrader.com/uploaded/17586_45877.gif
رد: ##############الى المبرمجين############
لو سمحتوا اريد تعديل على أوامر هذا الاكسبيرت وطريقة عملة اذا فتح صفقة مثلا شراء ونزل السعر لعدد محدد من النقاط يدخل شراء ايضا وهكذا حتى يحقق الهدف.
التعديل المطلوب :
1- ان يدخل بضعف العقد السابق وهكذا .
2- ان يقفل الصفقة الخسرانة التي قبلها.
3-ان يكون الهدف السعر الذي أقفل عنده الصفقة السابقة الخسرانة.
3- تحديد مكان عدد مضاعفات العقود في حال دخل شراء وخسر ثم دخل مرة وخسر يعني اين الكود الذي يحدد ذلك؟
4- ارجوا تحديد الكود الأكواد السابقة بلون مختلف عند مشاركتكم وايضا الكود المسؤول عن الباك تست وعن الكود الذي يشغله على الديمو لتجربته .
هذا كود البرنامج :
كود PHP:
n int MaxTrades = 400;
extern int Pips = 6;
extern double TakeProfit = 4.0;
extern double TrailingStop = 0.0;
extern double InitialStop = 0.0;
int gi_108 = 10;
int gi_112 = 1;
int gi_116 = 3;
int gi_120 = 0;
double gd_124 = 10.0;
double gd_132 = 10.0;
double gd_140 = 10.0;
double gd_148 = 9.715;
int gi_156 = 2005;
int gi_160 = 1;
int gi_164 = 2050;
int gi_168 = 12;
int gi_unused_172 = 22;
int gi_unused_176 = 30;
int gi_180 = 0;
int gi_184 = 12;
int gi_188 = 0;
int g_count_192 = 0;
int g_pos_196 = 0;
int g_slippage_200 = 5;
double g_price_204 = 0.0;
double g_price_212 = 0.0;
double g_ask_220 = 0.0;
double g_bid_228 = 0.0;
double gd_236 = 0.0;
double g_lots_244 = 0.0;
int g_cmd_252 = OP_BUY;
int gi_256 = 0;
bool gi_260 = TRUE;
double g_ord_open_price_264 = 0.0;
int gi_272 = 0;
double gd_276 = 0.0;
int g_ticket_284 = 0;
int gi_288 = 0;
double g_price_292 = 0.0;
double g_ord_lots_300 = 0.0;
double gd_unused_308 = 0.0;
double gd_316 = 0.0;
string gs_unused_324 = "";
string gs_332 = "";
double gd_340;
double Lots() {
gd_340 = NormalizeDouble(0.2 * AccountFreeMargin() / 10000.0, 1);
if (gd_340 < 0.1) gd_340 = 0.1;
if (gd_340 > 100.0) gd_340 = 100;
return (gd_340);
}
int init() {
if (IsTesting()) {
ObjectCreate("text_object", OBJ_LABEL, 0, 0, 0);
ObjectSet("text_object", OBJPROP_XDISTANCE, 4);
ObjectSet("text_object", OBJPROP_YDISTANCE, 15);
ObjectSetText("text_object", "(c) ForexSoft Team, http://forexsoft.us", 8, "Verdana", Gold);
} else Alert("Demo-version runs under Strategy Tester,\nnot on account - ON HISTORY ONLY !\n\nSee full version at http://forexsoft.us");
return (0);
}
int deinit() {
return (0);
}
int start() {
if (IsTesting()) {
if (gi_188 == 1) {
if (gi_180 != 0) gd_236 = MathCeil(AccountBalance() * gi_184 / 10000.0);
else gd_236 = Lots();
} else {
if (gi_180 != 0) gd_236 = MathCeil(AccountBalance() * gi_184 / 10000.0) / 10.0;
else gd_236 = Lots();
}
if (gd_236 > 100.0) gd_236 = 100;
g_count_192 = 0;
for (g_pos_196 = 0; g_pos_196 < OrdersTotal(); g_pos_196++) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) g_count_192++;
}
if (g_count_192 < 1) {
if (TimeYear(TimeCurrent()) < gi_156) return (0);
if (TimeMonth(TimeCurrent()) < gi_160) return (0);
if (TimeYear(TimeCurrent()) > gi_164) return (0);
if (TimeMonth(TimeCurrent()) > gi_168) return (0);
}
if (Symbol() == "EURUSD") gd_316 = gd_124;
if (Symbol() == "GBPUSD") gd_316 = gd_132;
if (Symbol() == "USDJPY") gd_316 = gd_148;
if (Symbol() == "USDCHF") gd_316 = gd_140;
if (gd_316 == 0.0) gd_316 = 5;
if (gi_272 > g_count_192) {
for (g_pos_196 = OrdersTotal(); g_pos_196 >= 0; g_pos_196--) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
g_cmd_252 = OrderType();
if (OrderSymbol() == Symbol()) {
if (g_cmd_252 == OP_BUY) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_200, Blue);
if (g_cmd_252 == OP_SELL) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_200, Red);
return (0);
}
}
}
gi_272 = g_count_192;
if (g_count_192 >= MaxTrades) gi_260 = FALSE;
else gi_260 = TRUE;
if (g_ord_open_price_264 == 0.0) {
for (g_pos_196 = 0; g_pos_196 < OrdersTotal(); g_pos_196++) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
g_cmd_252 = OrderType();
if (OrderSymbol() == Symbol()) {
g_ord_open_price_264 = OrderOpenPrice();
if (g_cmd_252 == OP_BUY) gi_256 = 2;
if (g_cmd_252 == OP_SELL) gi_256 = 1;
}
}
}
if (g_count_192 < 1) {
gi_256 = 3;
if (iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 0) > iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 1)) gi_256 = 2;
if (iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 0) < iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 1)) gi_256 = 1;
if (gi_120 == 1) {
if (gi_256 == 1) gi_256 = 2;
else
if (gi_256 == 2) gi_256 = 1;
}
}
for (g_pos_196 = OrdersTotal(); g_pos_196 >= 0; g_pos_196--) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_SELL) {
if (TrailingStop > 0.0) {
if (OrderOpenPrice() - Ask >= (TrailingStop + Pips) * Point) {
if (OrderStopLoss() > Ask + Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderClosePrice() - TakeProfit * Point - TrailingStop * Point, 800, Purple);
return (0);
}
}
}
}
if (OrderType() == OP_BUY) {
if (TrailingStop > 0.0) {
if (Bid - OrderOpenPrice() >= (TrailingStop + Pips) * Point) {
if (OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderClosePrice() + TakeProfit * Point + TrailingStop * Point, 800, Yellow);
return (0);
}
}
}
}
}
}
gd_276 = 0;
g_ticket_284 = 0;
gi_288 = FALSE;
g_price_292 = 0;
g_ord_lots_300 = 0;
for (g_pos_196 = 0; g_pos_196 < OrdersTotal(); g_pos_196++) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
g_ticket_284 = OrderTicket();
if (OrderType() == OP_BUY) gi_288 = true;
if (OrderType() == OP_SELL) gi_288 = TRUE;
g_price_292 = OrderClosePrice();
g_ord_lots_300 = OrderLots();
if (gi_288 == FALSE) {
if (OrderClosePrice() < OrderOpenPrice()) gd_276 -= (OrderOpenPrice() - OrderClosePrice()) * OrderLots() / Point;
if (OrderClosePrice() > OrderOpenPrice()) gd_276 += (OrderClosePrice() - OrderOpenPrice()) * OrderLots() / Point;
}
if (gi_288 == TRUE) {
if (OrderClosePrice() > OrderOpenPrice()) gd_276 -= (OrderClosePrice() - OrderOpenPrice()) * OrderLots() / Point;
if (OrderClosePrice() < OrderOpenPrice()) gd_276 += (OrderOpenPrice() - OrderClosePrice()) * OrderLots() / Point;
}
}
}
gd_276 *= gd_316;
gs_332 = "Profit: $" + DoubleToStr(gd_276, 2) + " +/-";
if (g_count_192 >= MaxTrades - gi_116 && gi_112 == 1) {
if (gd_276 >= gi_108) {
OrderClose(g_ticket_284, g_ord_lots_300, g_price_292, g_slippage_200, Yellow);
gi_260 = FALSE;
return (0);
}
}
if (!IsTesting()) {
if (gi_256 == 3) gs_unused_324 = "No conditions to open trades";
else gs_unused_324 = " ";
}
if (gi_256 == 1 && gi_260) {
if (Bid - g_ord_open_price_264 >= Pips * Point || g_count_192 < 1) {
g_bid_228 = Bid;
g_ord_open_price_264 = 0;
if (TakeProfit == 0.0) g_price_212 = 0;
else g_price_212 = g_bid_228 - TakeProfit * Point;
if (InitialStop == 0.0) g_price_204 = 0;
else g_price_204 = g_bid_228 + InitialStop * Point;
if (g_count_192 != 0) {
g_lots_244 = gd_236;
for (g_pos_196 = 1; g_pos_196 <= g_count_192; g_pos_196++) {
if (MaxTrades > 1024) g_lots_244 = NormalizeDouble(2.0 * g_lots_244, 1);
else g_lots_244 = NormalizeDouble(2.0 * g_lots_244, 1);
}
} else g_lots_244 = gd_236;
if (g_lots_244 > 100.0) g_lots_244 = 100;
OrderSend(Symbol(), OP_SELL, g_lots_244, g_bid_228, g_slippage_200, g_price_204, g_price_212, 0, 0, 0, Red);
return (0);
}
}
if (gi_256 == 2 && gi_260) {
if (g_ord_open_price_264 - Ask >= Pips * Point || g_count_192 < 1) {
g_ask_220 = Ask;
g_ord_open_price_264 = 0;
if (TakeProfit == 0.0) g_price_212 = 0;
else g_price_212 = g_ask_220 + TakeProfit * Point;
if (InitialStop == 0.0) g_price_204 = 0;
else g_price_204 = g_ask_220 - InitialStop * Point;
if (g_count_192 != 0) {
g_lots_244 = gd_236;
for (g_pos_196 = 1; g_pos_196 <= g_count_192; g_pos_196++) {
if (MaxTrades > 12) g_lots_244 = NormalizeDouble(2 * g_lots_244, 1);
else g_lots_244 = NormalizeDouble(2.0 * g_lots_244, 1);
}
} else g_lots_244 = gd_236;
if (g_lots_244 > 100.0) g_lots_244 = 100;
OrderSend(Symbol(), OP_BUY, g_lots_244, g_ask_220, g_slippage_200, g_price_204, g_price_212, 0, 0, 0, Blue);
return (0);
}
}
}
return (0);
}
وشـــــــــــــــــــــــــــــ:#ك#:ــــــــــــــ ــــــــرا
رد: ##############الى المبرمجين############
اقتباس:
المشاركة الأصلية كتبت بواسطة forexkiller
مشكور على وقتك لتجربته
بس اريد ان اقول لكجربه على اليورو $ فريم الساعة
و اخبرني عن النتيجة
تحياتي
رد: ##############الى المبرمجين############
اقتباس:
المشاركة الأصلية كتبت بواسطة DO$LAR
لو سمحتوا اريد تعديل على أوامر هذا الاكسبيرت وطريقة عملة اذا فتح صفقة مثلا شراء ونزل السعر لعدد محدد من النقاط يدخل شراء ايضا وهكذا حتى يحقق الهدف. التعديل المطلوب : 1- ان يدخل بضعف العقد السابق وهكذا . 2- ان يقفل الصفقة الخسرانة التي قبلها. 3-ان يكون الهدف السعر الذي أقفل عنده الصفقة السابقة الخسرانة. 3- تحديد مكان عدد مضاعفات العقود في حال دخل شراء وخسر ثم دخل مرة وخسر يعني اين الكود الذي يحدد ذلك؟ 4- ارجوا تحديد الكود الأكواد السابقة بلون مختلف عند مشاركتكم وايضا الكود المسؤول عن الباك تست وعن الكود الذي يشغله على الديمو لتجربته . هذا كود البرنامج : كود PHP:
n int MaxTrades = 400;
extern int Pips = 6;
extern double TakeProfit = 4.0;
extern double TrailingStop = 0.0;
extern double InitialStop = 0.0;
int gi_108 = 10;
int gi_112 = 1;
int gi_116 = 3;
int gi_120 = 0;
double gd_124 = 10.0;
double gd_132 = 10.0;
double gd_140 = 10.0;
double gd_148 = 9.715;
int gi_156 = 2005;
int gi_160 = 1;
int gi_164 = 2050;
int gi_168 = 12;
int gi_unused_172 = 22;
int gi_unused_176 = 30;
int gi_180 = 0;
int gi_184 = 12;
int gi_188 = 0;
int g_count_192 = 0;
int g_pos_196 = 0;
int g_slippage_200 = 5;
double g_price_204 = 0.0;
double g_price_212 = 0.0;
double g_ask_220 = 0.0;
double g_bid_228 = 0.0;
double gd_236 = 0.0;
double g_lots_244 = 0.0;
int g_cmd_252 = OP_BUY;
int gi_256 = 0;
bool gi_260 = TRUE;
double g_ord_open_price_264 = 0.0;
int gi_272 = 0;
double gd_276 = 0.0;
int g_ticket_284 = 0;
int gi_288 = 0;
double g_price_292 = 0.0;
double g_ord_lots_300 = 0.0;
double gd_unused_308 = 0.0;
double gd_316 = 0.0;
string gs_unused_324 = "";
string gs_332 = "";
double gd_340;
double Lots() {
gd_340 = NormalizeDouble(0.2 * AccountFreeMargin() / 10000.0, 1);
if (gd_340 < 0.1) gd_340 = 0.1;
if (gd_340 > 100.0) gd_340 = 100;
return (gd_340);
}
int init() {
if (IsTesting()) {
ObjectCreate("text_object", OBJ_LABEL, 0, 0, 0);
ObjectSet("text_object", OBJPROP_XDISTANCE, 4);
ObjectSet("text_object", OBJPROP_YDISTANCE, 15);
ObjectSetText("text_object", "(c) ForexSoft Team, http://forexsoft.us", 8, "Verdana", Gold);
} else Alert("Demo-version runs under Strategy Tester,\nnot on account - ON HISTORY ONLY !\n\nSee full version at http://forexsoft.us");
return (0);
}
int deinit() {
return (0);
}
int start() {
if (IsTesting()) {
if (gi_188 == 1) {
if (gi_180 != 0) gd_236 = MathCeil(AccountBalance() * gi_184 / 10000.0);
else gd_236 = Lots();
} else {
if (gi_180 != 0) gd_236 = MathCeil(AccountBalance() * gi_184 / 10000.0) / 10.0;
else gd_236 = Lots();
}
if (gd_236 > 100.0) gd_236 = 100;
g_count_192 = 0;
for (g_pos_196 = 0; g_pos_196 < OrdersTotal(); g_pos_196++) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) g_count_192++;
}
if (g_count_192 < 1) {
if (TimeYear(TimeCurrent()) < gi_156) return (0);
if (TimeMonth(TimeCurrent()) < gi_160) return (0);
if (TimeYear(TimeCurrent()) > gi_164) return (0);
if (TimeMonth(TimeCurrent()) > gi_168) return (0);
}
if (Symbol() == "EURUSD") gd_316 = gd_124;
if (Symbol() == "GBPUSD") gd_316 = gd_132;
if (Symbol() == "USDJPY") gd_316 = gd_148;
if (Symbol() == "USDCHF") gd_316 = gd_140;
if (gd_316 == 0.0) gd_316 = 5;
if (gi_272 > g_count_192) {
for (g_pos_196 = OrdersTotal(); g_pos_196 >= 0; g_pos_196--) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
g_cmd_252 = OrderType();
if (OrderSymbol() == Symbol()) {
if (g_cmd_252 == OP_BUY) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_200, Blue);
if (g_cmd_252 == OP_SELL) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_200, Red);
return (0);
}
}
}
gi_272 = g_count_192;
if (g_count_192 >= MaxTrades) gi_260 = FALSE;
else gi_260 = TRUE;
if (g_ord_open_price_264 == 0.0) {
for (g_pos_196 = 0; g_pos_196 < OrdersTotal(); g_pos_196++) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
g_cmd_252 = OrderType();
if (OrderSymbol() == Symbol()) {
g_ord_open_price_264 = OrderOpenPrice();
if (g_cmd_252 == OP_BUY) gi_256 = 2;
if (g_cmd_252 == OP_SELL) gi_256 = 1;
}
}
}
if (g_count_192 < 1) {
gi_256 = 3;
if (iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 0) > iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 1)) gi_256 = 2;
if (iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 0) < iMACD(NULL, 0, 5, 15, 5, PRICE_CLOSE, MODE_MAIN, 1)) gi_256 = 1;
if (gi_120 == 1) {
if (gi_256 == 1) gi_256 = 2;
else
if (gi_256 == 2) gi_256 = 1;
}
}
for (g_pos_196 = OrdersTotal(); g_pos_196 >= 0; g_pos_196--) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_SELL) {
if (TrailingStop > 0.0) {
if (OrderOpenPrice() - Ask >= (TrailingStop + Pips) * Point) {
if (OrderStopLoss() > Ask + Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderClosePrice() - TakeProfit * Point - TrailingStop * Point, 800, Purple);
return (0);
}
}
}
}
if (OrderType() == OP_BUY) {
if (TrailingStop > 0.0) {
if (Bid - OrderOpenPrice() >= (TrailingStop + Pips) * Point) {
if (OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderClosePrice() + TakeProfit * Point + TrailingStop * Point, 800, Yellow);
return (0);
}
}
}
}
}
}
gd_276 = 0;
g_ticket_284 = 0;
gi_288 = FALSE;
g_price_292 = 0;
g_ord_lots_300 = 0;
for (g_pos_196 = 0; g_pos_196 < OrdersTotal(); g_pos_196++) {
OrderSelect(g_pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
g_ticket_284 = OrderTicket();
if (OrderType() == OP_BUY) gi_288 = true;
if (OrderType() == OP_SELL) gi_288 = TRUE;
g_price_292 = OrderClosePrice();
g_ord_lots_300 = OrderLots();
if (gi_288 == FALSE) {
if (OrderClosePrice() < OrderOpenPrice()) gd_276 -= (OrderOpenPrice() - OrderClosePrice()) * OrderLots() / Point;
if (OrderClosePrice() > OrderOpenPrice()) gd_276 += (OrderClosePrice() - OrderOpenPrice()) * OrderLots() / Point;
}
if (gi_288 == TRUE) {
if (OrderClosePrice() > OrderOpenPrice()) gd_276 -= (OrderClosePrice() - OrderOpenPrice()) * OrderLots() / Point;
if (OrderClosePrice() < OrderOpenPrice()) gd_276 += (OrderOpenPrice() - OrderClosePrice()) * OrderLots() / Point;
}
}
}
gd_276 *= gd_316;
gs_332 = "Profit: $" + DoubleToStr(gd_276, 2) + " +/-";
if (g_count_192 >= MaxTrades - gi_116 && gi_112 == 1) {
if (gd_276 >= gi_108) {
OrderClose(g_ticket_284, g_ord_lots_300, g_price_292, g_slippage_200, Yellow);
gi_260 = FALSE;
return (0);
}
}
if (!IsTesting()) {
if (gi_256 == 3) gs_unused_324 = "No conditions to open trades";
else gs_unused_324 = " ";
}
if (gi_256 == 1 && gi_260) {
if (Bid - g_ord_open_price_264 >= Pips * Point || g_count_192 < 1) {
g_bid_228 = Bid;
g_ord_open_price_264 = 0;
if (TakeProfit == 0.0) g_price_212 = 0;
else g_price_212 = g_bid_228 - TakeProfit * Point;
if (InitialStop == 0.0) g_price_204 = 0;
else g_price_204 = g_bid_228 + InitialStop * Point;
if (g_count_192 != 0) {
g_lots_244 = gd_236;
for (g_pos_196 = 1; g_pos_196 <= g_count_192; g_pos_196++) {
if (MaxTrades > 1024) g_lots_244 = NormalizeDouble(2.0 * g_lots_244, 1);
else g_lots_244 = NormalizeDouble(2.0 * g_lots_244, 1);
}
} else g_lots_244 = gd_236;
if (g_lots_244 > 100.0) g_lots_244 = 100;
OrderSend(Symbol(), OP_SELL, g_lots_244, g_bid_228, g_slippage_200, g_price_204, g_price_212, 0, 0, 0, Red);
return (0);
}
}
if (gi_256 == 2 && gi_260) {
if (g_ord_open_price_264 - Ask >= Pips * Point || g_count_192 < 1) {
g_ask_220 = Ask;
g_ord_open_price_264 = 0;
if (TakeProfit == 0.0) g_price_212 = 0;
else g_price_212 = g_ask_220 + TakeProfit * Point;
if (InitialStop == 0.0) g_price_204 = 0;
else g_price_204 = g_ask_220 - InitialStop * Point;
if (g_count_192 != 0) {
g_lots_244 = gd_236;
for (g_pos_196 = 1; g_pos_196 <= g_count_192; g_pos_196++) {
if (MaxTrades > 12) g_lots_244 = NormalizeDouble(2 * g_lots_244, 1);
else g_lots_244 = NormalizeDouble(2.0 * g_lots_244, 1);
}
} else g_lots_244 = gd_236;
if (g_lots_244 > 100.0) g_lots_244 = 100;
OrderSend(Symbol(), OP_BUY, g_lots_244, g_ask_220, g_slippage_200, g_price_204, g_price_212, 0, 0, 0, Blue);
return (0);
}
}
}
return (0);
}
وشـــــــــــــــــــــــــــــ:#ك#:ــــــــــــــ ــــــــرا
UP
!
:016: