اين كود اغلاق الشمعة
Printable View
اين كود اغلاق الشمعة
لم يدخل صفقات معي بالباك تست
نعم و
قمت بالغاء كود رقم 2 في المشاركة والخاص بشرط الشمعة الصاعدة شراء والهابطة بيع
وعدد الصفقات لا يتجاوز 1
واضفت الكود السابق الخاص بالمؤشر بدلا من الكود السابق
لا يوجد اخطاء لدي وكذلك لا يدخل صفقات بالباك تست
ارفعو الأكسبيرتات هنا
تمت اكتشاف الاخطاء وجاري عمل باك تست
الحمد لله النسخة الاولي تعمل
مرفق الاكسبرتين
عشان ندخل في شرح المضاعفات سنبتدي بمضاعفة معروفة وهي اذا اغلق صفقة خاسرة سيفتح صفقة جديدة بضع اللوت وحنحتاج كود يعود لنا بحجم اللوت للصفقة الخاسرة ونستخدم المعلومة في الصفقة الجديدة ، وسنضيف متغير خارجي وهو معامل الضرب المستخدم ، سأستخدم ابسط الأكواد فأذا اضفتوها ونفذتو باك تست صحيح ارفعو الأكسبيرتات .
هذا متغير خارجي .
وهذا تعريف لأستخدامه في الحلقة يوضع في السط بعد المتغير الخارجيكود PHP:extern double Multi_Factor=2;
هذه الحلقة ستبحث في الهيستوري عن نتيجة آخر عقد سنضعها بعد الحلقة السابقةكود PHP:double LastProfitH, LastLot;
هذا الكود سنغير به كود دالة الشراء وعليكم تغيير دالة البيع بنفس الفكرة والتغيير هو في السطر الأول والثاني برجاء التركيز على الشرط نحن هنا اخبرناه ان اللوت هو الأساسي في السطر الأول ثم السطر الثاني اخبرناه ان يعتمد نتيجة آخر صفقة مغلقة فأذا كانت بخسارة فيكون اللوت هو اللوت الخاسر * معامل الضرب واما اذا كان رابح فيعود الى اللوت الأساسيكود PHP:LastProfitH=0; LastLot=0;
for(int i =0;i<OrdersHistoryTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNo){
LastLot=OrderLots(); LastProfitH=OrderProfit();
}
}
لسرعة الباك تست استخدمو فريم 5 دقائق والربح والخسارة 10 نقاط ، إن شاء الله يكون الشرح واضحكود PHP:double SL=0,TP=0,NewLot=Lot;
if(Multi_Factor>0 && LastProfitH<0) NewLot=LastLot*Multi_Factor;
if(Stoploss>0) SL=Ask-Stoploss*points; else SL=0;
if(Takeprofit>0) TP=Ask+Takeprofit*points; else TP=0;
int ticket=OrderSend(Symbol(),OP_BUY,NewLot,Ask,30,SL,TP,"jmeel",MagicNo,0,clrGreen);
قمت بعمل الإكسيبرت لكنه لا يفتح صفقات فما هو الخطأ[
ATTACH]411347[/ATTACH]