مرفق الإكسبرت تم تعديله وتجربته
Printable View
تستخدم الداله ObjectCreate
مثال
name هو إسم الخطكود PHP:void draw_line(string name,datetime time1, double price1,datetime time2,double price2,color _Color)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_TREND, 0, time1,price1,time2,price2);
ObjectSet(name, OBJPROP_COLOR, _Color);
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name, OBJPROP_WIDTH, Width);
}
if(ObjectGet(name,OBJPROP_PRICE1)!=price1||ObjectGet(name,OBJPROP_PRICE2)!=price2)
{
ObjectDelete(name);
draw_trend(name,time1,price1,time2,price2,_Color);
}
}
time1 هو بداية توقيت رسم الخط
price1 سعر النقطة الأولى
time2 نهاية توقيت رسم الخط
price2 سعر النقطة الثانيه
Color لون الخط
مثلا أريد رسم خط على أقل لو لآخر خمس شمعات سيكون
كود PHP:double price=Low[iLowest(Symbol(),0,MODE_LOW,5,0)];
draw_line("line",Time[0], price,Time[5],price,Red);
تم استخدامة مسبقا لكنه اوقف المضاعفات حتى لتكرار العقود على نفس الشمعة وهذا ما قصدته لن يكون مضاعفات في حالة تكرار الفرص على نفس الشمعة ثم لوت جديد مع بداية الشمعة اللاحقة .
أستاذي الأكسبيرت ممتاز وينفذ الطلب وعرفت خطأي وكان في
وعندما غيرته الىكود PHP://if (LastOrderLot(Time(0) && OrderLots()>0 )CurrentLotss = OrderLots();
حسب ما وجهتني تم عمل التنفيذ حسب الطلب جزاك الله خير وبارك فيك .كود PHP:if (orderscnt() && LastOrderLot(Time[0])>0 )CurrentLotss = LastOrderLot(Time[0]);
السلام عليكم و رحمة الله و بركاته أستاذ أسامه ... أسأل الله العظيم أن تكون بخير و في تمام الصحة و العافية أنت و جميع أعضاء المنتدى ...
هذه الداله تعطيني خطأ عند الكومبايل بأن ال cnt .. variable not defined و حاولت التعديل في الاقواس لعلها السبب ؟؟ ... و جزاك الله خيرا .
كود PHP:for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber () == MagicNumber&&OrderType()==OP_BUY)
{ double openpricebuy = OrderOpenPrice(); }
if(orderscnt(OP_BUY)>=1 && PendingOrders(OP_SELLSTOP)+PendingOrders(OP_BUYSTOP)==0)
{
if(TakeProfit==0){TP=0;}else{TP=openpricebuy-Step*point-TakeProfit*point;}
if(StopLoss==0){SL=0;}else{SL=openpricebuy-Step*point+StopLoss*point;}
if(UseSLTP) TP=last_sl ;
if(UseSLTP) SL=last_tp ;
OrderSend(Symbol(),OP_SELLSTOP,new(),NormalizeDouble(openpricebuy-Step*point,digits),3*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),"MR.dollar EA",MagicNumber,0,Red);
}
}
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber () == MagicNumber&&OrderType()==OP_SELL)
{ double openpricesell = OrderOpenPrice(); }
if(orderscnt(OP_SELL)>=1 && PendingOrders(OP_BUYSTOP)+PendingOrders(OP_SELLSTOP)==0)
{
if(TakeProfit==0){TP=0;}else{TP=openpricesell+Step*point+TakeProfit*point;}
if(StopLoss==0){SL=0;}else{SL=openpricesell+Step*point-StopLoss*point;}
if(UseSLTP) TP=last_sl ;
if(UseSLTP) SL=last_tp ;
OrderSend(Symbol(),OP_BUYSTOP,new(),NormalizeDouble(openpricesell+Step*point,digits),3*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),"MR.dollar EA",MagicNumber,0,Blue);
}
}
السلام عليكم
اخي اسامة اريد معرفة وقت اخر صفقة اغلقت
حيث احدد النوع buy او sell