النتائج 1 إلى 6 من 6
الموضوع: تفكيك OrderComment
- 27-12-2015, 05:24 AM #1
تفكيك OrderComment
السلام عليكم
لدي صفقات بيع مفتوحة كل منها لها معطيات مختلفة
اريد عمل صفقة معاكسة شراء وفق شروط محددة مسبقا (مثلا الوقف فوق اقرب قمة في الفريم المستخدم لفتح الصفقة)
لم أجد إلا حل واحد
وهو ان اضيف كل المعطيات للصفقة المعاكسة في الكومانت
ثم استدعي الكومانت وافككه واستخرج منه معطيات صفقة الشراء
فكيف سيتم التفكيك ؟؟
شكرا لكم
كود:OrderSend_SELL(Low_1, Low_1 - T_P, S_L , " القمة " + period + lots_2 + "" + BuyPrice ,Magicnumber,0,Red); for(int i=0;i<=OrdersTotal();i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magicnumber){ double lot=OrderLots();int type=OrderType();double Price=OrderOpenPrice(); string Comm=OrderComment(); } }
- 27-12-2015, 07:00 PM #2
وجدت حلا غير جذري
عندما اضع الرقم اول الكومنت
واستدعيه فهو يجلبه فقط
كود:OrderSend_SELL(Low_1, Low_1 - T_P, S_L ,BuyPrice + " القمة " + period + lots_2 + "" ,Magicnumber,0,Red);
كود:string str1=" Hello world "; string str2=StringTrimLeft(str1,4); // after left trim str2 will be equal to "Hello World "
آخر تعديل بواسطة أبو نـاصر ، 27-12-2015 الساعة 07:14 PM
- 28-12-2015, 01:59 AM #3
إستخدم الداله StringSplit
مثال
كود PHP:OrderSend_SELL(Low_1, Low_1 - T_P, S_L ,BuyPrice+"_" + " القمة "+"_" + period+"_" + lots_2 + "" ,Magicnumber,0,Red);
string OrderInfo[];
ushort u_sep=StringGetCharacter("_",0);
StringSplit(comment,u_sep,OrderInfo);
- 28-12-2015, 02:57 PM #4
يا لروعتك حبيبي
اشكرك بعمق
اكملته بالكود التالي
كود:double Qmah = OrderInfo[0]; string sub = OrderInfo[1]; string period5 = OrderInfo[2]; double lose1 = OrderInfo[3];
سؤال جانبي تكرما
احتاج وضع ستوب لوس لأمر البيع هذا
حيث لا يوجد ستوب لوس
وأضفت امر معلق معاكس شراء
كود:if(type==OP_SELL&&(Ask>=Qmah-100*Point)&&BUYSTOP_DoN!=Qmah){ OrderSend_Buy((Qmah),Qmah+100*Point , 0,Qmah+"_" + " القمة "+"_" + period5+"_" +Lots ,period5); // OrderStopLoss=Qmah+100*Point ; BUYSTOP_DoN=Qmah; }
- 28-12-2015, 03:27 PM #5
بعد فتح الأمر قم بحفظ التيكيت للصفقه التي فتحت
مثال
كود PHP:int ticket=OrderSend(Symbol(),OP_BUY,NewLot,NormalizeDouble(Ask,Digits),3*P,SL,TP,"EA",MagicNumber,0,Blue);
مثال
كود PHP:OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderModify(ticket,OrderOpenPrice(),Qmah+100*Point,OrderTakeProfit(),0);
- 30-12-2015, 02:03 AM #6
يعلم الله كم أنا سعيد بمتابعتك الموضوع
جزاك الله كل خير
استخدمت السطر التالي وأدى دوره
كود:OrderModify(ticket,OrderOpenPrice(),Qmah+100*Point,OrderTakeProfit(),0);
كما استخدمت الكود الاحترازي التالي للتخلص من خطأ 130 131
حيث وضع الأمر المعلق يكون مع افتتاح الشمعة الجديدة واحيانا تفتح على مكان الأمر .. فيرجع الخطأ
هل من بديل مقترح
كود:if (Bid > Low_1+30*Point){
اسمح لي بسؤال خارج المنطق ..فالبرمجة منطق
الصورة التالية
اذا نفذ بيع ثم ضرب الوقف ونفذ بيع أخرى يأتي بالربح كامل
وخارج المنطق هو الجزء الثاني
10 عقود ستاندر والهدف 10 نقاط
لكنه لا يأتي بالربح كاملا ؟؟
جربت عقود ميني ومايكرو ايضا
ولا يوجد اي خطأ في الجورنال