النتائج 61 إلى 75 من 154
الموضوع: في كود اغلاق الصفقات
- 14-01-2016, 08:42 PM #61
قبل أن أناقش الأفكار الأخرى ...
هذه النسخة فيها معالجة لحجم اللوت هل هو من فئة 0.01 أو من فئة 0.1 .. عندما يقوم بعملية التهديج ... وذلك لكل عملة منفصلة .
فقد تكون هذه أحد أسباب المشكلة التي تحصل معك .
جربها الآن وأعطني رأيك .
- 14-01-2016, 09:01 PM #62
شاكرا جهودك
سأجربها باذن الله
---
لم افترض اني سأغلق الجهاز
لكن مقصدي في الحالات الطارئة فقط
ربما يمكن له ان يسجل القيمة (كتست على الشارت ) ثم يستدعيها متى ما احتاج
-------
كنت اتمنى ان يشارك بعض الاخوة في التجارب معنا
فالسكربت مفيد جدا جدا للجميع
يمس حاجة الكثيرين
---------
لازال في الجعبة بعض الافكار
انتظر نقاشك لها
أكرر شكري لوقتك وجهدك الثمينين
- 15-01-2016, 07:49 AM #63
- 15-01-2016, 10:18 AM #64
استاذي الفاضل
اعلم ان المبرج لا يعجبه ان يتدخل احد في اكواده اثناء العمل
فسامحني
عدلت في الكود كما في المرفق
وجربت عدة تجارب (اكثر من 10 ) بلا اي مشاكل في اغلاق الصفقات حتى الآن
ارجوا الاطلاع وابداء رايكآخر تعديل بواسطة أبو نـاصر ، 15-01-2016 الساعة 10:26 AM
- 15-01-2016, 11:14 AM #65
- 15-01-2016, 05:09 PM #66
كل النسخ اشتغلت اليوم بدون اي مشاكل
وحتى مع ال Slippage
لا يوجد اي مشاكل
لم اجد اي تفسير منطقي
- 15-01-2016, 11:51 PM #67
اشكرك استاذي الكريم
النسخة الأخيرة التي رفعتها لي
ابدعت اليوم
بدون اي اخطاء
ارجوا ان تستمر هكذا
هل نكمل نقاش الهيدج
وضعت كود يهدج بعد 300
ثم يهدج بعد 400 اي 100 زيادة وهكذا
سأجربه الاسبوع القادم على الديمو
جزاك الله خيرا على جهودك واعتذر عن الازعاجات
- 16-01-2016, 01:37 AM #68
استخدم إكسبيرت واستخدم خاصية اون تايمر لحل تلك المشكلة
حيث ان التايمر يعمل وتستدعى الدالة كل فترة محددة سواء تغير السعر او ظل كما هو
كود PHP:
int OnInit(){
EventSetMillisecondTimer(20);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason){
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer(){
}
- 16-01-2016, 01:45 AM #69
أستاذ وضاح ، انا اهتم بكود اغلاق الصفقات السريع هذا لاني احتاجه وابحث عنه من فترة
وجربت الاسكربت الذي ارفقته
ووجدت انه اذا كان لدي 10 صفقات شراء مفتوحة بلوت 1 لكل احدة
فإن الاسكربت يفتح صفقة جديدة أخرى بيع بلوت 10
ثم يبدأ في اغلاق صفقات الشراء واحدة واحدة مع اغلاق جزئي لصفقة البيع التي فتحها
وبهذا يكون الاغلاق كما هو صفقة صفقة بل وتحملنا اسبريد فتح صفقة أخرى بيع بلوت كبير
فهل يعمل الاسكربت هكذا ام انه يعمل بطريقة خاطئة عندى.
- 16-01-2016, 01:55 AM #70
وجدت امر يمكنه فتح عدة صفقات معا
واغلاق عدة صفقات معا
فهل يمكن الاستفادة منه بطريقة معينة لاغلاق جميع الصفقات معا بأمر واحد
لفتح عدة صفقات معا
كود PHP:int ticket=OrderSend("EURUSD",OP_SELL,0.01,MarketInfo("EURUSD",MODE_BID),3,0,0,"My EA",12345,0,Red)
& OrderSend("GBPUSD",OP_SELL,0.01,MarketInfo("GBPUSD",MODE_BID),3,0,0,"My EA",12345,0,Red)
& OrderSend("GBPJPY",OP_SELL,0.01,MarketInfo("EGBPUSD,MODE_BID),3,0,0,"My EA",12345,0,Red);
ولاغلاق عدة صفقات معا
كود PHP:int ticket1=OrderSend("EURUSD",OP_SELL,0.01,MarketInfo("EURUSD",MODE_BID),3,0,0,"My EA",12345,0,Red) ;
int ticket2=OrderSend("GBPUSD",OP_SELL,0.01,MarketInfo("GBPUSD",MODE_BID),3,0,0,"My EA",12345,0,Red);
int ticket3=OrderSend("GBPJPY",OP_SELL,0.01,MarketInfo("GBPJPY",MODE_BID),3,0,0,"My EA",12345,0,Red);
bool b=OrderClose(ticket1,0.01,MarketInfo("EURUSD",MODE_ASK),3000)
& OrderClose(ticket2,0.01,MarketInfo("GBPUSD",MODE_ASK),3000)
& OrderClose(ticket3,0.01,MarketInfo("GBPJPY",MODE_ASK),3000);
- 16-01-2016, 03:05 AM #71
أهلا بك عزيزي
يبدو لي ان اهمية السكربت تكمن بالتعامل المباشر مع AccountProfit()
بعيدا عن المؤشرات والضغط على الشارت
نعم هو يهدج أولا (جميع الصفقات الرابحة والخاسرة )
ثم يغلق
خاصية كلوز باي لا تحسب سبريد اضافي
قد تكون هنالك فوارق بسيطة وصلت الى -50$ كأقصى ما رأيت (لوتات كبيرة)
بين الربح مع بدء عملية الاغلاق وبين المحصلة النهائية
ايضا الصفقات الخاسرة رأيت زيادة الى 10$ بدل 200 $ اصبحت 210 تقريبا
--
لكن السكربت يعتبر كنز مهم لكل سكالبر بلوتات جيدة
---
سعيد أن وجدت مهتم بموضوع الاغلاق ليساعدني في التجارب
- 16-01-2016, 03:59 AM #72
السلام عليكم
ما اعلمه أن عملية فتح أو اغلاق الصفقة لن تتم إلا بعد تحرك السعر على الاقل تكة واحدة،،،
وبالتالي لن يتم تنفيذ الأمر على مختلف الأزواج دفعة واحدة، لأن هناك أزواج لم تتحرك في نفس حركة زوج الشارت المستخدم،،،
إذا كان البروكر يتوفر على خاصية الإغلاق "بواسطة" فالافضل أن يتم المرور بدالة "الكلوزباي" أولا ثم يليه الاغلاق العادي سيكون التنفيذ أسرع وأقل تكلفة من ناحية السبريد،،،
مع مراعاة إعادة التسعير فإذا جعلتها 0 قد لا يتم إغلاق العديد من الصفقات في حال حدوث حركة سريعة السعر،،،
السكريب أسرع من الاكسبيرت في معالجة الشروط والتنفيذ ولكن يعيبه الاستخدام لمرة واحدة،،،
- 16-01-2016, 03:42 PM #73
- 16-01-2016, 03:46 PM #74
- 16-01-2016, 03:56 PM #75
هذه الطريقة في الإغلاق أسرع طريقة ممكنة على الميتاتريدر لإغلاق أي عدد من الصفقات عند ربح معين ...
ولكنها مشروطة بوجود ميزة كلوز باي في السيرفر .. وإلا فإنها ستصبح مثل أي طريقة إغلاق أخرى صفقة بصفقة ... دون الحفاظ على قيمة الربح المحصل . (إلا إذا أردت دفع سبريد إضافي مقابل عملية تثبيت الربح )
الآن لنفترض أن السيرفر فيه ميزة الكلوز باي ... ولدينا 100 صفقة على خمسة أزواج مثلا .
ووصل الربح إلى 1000 وأردنا إغلاق جميع الصفقات .
ببساطة شديدة فإن السكريبت يقوم بفتح خمسة صفقات أول شيء لتثبيت الربح بواسطة الهيدج .
فعليا هذا الأمر يعتبر إغلاق ... لأنه الآن مهما تحرك السعر فأنت ربحك لن يتغير ...
بعد ذلك يقوم السكريبت بإغلاق الصفقات فعليا بتقنية الكلوز باي والتي لن تكلفك أي سبريد إضافي أبدا .
أما إذا أردت إغلاق الصفقات صفقة صفقة لمائة صفقة فتخيل الزمن المستغرق في ذلك مقارنة بفتح خمس صفقات فقط .
طبعا الزمن النهائي لإغلاق الصفقات هو واحد دائما ...
ولكن مع فرق أننا ثبتنا الربح مع هذا السكريبت ... بدل تركه عائما ... حتى انتهائنا من إغلاق الكل .آخر تعديل بواسطة وضاح عطار ، 16-01-2016 الساعة 03:59 PM