النتائج 76 إلى 90 من 154
الموضوع: في كود اغلاق الصفقات
- 16-01-2016, 04:01 PM #76
- 16-01-2016, 04:06 PM #77
أهمية السكريبت أبعد من ذلك وأقوى ...
فمثلا لو استخدمنا تقنية التايمر فسندخل في مشاكل كثيرة ... لأن التايمر سينفذ الوظيفة كل وقت محدد ... الآن ماذا لو لم تنتهي بعد الوظيفة السابقة من التنفيذ ... ودخل في تنفيذ الوظيفة مرة أخرى ... سيحدث تداخل ومشاكل نحن في غنى عنها ...
بينما في السكريبت لن يحدث مثل هذا التداخل والتشابك في التنفيذ .
- 16-01-2016, 04:10 PM #78
- 16-01-2016, 04:16 PM #79
وعليكم السلام ورحمة الله وبركاته
أهلا بك أخي ...
السكريبت لا يشترط حدوث تكة سعرية للتنفيذ ..
السكريبت يمكن تشغيله دائما بشكل مستمر مثل أي برنامج وأفضل من الاكسبيرت ... وخصوصا إذا كنت تتعامل مع عدة أزواج كحالتنا الآن .
إغلاق الصفقات بهيدج ثم إغلاق الجميع بكلوز باي لن يكلفك سبريد إضافي أبدا .
قيمة السليبيج مؤثرة فقط على بروكرات ذات نوع التنفيذ Instant Execution ... وليس لها أي تأثير على النوع Market Execution .
شكرا لك
- 16-01-2016, 04:20 PM #80
بالفعل أستاذ وضاح كلامك صحيح
فلقد اختبرت الامر كلوز باي ووجدت انه يقوم بإرجاع الإسبريد الإضافي بعد غلق الصفقات
المشكلة التي يمكن ان تواجهنا انه عند فتح 100 صفقة بيع بلوت 1
فلن نتمكن من فتح صفقة شراء بلوت 100 لانه أحيانا يكون اكبر لوت هو 50 مثلا فيجب جعل الاسكربت يختبر هذا قبل ان يحاول فتح الصفقة ويقسمها لعدد صفقات اصغر لتفادي الخطا في امر فتح الصفقة
وأيضا يجب عمل حساب اكبر عدد للصفقات
فلو كان اكبر عدد هو 100 صفقة فيجب اغلاق واحدة على الأقل قبل فتح صفقة الهيدج الكبيرة
- 16-01-2016, 04:21 PM #81
بالعكس أخي ... أنا أسعد كثيرا عندما يكون النقاش برمجيا ...
والكود المتاح الآن هو للجميع وبدون حقوق تعديل أو نسخ ...
وأعتقد أن تعديلاتك هي تنفيذ نفس الفكرة بطريقة مختلفة مع بعض الزيادات الخاصة بك .
أهم كودين هما إغلاق الكل وتهديج الكل وهما أساس العمل ..
باقي الشروط يمكن التحكم بهما كما تشاء .
- 16-01-2016, 04:30 PM #82
نعم وتظهر صفقة الإغلاق By في الهيستوري بصفر لوت وصفر عمولة وصفر ربح ..
ملاحظتك الأخرى رائعة ... ويمكن تعديل السكريبت ليختبر القيمة الأكبر للوت المتاح لكل زوج .. فإذا كانت أقل ينفذ وإذا كانت أكبر يقسمها لصفقتين أو أكثر . مع مراعاة العدد الأكبر للصفقات .
هناك أمور أخرى كثيرة يجب على السكريبت فحصها ... مثل قيمة التجميد للصفقة ... التي يستخدمها بعض البروكرات في منع إغلاق أو تعديل الصفقة عندما تكون قريبة من السعر الحالي .
وأيضا هل المتاجرة الآلية مسموحة أم لا ...
لكن أنا جعلت السكريبت بسيط حاليا ويفترض أن من يشغله خبير بمثل هذه الأمور .
- 16-01-2016, 04:34 PM #83
أيضا يجب فحص المارجن المتاح عند عملية الهيدج ... لأن بعض البروكرات تحجز مارجن إضافي عند الهيدج ... وبعضها لا يفعل .
- 16-01-2016, 04:39 PM #84
هناك نقطة هامة
عندما يكون الإسبريد متغير
وفتحنا الصفقة الأولى على اسبريد قليل
ولكن حدثت حركة سريعة وفتحنا صفقة الهيدج على اسبريد كبير جدا
فعند قفل الصفقات
ما هو الإسبريد الذي سيعود
هل الإسبريد الكبير ام الإسبريد الصغير ام متوسط الإسبريد الكبير والصغير لحظة فتح الهيدج ام الإسبريد الكبير لحظة الاغلاق !!
- 16-01-2016, 04:39 PM #85
وللمعلومية فإن المنصات الاحترافية للعمل بالفوركس أو الفيوتشر ومن ضمنها الميتاتريدر 5 ... لا يوجد شيء اسمه إغلاق الصفقة بالمعنى المتعارف عليه لدى مستخدمي الميتاتريدر 4 مثلا .
بل هي مجرد شراء وبيع ..
اشتريت 1 لوت على سعر كذا ثم اشتريت لوت آخر بسعر آخر ... يصبح لديك صفقة واحدة ب 2 لوت على سعر وسطي جديد .
أردت إغلاق الصفقة تبيع 2 لوت .
أمر OrderClose البرمجي غير موجود أبدا في لغة MQL5
- 16-01-2016, 04:45 PM #86
- 16-01-2016, 05:06 PM #87
- 16-01-2016, 05:17 PM #88
هذا الامر يجعلني اتردد في استخدام هذه الخاصية في الاغلاق لانها يمكن ان تكون مصدر تلاعب من البروكر
فمثلا فتحت صفقة بيع على اسبريد 2
ثم حدث خبر وتحرك السعر وحقق مكسب وصدر امر اغلاق الصفقات
وكان الإسبريد وقتها ارتفع واصبح 6 عند لحظة فتح الهيدج
وفتحنا الصفقة الهيدج على اسبريد 6
فعند قفل الصفقات بعدها بفترة كان وقتها الإسبريد رجع الى 3 بدلا من 6
ثم استرجعنا الإسبريد 3 بأمر كلوز باي بدلا من ارجاع اسبريد 6 الذي دفعناه عند فتح الهيدج
اعتقد هذا قد لا يكون امنا مثل الاغلاق المباشر مع تأخير في الوقت
استخدم طريقة في الاغلاق وهي اغلاق الصفقات التي لها لوت اكبر أولا لاضمن اغلاق 50% من الصفقات عند اغلاق اقل عدد منها وخصوصا لو ان الصفقات مضاعفات ومتدرجة في اللوت.
- 16-01-2016, 05:30 PM #89
هذا الكود استخدمة لاغلاق الصفقات التي لها اكبر لوت أولا
كود PHP://*******************************************************************************************
bool OrderSelectBigFirst(){
int i,ticket=0;
double max=0;
RefreshRates();
for(i=0;i<OrdersTotal();i++){
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){RefreshRates();return false;}
if(OrderLots()>max){max=OrderLots();ticket=OrderTicket();}
}
return OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
}
//*******************************************************************************************
//*******************************************************************************************
bool CloseAllDealsBigFirst(){
while(OrdersTotal()>0){
if(OrderSelectBigFirst()){
if(IsStopped()){return false;}
if(IsExpertEnabled()==false || IsTradeAllowed()==false){Comment("Canot Close,Please Allow Auto");Print("Canot Close,Please Allow Auto!!");Sleep(1000);Sleep(1000);Sleep(1000);}
if(SymbolInfoDouble(OrderSymbol(), SYMBOL_BID)==0 || SymbolInfoDouble(OrderSymbol(), SYMBOL_ASK)==0){Print("Deal #"+IntegerToString(OrderTicket())+" canot be closed due no prices for "+OrderSymbol());}
//---------------------------------------------------
if(OrderType()==OP_BUY ){if(!OrderClose(OrderTicket(),OrderLots(),SymbolInfoDouble(OrderSymbol(), SYMBOL_BID),3000,clrLightGreen)){Print("Canot Close "+OrderSymbol());RefreshRates();}else{Print("Close Done: "+OrderSymbol());}}
if(OrderType()==OP_SELL){if(!OrderClose(OrderTicket(),OrderLots(),SymbolInfoDouble(OrderSymbol(), SYMBOL_ASK),3000,clrLightPink )){Print("Canot Close "+OrderSymbol());RefreshRates();}else{Print("Close Done: "+OrderSymbol());}}
//---------------------------------------------------
}else{RefreshRates();}
}
return(true);
}
//*******************************************************************************************
- 16-01-2016, 05:51 PM #90
التلاعب أو تغير السعر أو الإنزلاقات السعرية إذا حدثت فستحدث عند فتح صفقة هيدج بتوسيع السبريد عليك مثلا ... أو أيضا عند الإغلاق مباشرة ...
الإغلاق أيضا تحدث فيه كل مشاكل الفتح ولذلك لن تستطيع حل هذه المشاكل باختيار الإغلاق بدل الفتح .
أيضا تفترض أنك ستغلق الصفقات الأكبر أولا ...
ماذا لو كانت صفقاتك كلها من نفس الحجم ...
صدقني لا توجد طريقة لتثبيت الربح أسرع مما هو موجود في هذا السكريبت .... وعلى تحدي برمجي بيني وبينك ...
وصدقا أيضا أتمنى أن تجد طريقة أسرع وتشاركنا بها .