إفتح حسابك مع HFM
إفتح حسابك مع شركة XM  برعاية عرب اف اكس

طلب إكسبيرت يضاعف Lots و TrailingStop الصفقة

أمين المغربي

عضو جديد
المشاركات
8
الإقامة
المغرب
السلام عليكم
أسعد الله أوقاتكم إخوتي بكل خير
لي طلب من الإخوة المبرمجين حول إكسبيرت (أتمنى أن يكون بالإمكان برمجته) راجيا من الله أن تتسع صدورهم لبرمجته
فكما تعلمون على الشمعة اليومية أنها إذا اتخذت اتجاها تبقى فيه على الأقل من 10 نقاط إلى 30 نقطة وأحيانا أكثر ثم يعكس السعر بالأخص في زوج الين دولار

وعلى هذا الأساس أريد إكسبيرت ينشئ صفقتين معلقتين تبعدان عن افتتاح الشمعة بنقطة واحدة وإذا فعلت إحدى الصفقات يطبق الإكسبيرت ما يلي :
يفتح صفقة بلوت 0.01 وتريلينج سطوب 10 نقاط و سطوب لوز 5 نقاط
إذا وصل الربح إلى النقطة 11 يقوم الإكسبيرت بتغيير اللت إلى 0.02 وتريلينج سطوب 20 نقطة
ملاحظة : التغيير يبدأ من النقطة 11
وإذا وصل الربح إلى النقطة 31 يقوم الإكسبيرت بتغيير اللوت إلى 0.03 وتريلينج سطوب 30 نقطة
ملاحظة : التغيير يبدأ من النقطة 31
وفي المرفقات تجدون صورة له ويا ريت يكون بنفس التسميات والترتيب وتجدون الإكسبيرت في المرفقات لإضافة الأكواد البرمجية

_Use_ReverseDeal : دخول صفقة عكسية بنفس الإعدادات في كل مرة يُضرب فيها الستوب لوز
_أي متغير نترك قيمته 0 تلغى وظيفته
_بعد نهاية كل شمعه يغلق الإكسبرت الصفقات ويحذف الأوامر المعلقه
_إضافة إمكانية العمل على بروكر خمس أو أربع أرقام

وفي الأخير أتمنى أن أكون قد وفقت في إيصال الفكرة كما يجب
وآسف جدا إن أثقلت عليكم بكثرة طلباتي مع تمنياتي لكم بتجارة رابحة بإذن الله ... مودتي وتقديري لكم.
 

المرفقات

  • +Amin Karbal.rar
    643 بايت · المشاهدات: 10
  • +Amin Karbal.jpg
    +Amin Karbal.jpg
    163 KB · المشاهدات: 3
تبدو فكرة الاكسبيرت جيدة ياليت احد المبرمجين يستجيب لنجربها
 
لم أفهم ما المطلوب أنت نزلت الإكسبيرت أليس هذا هو المطلوب ؟

شكرا لمرورك أخي Robo_Coder
أنا كتبت أسماء المتغيرات والقيم فقط وأطلب من الإخوة المبرمجين أن يضيفوا الأكواد البرمجية التي ستشغل الإكسبيرت
 
كود:
 //>>---------- Lot Size Doubler ------------>> 
 
   if(orderLots < MaximumLots && AutoLots) {
      orderLots = (AccountBalance() / 1000) / 10.0;
      orderLots=NormalizeDouble(orderLots,LotsDecimals);
   }
   
   if(orderLots >= MaximumLots && AutoLots) {
      orderLots = MaximumLots;
   }
 //<<---------- Lot Size Doubler ------------<<


بالنسبة للمتغير : AutoLots فهو Bool يعطي : True/False
لتفعيل مضاعفة حجم العقد حسب الرصيد Balance أو يمكن جعله حسب الايكوايتي

تقريبا يكون 0.01 لكل 100 دولار اذا فعلت المضاعفة مع تحديد الحد الأقصى للمضاعفة Maximum Lots

كود:
extern bool AutoLots = false;
extern double Lots = 0.1;
extern int LotsDecimals = 2;
extern double MaximumLots = 5;


NormalizeDouble تقوم بجعل اللوت قابل للتداول على المنصة حسب الحجم الأدنى القابل للتنفيذ مثلا : 0.005 تقرب الى 0.01 اذا المنصة تقبل هذه القيمة
و اذا كان أقل عقد يمكن فتحه هو 0.1 ، فالقيمة تحول الى 0.1 مهما كانت نتيجة العملية الحسابية لحساب اللوت حسب الرصيد .
 
عودة
أعلى