شكرا حسن ،،، و لا تؤاخذني على الشرح باللغة العربية العامية (معنى بلش = بداء )....
بالعموم انت فهمتني صح ، بس ما قدرة اطبق شرحك بس انا كمان رح حاول اكتر اذا ما مشي الحال معي من بعد اذنك سوف اطلب المساعدة مرة اخرى. و مرة ثانية شكرا حسن و الله يوفقك على اعمالك الطيبة.
extern int MagicNumber=1;
extern double Lots =0.01;
extern double StopLoss=20;
extern double TakeProfit=20;
extern int TrailingStop=0;
extern int Slippage=3;
//+------------------------------------------------------------------+
// expert start function
//+------------------------------------------------------------------+
int start()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point*10;
double TheStopLoss=0;
double TheTakeProfit=0;
if( TotalOrdersCount()==0 )
{
int result=0;
if((Open[0]<Close[1])) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"essai1",MagicNumber,0,Blue);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-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);
}
السلام عيكم حسن
بمشاركتي الأخيرة ذكرت لك اني رح احاول بس دائما عم افشل.
لذلك ارفقت لك الاكسبيرت مع شرح داخل الاكسبيرت.
الرجاء الاطلاع و شكرا حسن
الملفات المرفقة
لا تؤاخذني حسن,, الاكسبيرت المرفق بالمشاركة السابقة لا يضيف على اللوت
بهذه المشاركة ارفقت الكسبيرت الصحيح...
الملفات المرفقة
تم التصحيح بالنسخة المرفقة
الملفات المرفقة
ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك
قوانين المنتدى
العلامات المرجعية