السلام عليكم أستاذ
أقوم بعمل إكسبرت لإدارة رأس المال يعتمد في تحديد اللوت على أرباح الصفقة السابقة ( سميت متغير كعداد للصفقات الرابحة - والصفقة الخاسرة تنقص قيمة هذا العداد 1 ) ظهرت عندي الحالات التالية
الحالة الأولى قيمة العداد = 0 (لا يوجد فيها مشكلة عندي في الكود )
الحالة الثانية قيمة العداد أكبر من الصفر والصفقة المغلقة الأخيرة رابحة ( أيضا لا يوجد مشكلة عندي في الكود )
الحالة الثالثة قيمة العداد أكبر من الصفر والصفقة الأخيرة المغلقة خاسرة (هنا المشكلة المطلوب معالجتها ) وهي إنقاص قيمة العداد 1 حتى نصل للصفر أو لصفقة مغلقة رابحة مثلا :
العداد كان برقم 3 .... آخر صفقة مغلقة كانت خاسرة : يصبح
العداد يصبح 2 .... في حال كانت الصفقة السابقة رابحة يعيد قيمة الربح .... في حال كانت خاسرة يكمل
العداد يصبح 1 ...في حال كانت الصفقة السابقة رابحة يعيد قيمة الربح .... في حال كانت خاسرة يكمل
العداد يصبح 0 ..... يأخذ اللوت الذي تشمله الحالة 1
[QUOTE=kira-h;924880]وعليكم السلام
لم افهم الشرح تماما لكن ارفق الكود للمراجعة[/QUOTE
تحياتي أستاذ الكود كما كتبته سينفذ الخطوات التالية :
1- تقسيم رأس المال إلى 60 قسم ووضع عداد للصفقات يبدأ من الصفر كالتالي :
2-
أصبح رأس المال مقسم ل 60 جزء قيمة كل جزء هي (بفرض رأس المال 1000$ ستكون قيمة الجزء الواحد 16$)
3- عند بداية عمل الإكسبرت تكون قيمة العداد step هي صفر
4- في أول صفقة تكون قيمة اللوت هي قيمة الجزء الواحد مقسومة على عدد نقاط الستوب - وبعد كود فتح الصفقة نزيد العداد 1
5- المشكلة في الصفقات التالية لأن قيمة اللوت تحدد من ربح آخر صفقة مقسومة على نقاط الستوب - عملت الدالة التالية لتحديد حجم اللوت وفيها الحالات التالية :
الأولى : step يساوي الصفر ( يكون اللوت قيمة الجزء على نقط الستوب )
الثانية step لا يساوي الصفر و آخر صفقة مغلقة رابحة ( يكون اللوت هو ربح آخر صفقة مقسوم على نقط الستوب )
الثالثة step لا يساوي الصفر و آخر صفقة مغلقة كانت خاسرة (هنا المشكلة ) يجب أن ينفذ الإكسبرت مايلي :
أولا - إنقاص step واحد
ثانيا : فحص ال step إن أصبح صفر تكون قيمة اللوت : جزء رأس المال مقسوم على نقط الستوب مثل الحالة الأولى
ثالثا : إن كان ال step لم يصبح صفر ... ينظر للصفقة المغلقة الثانية إن كانت رابحة : يكون اللوت هو قيمة ربح الصفقة على نقاط الستوب - إن كانت خاسرة يعيد وينقص ال step ويفحص ربح الصفقة السابقة .... حتى يصل لصفقة رابحة أو يصل ال step للصفر (الكود الذي كتبته كالتالي :
تحياتي استاذ .......نفس المشكلة وهي احتمال وجود صفقتين خاسرتين متتاليتين أو أكثر .......فكرت بحل آخر
ممكن المساعدة بالكود الذي يعطي ربح آخر صفقة مغلقة رابحة ؟
الكود السابق بناء على طلبك الأخير الذي لا يوضح كل الاحتمالات! ولم افهم المغزى من الكود
الكود مرة اخرى كالتالي بناء على الشرح خطوة خطوة وأراه غير منطقي :
كود ربح آخر صفقة مغلقة كالتالي :
التعديل الأخير تم بواسطة kira-h ; 23-02-2021 الساعة 09:21 PM
العلامات المرجعية