النتائج 1 إلى 5 من 5
الموضوع: من يساعدني في هذا الأمر من فضلكم
- 14-12-2019, 03:50 PM #1
من يساعدني في هذا الأمر من فضلكم
السلام عليكم ورحمة الله وبركاته
من فضلكم إخواني
كي تكون الصورة واضحة،
أنا أعمل على برمجة إكسبرت يعمتمد على مؤشر خارجي، وكل شيء تمام، أريد فقط معالجة نقطة ضعف واحدة وهي كالتالي:
الإكسبرت يعمل صفقة واحدة بيع عندما يعطيه المؤشر أن الترند صاعد، ويغلقها عندما تضرب التريلينغ ستوب ويفتح صفقة أخرى في نفس الإتجاه إذا كانت إشارة المؤشر لا تزال كما هي، أما إن أعطى المؤشر إشارة عكسية يعني بيع، فإن الإكسبرت يغلق الصفقة السابقة والتي هي شراء، ثم يفتح صفقة بيع تبعا للمؤشر وهكذا.
لكن نقطة ضعفه هو عندما تتأخر إشارة المؤشر فإن الصفقة تبقى عاكسة إلى أن تأتي الإشارة العكسية للمؤشر ثم يغلقها على خسارة، (وهذا لا يقع كثيرا). مما يؤثر على أداء الإكسبيرت.
بعد دراسة طيلة للشارت والحركات السعرية، تبين لي أن الحل هو أن أعطي للإكسبرت أمر أن يفتح صفقة معاكسة (هيدج) واحدة عندا تعكس الصفقة ب 30 نقطة وعندما تصل إشارة المؤشر المتأخرة تغلق الصفقتان معا وبعدها تسير الأمور بشكل عادي إلى أن تحصل الحالة مرةأخرى فتعالج بنفس الطريقة، وبهذا أكون قد خففت من تأثير الصفقة الخاسرة وحصرتها في 30 نقطة، مع العلم أن خسارة 30 نقطة في هذة الحالات القليلة لن تؤثر على أداء المؤشر.
لم أعرف كيف أدخل الأمر التالي للإكسبرت:
(عندما تكون الصفقة المفتوحة عكسة ب 30 نقطة، افتح صفقة معاكسة بنفس اللوت، وأغلق الصفقتين معا عند إشارة المؤشر، ثم العودة إلى الحالة العادية)
من فضلكم أرجو المساعدة
الكود المرفق يحمل الجزء الذي حاولت فيه حل المشكلةكود://----------------------- STOP AND REVERSE if(StopAndReverse && subTotalTrade()==1) { if((LastTrade=="BUY" && SellCondition) || (LastTrade=="SELL" && BuyCondition)) { subCloseOrder(); } if(Type==OP_BUY && MarketInfo(==-30) /// hna kayna l3iba { ticket = subOpenOrder(OP_SELL); } if(Type==OP_SELL && MarketInfo()==-30) /// { ticket = subOpenOrder(OP_BUY); } }
- 15-12-2019, 10:50 AM #2
يلزمك التالي : 1- دالة تعيد سعر فتح آخر صفقة بدلالة نوعها 2- تقارن بين السعر الحالي وسعر آخر صفقة 3- تضع الأمر المناسب ............وعند ظهور إشارة المؤشر العكسية يلزمك دالة تعيد عدد الصفقات المفتوحة (إن كان عدد الصفقات المفتوحة = 2 : أغلق الصفقات المفتوحة )
- 16-12-2019, 12:13 PM #3
هل يمكن أن تكتب لي الكود أخي وضاح من فضلك
لم أعرف كيفية كتابة كود في هذا الجزء بالضبط،
if(Type==OP_BUY && MarketInfo(==-30) ///
{
ticket = subOpenOrder(OP_SELL);
}
if(Type==OP_SELL && MarketInfo()==-30) ///
{
ticket = subOpenOrder(OP_BUY);
}
- 23-12-2019, 12:30 AM #4
تفضل
آخر تعديل بواسطة elassari ، 23-12-2019 الساعة 12:34 AM
- 23-12-2019, 11:51 AM #5