ما افضل مكان لوضع دالة الاستدعاء
في on tick
هل عند شروط الاغلاق ام كل مرة عند اوامر البيع والشراء
ام لا يهم في اي مكان من دالة On tick
لان هذة الاشياء وان صحت قد تثقل عمل الاكسبرت فايهما افضل مستر جميل
Printable View
ما افضل مكان لوضع دالة الاستدعاء
في on tick
هل عند شروط الاغلاق ام كل مرة عند اوامر البيع والشراء
ام لا يهم في اي مكان من دالة On tick
لان هذة الاشياء وان صحت قد تثقل عمل الاكسبرت فايهما افضل مستر جميل
مرفق الأكسبيرت الكامل لكل مادرسناه يمكنكم مقارنته بالكود لديك واماكن ترتيب الكود ، فضلا راجعوه سطر بسطر .
من اراد ان يلون الحروف لتسهيل رؤيته لها يمكنه الأختيار للألوان وحجم الخط كما في الصورة يمكنه من tools/option
انت كتب الكود هكذا وهل هكذا صحيح
ام ان الصح هكذا>>>فما هو الصح؟؟؟؟؟؟؟؟كود PHP:if(DayOfWeek()==0) return;
كود PHP:if(DayOfWeek()==0) return(0);
السلام عليكم أسف على التأخر فى حضورى لدرس اليوم ومرفق الإكسيبرت
هل هذه الإختلافات فى إكسيبرتى عن إكسيبرت حضرتك لها تأثير من شروط بيع وشراء وزمن الشمعة والإغلاق
هذا إكسيبرتى
وهذا إكسيبرت حضرتككود PHP:if( aFastMoving > aSlowMoving && bFastMoving < bSlowMoving && tnv!=Time[0] && TotalOrder==0) Buy_Market();
if( aFastMoving < aSlowMoving && bFastMoving > bSlowMoving && tnv!=Time[0] && TotalOrder==0) Sell_Market();
if(aFastMoving < aSlowMoving && bFastMoving > bSlowMoving && Opposite_Signal_Close !=0) {adel=0; Close_Type();}
if(aFastMoving > aSlowMoving && bFastMoving < bSlowMoving && Opposite_Signal_Close !=0) {adel=1; Close_Type();}
if(TrailingStop>0) TrailingStopp();
كود PHP:if(aFastMoving < aSlowMoving && bFastMoving > bSlowMoving) {adel=0; Close_Type();}
if(aFastMoving > aSlowMoving && bFastMoving < bSlowMoving) {adel=1; Close_Type();}
if(TotalOrder==0 && dnx!=Time[0])
{
dnx=Time[0];
if(aFastMoving > aSlowMoving && bFastMoving < bSlowMoving) { Buy_Market(); }
if(aFastMoving < aSlowMoving && bFastMoving > bSlowMoving) { Sell_Market(); }
}
استاذ جميل حضرتك كتبت شرط عدم تكرار الدخول على نفس الشمعة وشرط عدم الدخول عند وجود صفقة مفتوحة قبل شرط الشراء كالاتيوانا وضعتها داخل الامركود PHP:if(TotalOrder==0 && dnx!=Time[0])
{
dnx=Time[0];
if(aFastMoving > aSlowMoving && bFastMoving < bSlowMoving) { Buy_Market(); }
if(aFastMoving < aSlowMoving && bFastMoving > bSlowMoving) { Sell_Market(); }
}
فهل هناك فارق ام ان النتيجة واحدة ؟؟؟كود PHP:if(bFastMoving < bSlowMoving && aFastMoving > aSlowMoving && tnv!=Time[0]&&TotalOrder==0) Buy_Market();
if(bFastMoving > bSlowMoving && aFastMoving < aSlowMoving && tnv!=Time[0]&&TotalOrder==0) Sell_Market();
الملف المرفق 411693
هذا الكود خطأ ، لأنه نقصد عدم التكرار في الشمعة 0 اما الشمعة 1 فقد اغلقت
الصح هو أن تستخدم الطريقة التي في اكسبيرتي أو تعدل عندك الىكود PHP:if( aFastMoving > aSlowMoving && bFastMoving < bSlowMoving && tnv!=Time[1] && TotalOrder==0) Buy_Market();
if( aFastMoving < aSlowMoving && bFastMoving > bSlowMoving && tnv!=Time[1] && TotalOrder==0) Sell_Market();
ثم نعيد قيمة الشمعة الى ال 0 ونلحقها بباقي الأوامر بين القوسين brackets لأننا لو وضعنا مجموعة اوامر بدون brackets فسينفذ فقط الأمر الأول .كود PHP:if( aFastMoving > aSlowMoving && bFastMoving < bSlowMoving && tnv!=Time[0] && TotalOrder==0) { tnv=Time[0]; Buy_Market(); }
في البداية نحن نعمل بأبسط وأوضح الأكواد بعدها سنطور اكوادنا لنختصر التكرار لنفس الشرط مثل ماعملت في اكسبيرتي لم اكرر شرط الشمعة ولا شرط ان يكون عدد الصفقات 0 .
لم يرد في الموضوع هذا الكود ، ولكن ماكتبته انا هو الكود الصحيح بعد تطوير الميتاتريدر في النسخ مابعد 629 ، فأذا وضعنا 0 بين قوسين كان مقبول في النسخ القديمة ومكانها الصحيح اذا اردنا العودة بقيمة معينة او بالصفر . قم بتجربة الكودين واعمل Compiler وستعرف النتيجة .
اخي العزيز جميل .. من باب التنوع والتمرين عملت نفس الاكسبيرت على مؤشر المكاد
باعدادات 50و100و25 ويلاحظ الاتي انه في حال تفعيل الاشارة العكسية للاغلاق والدخول
لا ياخذ كل التقاطعات .. بل وعند تحديد لونج فقط او شورت فقط لا ياخذ كل التقاطعات هناك تقاطعات كثيرة لا يعتمدها او يدخل عليها بل انه يغلق مثلا عقد الشراء دون ان يفعل بيع بالمقابل ثم يدخل شراء آخر مع التقاطع وهكذا...
فما هو الخطأ الذي وقعت فيه رغم انه نفس الاكسبيرت السابق لم يتغير به الا المؤشر ؟؟؟؟
الملف المرفق 411709
جزاك الله خيرا أستاذ جميل وجارى التعديل