المشاركة الأصلية كتبت بواسطة Jmeel
السلام عليكم ورحمة الله
استاذي مستر دولار الرجاء مراجعة هذا الكود
كود اوردر بيع بعد التعديل الى ECN
void SellOrder11()
{
double SL = Bid + SellStoploss11*PipValue*Point;
if (SellStoploss11 == 0) SL = 0;
double TP = Bid - SellTakeprofit11*PipValue*Point;
if (SellTakeprofit11 == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_SELL, SellLots11, Bid, 3, 0, 0, "My Expert", MagicNo, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, SellLots11, Bid, 3, SL, TP, "My Expert", MagicNo, 0, Red);
if (ticket > -1)
{
if (true)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
وهذا نفس الكود قبل التعديل :
void SellOrder12()
{
double SL = Bid + SellStoploss12*PipValue*Point;
if (SellStoploss12 == 0) SL = 0;
double TP = Bid - SellTakeprofit12*PipValue*Point;
if (SellTakeprofit12 == 0) TP = 0;
int ticket = -1;
if (false)
ticket = OrderSend(Symbol(), OP_SELL, SellLots12, Bid, 3, 0, 0, "My Expert", MagicNo, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, SellLots12, Bid, 3, SL, TP, "My Expert", MagicNo, 0, Red);
if (ticket > -1)
{
if (false)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
ومرفق الأكسبيرتين قبل وبعد ياريت اعرف فين الغلط لأن في شركة معينة بيقبل يشتغل عليها الأكسبيرت المعدل على ديمو ومابيقبل يشتغل على نفس المنصة حساب حقيقي .