الاكسيبرت التالى لايفتح المضاعفات بشكل صحيح , ولاتوجد أخطـاء بعد الكومبايل !!
ما الخطـأ فـ الاكسيبرت .
Printable View
الاكسيبرت التالى لايفتح المضاعفات بشكل صحيح , ولاتوجد أخطـاء بعد الكومبايل !!
ما الخطـأ فـ الاكسيبرت .
راجعت الكود لا أرى أي جزء ناقص
حتى تعلم سبب الخطأ أو ما تبحث عنه هو حدوث خطأ أثناء فتح الصفقة فراجع خانة الجورنال إذا ظهر أي رقم للخطأ
تأكد أن المؤشر إشاراته ثابته
ثم إبحث عن شروط فتح الصفقه نفسه ضع المؤشرات على الشارت ولاحظ مناطق الدخول التي لم يدخل فيها وراجع الشروط لها مره أخرى
الخطأ لديك في دالة البحث عن حجم لوت الصفقات المغلقه
أنت إستخدمت الحلقه لكن لم لاحظ في الداله OrderSelect جعلت إختيار الأمر 0 وليس i حتى تمر على جميع الصفقاتكود PHP:double lastlot(){
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
التصحيح
كود PHP:double lastlot(){
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
الله يكرمك
والله الواحد مش عارف كان هيعمل إية من غيرك
:eh_s(7):
الحمد لله دلوقتي أنا مستواي أحسن بكتير في المؤشرات
وعملت مؤشر بيظهر كل قيم الأر أس أي ( لجميع الأزواج على نفس الشارت )
وبيعطي تنبيه بالبيع والشراء من مستويات معينة وبيكتب أسعار الدخول سواء من ask أو من bid
من الاخر عملت مؤشر عامل نفسه إكسبيرت
:0023:
عرف point وإستخدمها في الأستوب والتيك بروفت
لإنك مستخدم Point وإنت طبعا شغال على منصة 5 أرقام
بدليل إنك عامل slippage =30
إنت كاتب تيك بروفت 15
على منصة 5 أرقام 15 = 1.5 نقطة
وأستوب 30 = 3 نقطة
---------------
يعني أكيد في الجورنال هتلاقي أخطاء 130 و 138
الحمد لله تم ايجاد سبب المشكلة , والسبب كان فـ شروط مؤشر الفلتر التاليه
الشرط السابق يعتمد اشارة المؤشر فـ حالة الشراء اذا كان عند الشمعة قبل السابقة أحمر وعند السابقة أزرق وذلك كان يتعارض مع شرط مؤشر البرابولك سار .كود PHP:if(up1>0 && down2>0)
وعند حذف تأكيد الشمعة قبل السابقة بالشكل التالى ..
اصبح يعمل بلا مشاكل ويعتمد كل اشارات مؤشر البرابولك سار .كود PHP:if(up1>0 )
شكرا جزيلا وجزاك الله خيرا .
شكرا لك استاذ يوسف على الرد , لكن انا استخدم منصة 4 ارقام وموضوع الـ slippage =30
ليس له علاقة بالتارجت او الاستوب ولم تظهر أخطاء الحمد لله بعد اخر تعديل كما تفضلت وذكرت لشروط
التارجت والاستوب فـ مشاركة سابقه .
وأرجو ان تتطلع على المشاركة التاليه وتخبرنى ما الخطـأ او الكود الناقص ولاتظهر أخطاء فـ الجورنال او بعد الكومبايل .
https://forum.arabictrader.com/t3761...ml#post2403318
ستقوم أولاً بتعريف حالة الموفينج أفريج
وسيكون شرط الشراء بالشكل دهكود PHP:bool CrossUp,CrossDown;
if(MA_fast1>MA_slow2 && MA_fast11<MA_slow22){CrossUp=true; CrossDown=false;}
if(MA_fast1<MA_slow2 && MA_fast11>MA_slow22){CrossDown=true; CrossUp=false;}
وسيكون شرط البيع بالشكل دهكود PHP:if(up1>0 && CrossUp==true && orderstotal()<MaxTrades){
------------------------------------------كود PHP:if(down1>0 && CrossDown==true && orderstotal()<MaxTrades){
بس بالطريقة دي بعد تحقيق الهدف أو ضرب الأستوب سيفتح عملية أخرى في نفس الإتجاه
يعني لو مثلا الشراء حقق الهدف ( سيظل شرط CrossUp=true ولو كان الؤشر أزرق ) سيشتري مرة أخرى
فإنت ممكن تستخدم حاجة من إتنين
تعرف lastorder وستجد هذه الطريقة مشروحة في الموضوع المخصص للنقاش للدورة البرمجية
او
مثلا في حالة الشراء ستضع أمر بعد أوردر سيند CrossUp=false; بحيث يغلق شرط الشراء بعد فتح أول شراء
وبعد البيع CrossDown=false; بحيث يغلق شرط البيع بعد فتح أول بيع
السلام عليكم اخي سامة ... واسف على الازعاج
لقد قمنا انا والاخوة الاعضاء بمراسلتك منذ اكثر من 10 ايام ونداءات عن طريق الموضوع ... https://forum.arabictrader.com/t141767-6.html
كما ترى من الباك تيست والاعدادات بأن الاكسبيرت الذي قمت ببرمجته تحت عنوان https://forum.arabictrader.com/t141767-6.html قام بعمل طيب جدا ونتائجه ممتازة
لقد جربته انا والاخوة الكرام على الحسابات الحقيقية والتجريبية ولم يعمل ولكن عند الباك تيست يعمل ويعطي نتائج رهيبة ... هل هناك خطأ برمجي في الاكسبيرت
اخر نسخة من الاكسبيرت التي برمجتها ... نرجو منك ان ترى ما الخطأ وان شاء الله يكون في ميزان حسناتك