النتائج 1 إلى 4 من 4
الموضوع: استاذ اسامه طلب بسيط
- 06-12-2011, 09:00 PM #1
استاذ اسامه طلب بسيط
سلام عليكم استاذ اسامه
عندي طلب بسيط في اضافة خيار Maxorder لممانعة الاكسبيرت لفتح اكثر من صفقه واحده بعمله و بماجيك نمبر واحده (كثير من الاحيان الاكسبيرت يكرر الصفقات)
ثانيا اضافة خيار Maxlot لمنع الاكسبيرت لفتح صفقه اكبر من الحجم المطلوب لان في الاكسبيرت خاصية المضاعفات و لا يوجد تحديد لاقصى حجم في فتح الصفقه
همسه: خيار Min lot and Max lot الموجود هو لاستقبال حجم محدد و ليس لفتح حجم محدد و لهذا ارجوا اضافة Maxlot لتحديد اقصى حجم المتاح لفتح الصفقه
ايضا هناك اشكال يحصل في منصة ECN و هي بقاء بعض الصفقات بدون هدف و استوب بسبب عدم تقبل السريفر موديفاي الهدف و الاستوب لقرب السعر و مسبقا هناك كد لقيته لحضرتك يساعد في حل الاشكال ياريت اضافته في الاكسبيرت ايضا:
كود PHP:extern int LotStep=2;
int safeShortOrder(int ai_0, int ai_4, double a_lots_8, int a_magic_16, string a_comment_20) {
if(a_lots_8<MarketInfo(Symbol(),MODE_MINLOT))a_lots_8=MarketInfo(Symbol(),MODE_MINLOT);
if(a_lots_8>MarketInfo(Symbol(),MODE_MAXLOT))a_lots_8=MarketInfo(Symbol(),MODE_MAXLOT);
a_lots_8=NormalizeDouble(a_lots_8,LotStep);
int safeLongOrder(int ai_0, int ai_4, double a_lots_8, int a_magic_16, string a_comment_20) {
if(a_lots_8<MarketInfo(Symbol(),MODE_MINLOT))a_lots_8=MarketInfo(Symbol(),MODE_MINLOT);
if(a_lots_8>MarketInfo(Symbol(),MODE_MAXLOT))a_lots_8=MarketInfo(Symbol(),MODE_MAXLOT);
a_lots_8=NormalizeDouble(a_lots_8,LotStep);
كود PHP:l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
كود PHP:void ModifyOrders(){
double SL,TP;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderStopLoss()==0||OrderTakeProfit()==0){
if(OrderType()==OP_BUY){
if(StopLoss==0)SL=0;else SL=OrderOpenPrice()-StopLoss*Point;
if(TakeProfit==0)TP=0;else TP=OrderOpenPrice()+TakeProfit*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);
}
if(OrderType()==OP_SELL){
if(StopLoss==0)SL=0;else SL=OrderOpenPrice()+StopLoss*Point;
if(TakeProfit==0)TP=0;else TP=OrderOpenPrice()-TakeProfit*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);
}
}
}
}
آخر تعديل بواسطة amazing ، 06-12-2011 الساعة 09:25 PM
- 06-12-2011, 09:57 PM #2
طبعا خیار MAXorder يكون لممانعة الاكسبيرت من فتح صفقه بنفس المواصفات حجم و ماجيك و عمله
- 09-12-2011, 05:53 PM #3
بارك الله فيك ارجوا فقط اضافة خيار Max order و Maxlot و شكرا
- 09-12-2011, 11:57 PM #4
تم التعديل
MaxOrders أقصى عدد للصفقات
MaxAllowedLot أقصى حجم لوت
بالنسبه لعمل مودفاي فهل تقصد البحث عن أقرب هدف واستوب لوز مسموح به ووضعه