النتائج 1 إلى 8 من 8
الموضوع: محتاج تصحيح لهدا الكود
- 27-07-2008, 06:38 PM #1
محتاج تصحيح لهدا الكود
السلام عليكم ورحمة الله تعالى وبركاته
المهم انا قمت ببرمجة اكسبريت عن طريق احد المواقع لاني مبتدأ ولاكن اردت اناعدل عليه يدويا
ولاكن المشكلة انه عندم تتحقق الشروط الاكسبريت يدخل الى الصفقة هدا لمر جيد الان عندما يضرب الهدف يعيد الدخول الى الصفقة اعرف ان الامر ليس واضحا متلا
دخل الى صفقة شراء عند تحقق الشروط بعد دالك تحقق الهدف ولاكن الشروط ما زالت محققة يعيد الدخول الى الهدف انا اريد كود يدخل الى الصفقة مرة واحدة
هداهو الكود
كود PHP:if (Buy1_1 > Buy1_2 && Buy2_1 > Buy2_2 ) Order = SIGNAL_BUY;
و Buy2_1 عبارة عن rsi
Buy2_2 عبارة عن متغير
الان للنضر في الصورة في المرفقات ستشرح لنا كل شيئ
لو نضرنا في الرقم 1 سنجد هناك ان الشروط قد تحققت نعم تم الدخول الى الصفقة وهي في المربع الابيض
ولو نضرنا الى المربع الازرق سنرى انه دخل لصفقتين اخرتين وهدان الصفقتان هما المشكل
انا اريده ان يدخل الى صفقة واحدة فقط فور تحقق الشرط يعني كل مرة يتحقق الشرط يدخل للصفقة
الى ان يتحقق الشرط مرة اخرى
جربت هداالكود
كود PHP:if (Buy1_1 == Buy1_2 && Buy2_1 > Buy2_2)rst=0;
if (Buy1_1 > Buy1_2 && Buy2_1 > Buy2_2 && rst==0 ) {
Order = SIGNAL_BUY;
rst=1;
}
ولاكن الامر لا ينجح
ماهو الحل برايكمآخر تعديل بواسطة atalj ، 27-07-2008 الساعة 06:45 PM
- 27-07-2008, 09:02 PM #2
رد: محتاج تصحيح لهدا الكود
أخي atalj
لكي تمنع الإكسبرت من الدخول في كل مرة (في كل تك) يتحقق فيها شرط الدخول عليك أن تضع الكود في Loop يحتوي على كل الكود ووظيفته أن يقوم بالتأكد من وجود صفقات مفتوحة على هذا الزوج أم لا !
تابع الكود التالي وغير فيه حسب شروط الدخول لديك مع الإحتفاظ بالباقي وإن شاء الله سيعمل معاك تمام
كود PHP:
int prevCountBars;
int start(){
....
....
....
if ((prevCountBars != Bars && prevCountBars !=0 && !ExistPositions())) {
// ضع هنا الشرط وكذلك الدخول في صفقة في حالة تحقق الشرط
if (opn<EMA && cls>EMA && RSI>50){
OpenBuy();
}
if (opn>EMA && cls<EMA && RSI<50){
OpenSell();
}
}
prevCountBars = Bars;
return (0);
}//Start()
bool ExistPositions() {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
return(True);
}
}
}
return(false);
}
- 27-07-2008, 09:16 PM #3
رد: محتاج تصحيح لهدا الكود
ملاحظة ...
وظيفة الكود الذي أرفقته في المشاركة السابقة هي:
- التأكد من وجود أو عدم وجود صفقة مفتوحة على الزوج الذي تحت المتابعة.
- في حالة وجود صفقة مفتوحة ... لايقوم بفتح جديدة.
- في حالة عدم وجود صفقة مفتوحة ... ينتظر تحقق الشرط ويدخل فور تحققه.
- لايكرر الدخول على نفس البار ويمكن تكرار الدخول على نفس البار بإلغاء ...
كود PHP:prevCountBars != Bars && prevCountBars !=0
من الكود.
على فكرة أنا أستخدم هذا الكود في كل إكسبرتاتي مع تغييرات بسيطة حسب متطلبات البرنامج لأنه يعتبر العمود الأساسي الذي يرتكز عليه البرنامج.
جرب وأخبرني وأنا تحت أمرك ياأخي.آخر تعديل بواسطة أسامة ، 27-07-2008 الساعة 09:20 PM
- 27-07-2008, 11:10 PM #4
رد: محتاج تصحيح لهدا الكود
اخي اسامة
اعتقد انه لا يقصد ان الاكسبيرت ينفذ اكثر من صفقة عند تحقق الشرط
بل يقصد انه ينفذ صفقة واحدة فقط عند تحقق الشرط ، ولكن عندما يتحقق الهدف او الوقف فإنه يفتح صفقة جديدة اذا كان شرط الدخول ما زال محققاً
لذلك ينبغي عليه ان يضع شرطاً للدخول وهو :
اذا كان الشرط تحقق عند انتهاء الشمعة الاخيرة ، وما قبل الشمعة الاخيرة لا تنطبق عليه الشروط
راجع هذا الكود أخي atalj واستفيد منه
كود PHP:
if (iClose(Symbol(),NULL,1)>iOpen(Symbol(),NULL,1)&&iClose(Symbol(),NULL,2)<iOpen(Symbol(),NULL,2))
بالتوفيق
- 28-07-2008, 01:00 AM #5
رد: محتاج تصحيح لهدا الكود
بارك الله فيك ياأخي wajdyss على الملاحظة.
صدقت ... وقد فهمت من كلام الأخ atalj بأنه يريد الدخول فقط مرة واحدة في كل شمعة حتى لو تم تحقق الهدف على نفس الشمعة.
الكود الذي أرفقته أيضا يحل المشكلة بإذن الله وفي الحقيقة أستعمله كثيرا كقالب جاهز لأنه يريحني كثيرا في كتابه أي إكسبرت.
أسعدني تعليقك ورأيك.
- 28-07-2008, 03:36 AM #6
رد: محتاج تصحيح لهدا الكود
والله لا اعرف كيف اشكركم اخي اسامة شكرا لك على ردك ومحاولاتك للمساعدة دائما انت اول الاشخاص الدين يساعدون عند طلب العون
اخي wajdyss شكرا لك على المساعدة بالضبط هدا ما اريده شكرا لك
وشكرا لك الاسامة على المساعدة
انا ساحاول ان ادمجهم مع العلم اني لا استطيع ياريت تساعدني اكتر
هده هي شروط فتح صفقة دخول شراء
كود PHP:if (Buy1_1 > Buy1_2 && Buy2_1 > Buy2_2 ) Order = SIGNAL_BUY;
كود PHP:if (Sell1_1 < Sell1_2 && Sell2_1 < Sell2_2 ) Order = SIGNAL_SELL;
آخر تعديل بواسطة atalj ، 28-07-2008 الساعة 03:56 AM
- 28-07-2008, 10:41 AM #7
رد: محتاج تصحيح لهدا الكود
أخي atalj
السلام عليكم
لاشكر على واجب ولاداعي لذكر ذلك.
بالنسبة لي - للأسف - لايمكنني أن أساعد إلا في حالة أن أعرف شروط الدخول والخروج بكل تفاصيلها الدقيقة (الأرقام للمتوسطات والفريمات والآرس آي لاتهم لأنها ستكون من المدخلات التي يتم تغييرها من الخارج) وبعد ذلك أستطيع أن أرسل لك الكود - بإذن الله - كاملا.
أو يمكنك أن تضع الكود الذي لديك لكي يتم التعديل عليه إلا أنني أفضل الأولى.
هذا رأي الخاص لأني في الحقيقة لاأثق في أي جزء من كود قد أرسله لك مالم أكن ملم بالتفاصيل لكي يكون العمل متكامل.
في كل الأحوال فإنني أتصور حسب شرحك بأن الطريقة تعتمد على تقاطع متوسطين ويجب أن يكون الآر إس آي عند الدخول فوق الخمسين مثلا والدخول عند إفتتاح الشمعة التالية وليس فور تحقق الشروط !
طبعا لايتم الدخول في صفقة جديدة على نفس الزوج حتى تغلق الموجودة.
إن كانت هذه هي طريقتك فسوف أقوم ببرمجتها إن شاء الله وإذا توجد أية إختلافات فأرجو إعلامي بها. وأنا متأكد بإذن الله بأن الأخ wajdyss أيضا سيساعد في هذا الموضوع.
وفقكم الله
- 28-07-2008, 06:03 PM #8
رد: محتاج تصحيح لهدا الكود
اخي الكريم
هناك اثنين من الحلول لهذه المشكلة
الاول) مثلما قال الاخ اسامة ( يجب معرفة الشروط بالضبط ) يعني انه لا يكفي معرفة المتغيرات بالضبط buy1 or buy2
الثاني) لا يجب معرفة الشروط بالضبط ، ولكن يجب اضافة متغيرين منطقيين bool، المتغير الاول للشراء والثاني للبيع
عند تحقق شرط الشراء اجعل متغير الشراء = true وشرط البيع = false
وعند تحقق شرط البيع اجعل متغير البيع = true وشرط الشراء = false
طبعاً يجب ان تضيف لشرط الشراء ان يكون متغير الشراء = false
ويجب ان تضيف لشرط البيع ان يكون متغير البيع = false
بهذه الطريقة لن يفتح صفقتين شراء متتاليتين ولا صفقتين بيع متتاليتين
فكر بها جيداً وحاول
واذا استصعب الامر عليك لا تتردد بالسؤال
ولكن حاول جيداً أولاً
المواضيع المتشابهه
-
مستر دولار محتاج مساعدتك في تصحيح إكسبيرت
By 4X Trader in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 0آخر مشاركة: 28-08-2010, 02:21 PM -
أحتاج مساعدة بليز في فهم هذا الكود
By هاشمية in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 6آخر مشاركة: 17-04-2010, 01:49 PM -
عجبا لهدا الفوركس فعلا عشوائية منظمة و مبررة
By Mr.stayl in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 35آخر مشاركة: 20-03-2010, 09:31 PM -
ممكن تصحيح هذا الكود
By mostafa400 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 5آخر مشاركة: 23-05-2009, 02:50 AM