النتائج 1 إلى 6 من 6
الموضوع: كود لتغيير حجم العقد على التوالي
- 06-10-2010, 02:02 PM #1
كود لتغيير حجم العقد على التوالي
بعد محاولة يائسة لكتابة كود لم أجد احد يساعدني في هذا غير أخواني المبرمجين في هذا المنتدى على رأسهم أخونا الفاضل مستردولار.
أخي مستردولار أخواني المبرمجين محتاج كود يقوم بتغيير حجم اللوت على التوالي لجميع الصفقات بحيث يكون في الصفقة الأولى عقد واحد والثانية عقدين والثالثة عقد واحد للصفقة الرابعة عقد واحد يكون العقد الواحد والعقدين متغيرات خارجية يمكن تغييرها في المدخلات الخارجية.
1 2 1 2 1 2 1 2 1 2 وهكذا بغض النظر عن نوع الصفقة وما إذا كانت مفتوحة او تم إغلاقها
وكذلك إختيار الهدف والستوب لوز على حسب حجم العقد مثلا ان يكون الهدف في حالة العقدين 10 نقاط او يكون 20 نقطة في حالة العقد الواحد.
أسأل الله لي ولكم التوفيق والسداد
- 06-10-2010, 03:20 PM #2
رد: كود لتغيير حجم العقد على التوالي
يمكنك أن تبرمج دالة تعود بحجم لوت آخر صفقه تم فتحها وبالتالي إذا كان حجم اللوت 1 إذن الصفقه التاليه ستكون 2 لوت والعكس صحيح
مثال:
كود PHP:double LastLot(){
for(int i=OrdersHistoryTotal();i>0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
return(OrderLots());
}
}
return(0);
}
كود PHP:if(LastLot()==2)Lots=1;
if(LastLot()==1)Lots=2;
أسفل أمر الشراء أو البيع ستحتفظ بحجم آخر لوت في ذاكرة الميتاتريدر
كود PHP:GlobalVariableSet("LastLot",Lots);
كود PHP:if(GlobalVariableGet("LastLot")==1)Lots=2;
if(GlobalVariableGet("LastLot")==2)Lots=1;
- 06-10-2010, 04:05 PM #3
رد: كود لتغيير حجم العقد على التوالي
يعجز اللسان عن شكرك أخي مستردولار ..أرفع قبعتي إحتراماً إجلالاً لك .
أسأل الله ان يزرقك من حيث لا تحتسب وأ يصلح لك الذرية ويجمعك بمن تحب في جنات النعيم
موفق أخي
- 07-10-2010, 03:50 PM #4
رد: كود لتغيير حجم العقد على التوالي
أخي مستر دولار بارك الله فيك
حاولت أكتب كود على غرار ما كتبته لنا لتغيير نوع الصفقة بيع ام شراء لجعل الإكسبيرت يفتح صفقة شراء ثم بيع ثم شراء ثم بيع وهكذا
كتابة الكود تبدو سليمة مبدئيا ولا توجد اخطاء والغريب انه لا يفتح ولا امرا واحد
كود:int typeorder = OP_BUY; OrderSend(Symbol(),OP_BUY,Lots,Ask,Ask-StopLoss,0,Green); GlobalVariableSet("OrderType",typeorder); if(GlobalVariableGet("OrderType")==OP_BUY)typeorder=OP_SELL; if(GlobalVariableGet("OrderType")==OP_SELL)typeorder=OP_BUY; OrderSend(Symbol(),OP_SELL,Lots,Bid,Bid-StopLoss,0,Green);
آخر تعديل بواسطة 4X Trader ، 07-10-2010 الساعة 04:17 PM
- 08-10-2010, 11:55 PM #5
رد: كود لتغيير حجم العقد على التوالي
انتظرك أخي مستردولار
- 09-10-2010, 12:11 AM #6