-
ممكن شرح الكود بالتفصيل
مرحبا اخوتي ارجو ان يتم شرح الكود التالي
}
if((iBullsPower(NULL,0,13,PRICE_CLOSE,3)<iBullsPow er(NULL,0,13,PRICE_CLOSE,2))&&(iBullsPower(NULL,0, 13,PRICE_CLOSE,2)<iBullsPower(NULL,0,13,PRICE_CLOS E,1))&&(iBearsPower(NULL,0,13,PRICE_CLOSE,3)>iBear sPower(NULL,0,13,PRICE_CLOSE,2))&&(iBearsPower(NUL L,0,13,PRICE_CLOSE,2)>iBearsPower(NULL,0,13,PRICE_ CLOSE,1))&&(iBullsPower(NULL,0,13,PRICE_CLOSE,0)<0 )) // Here is your open Sell rule
{
result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippag e,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
OrderSelect(result,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(TheStopLoss,Digits),NormalizeDouble(TheTa keProfit,Digits),0,Green);
}
return(0);
}
}
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol() &&
OrderMagicNumber()==MagicNumber
)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
{
if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else
{
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
{
if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyP oint*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
int TotalOrdersCount()
{
int result=0;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);
if (OrderMagicNumber()==MagicNumber) result++;
}
return (result);
-
السلام عليكم
ارفق الكود بملف mql أو ضعه ضمن صيغة CODE بالمشاركة حتى يكون الكود منتظم
عموما الاكسبيرت يعتمد على مؤشرين BullsPower و BearsPower وشرط البيع يكون بمؤشر BullsPower البار 3 أصغر من البار 2 و البار 2 اصغر من البار 1 والبار الحالي أصغر من الصفر + بمؤشر BearsPower يكون البار 3 أكبر من البار 2 و البار 2 أكبر من البار 1
ثم يوجد دالة التريلينغ ستوب ودالة حساب عدد الصفقات المفعلة
-
-
-
-
السلام عليكم
الشرح بالكود :
ملحوظة :
ترقيم الشموع برمجيا يبدأ من آخر شمعة، يعني :
الشمعة 0 هي آخر شمعة التي لم تغلق بعد (الشمعة الحالية)
الشمعة 1 هي آخر شمعة مغلقة
الشمعة 2 هي الشمعة التي قبل الشمعة 1
وهكذا ...
//---------------------------------------------------
ثم يليه دالة الترلينيغ ستوب :
//---------------------------------------------------
ثم يليه دالة حساب عد الصفقات المفتوحة :
التعديل الأخير تم بواسطة kira-h ; 24-12-2021 الساعة 08:26 PM
ضوابط المشاركة
- لا تستطيع إضافة مواضيع جديدة
- لا تستطيع الرد على المواضيع
- لا تستطيع إرفاق ملفات
- لا تستطيع تعديل مشاركاتك
-
قوانين المنتدى
العلامات المرجعية