Wednesday 3 January 2018

Mtf الحركة من المتوسط - استراتيجية


متف المتوسط ​​المتحرك مؤشر MT4 متف ما يحدد أي أنواع من المتوسطات المتحركة على أي إطار زمني. يمكنك تتبع المتوسطات المتحركة اليومية على الرسم البياني 30m على سبيل المثال. هذا يسمح لك لتتبع كل شيء على مخطط واحد. سيكون لديك مساحة أكبر لأزواج العملات الأخرى. وتستخدم المتوسطات المتحركة على نطاق واسع في تداول الفوركس. وهي تستخدم لتحديد اتجاه الاتجاه وكذلك لتحديد مناطق الدعم. متوسط ​​متحرك MT4 يعتمد مؤشر MT4 8211 على المتوسطات المتحركة، ويمكنك استخدامه لوقف الخسارة أو التداول العادي. السعر فوق المؤشر 8211 حتى الاتجاه، دون الاتجاه الهبوطي. تف 8211 الفترة الزمنية للمصدر 8211 فترة طريقة الانزلاق 8211 طريقة حساب متوسط ​​تحول مجموعة البيانات 8211 على التوالي نظام التداول سوبرتند متف - استراتيجيات الفوركس - موارد الفوركس - إشارات تداول الفوركس خالية من تداول العملات الأجنبية وتوقعات الفوركس 444MTF نظام التداول الفائق متف مؤشر سوبرترند كومبو متف سوبيرترند نظام التداول هو الاتجاه النقي نظام التالي، في استراتيجية التحرير والسرد على أساس مؤشر سوبرترند والمتوسط ​​المتحرك الأسي 5 الفترة. هذا القالب هو الإعداد لمدة 15 دقيقة الإطار الزمني. أزواج العملات: العملات الرئيسية، اليورو مقابل الدولار الأميركي، غبوسد، أودوس، نزدوسد، أوسكاد، أوسجبي، غبجبي. مؤشرات مؤشر ميتاتريدر: سوبيرترند واضح (مطلوب ل متف سوبيرترند) متف سوبيرترند (تف 60، تسي 60، أتر -1) أوب أسفل المؤشر (هل 4 هذا هو مؤشر حركة السعر وإعادة رسم) المتوسط ​​المتحرك الأسي 5 فترة (متوسط ​​السعر). قواعد متف سوبيرترند نظام التداول سوبيرترند متف في سوبيرترند لون الخط الأخضر سوبيرترند واضحة على الرسم البياني لون الخط الأخضر حتى أسفل مؤشر نقطة اللون الأخضر إذا كانت هذه الشروط توافق على موقف دخول طويل عندما يتراجع السعر على 5EMA. سوبيرترند متف في الفرعية نافذة لون الخط الأرجواني سوبيرترند واضحة على الرسم البياني لون الخط الأحمر حتى أسفل مؤشر نقطة اللون الأحمر إذا كانت هذه الشروط هي موافقة موقف دخول قصيرة عندما يتراجع السعر على 5EMA. نفس الظروف ولكن استخدام سوبرترند على الرسم البياني، أوب لأسفل و 5 إما. وقف الخسارة الأولي على أرجوحة هايلو السابقة. الربح المستهدف 20-30 نقطة أو تحقيق الربح على مستوى نقاط المحورية. كيفية استخدام المتوسطات المتحركة في تجارة الفوركس بسيطة، لكنها فعالة متعددة الإطار إطارات الوقت. المتوسطات المتحركة (ما) في تداول العملات الأجنبية هي استراتيجية التداول الأكثر بسيطة، لكنها فعالة. وإذا كنت سوف تستخدم على الإطار الزمني المتعدد (متف)، سيكون لديك دائما أعلى احتمال الإعداد. ولكن ما هو المتوسط ​​المتحرك المتوسط ​​المتحرك هو مؤشر الاتجاه. لأنه يستند إلى الأسعار الماضية. وبالنظر إلى فترة معينة من الوقت ل ما، يعني أنه بعد كل إغلاق، وموقف ما والقيمة، وسوف تتغير. هذا هو السبب في أن ما يعتبر مؤشرا متخلفا (إعادة طلاء). المتوسط ​​المتحرك البسيط (سما) مقابل المتوسط ​​المتحرك الأسي (إما) هناك العديد من أنواع المتوسط ​​المتحرك، ولكن هذين النوعين هما الأكثر شيوعا: 1. المتوسط ​​المتحرك البسيط (سما). تمثل متوسط ​​السعر الرياضي لفترة زمنية معينة من الزمن. عادة ما يتم تطبيق هذا على أسعار 8220close8221، ولكن هناك العديد من الخيارات الأخرى (مفتوحة، عالية، منخفضة، الخ). 2. تقلل صيغة المتوسط ​​المتحرك الأسي (إيما) قليلا من الفارق الزمني، من خلال إعطاء المزيد من الوزن للأسعار الأخيرة. خاصة إذا كنت تستخدم قيمة كبيرة ل إما الخاص بك. I. e 200 إما على اليومية 8211 الأخيرة الأسعار اليومية تعطي المزيد من الوزن في صيغة المتوسط ​​المتحرك، من أقدم الأسعار. المتوسطات المتحركة كمؤشر يشير (على مدار الساعة) منذ ذلك الحين، يتم رسم أسعار على الرسم البياني من اليسار إلى اليمين، لدينا أساسا 2 الاتجاهات المحتملة و 1 للسوق مجموعة: 1. 82201-2 o8217clock8221 الاتجاه الصاعد 2. 82203 o8217clock8221 مجموعة أو (ما) 3. 82204-5 o8217clock8221 الاتجاه الهبوطي المتوسط ​​المتحرك الأسي (إما) على التداول متعدد الأطر الزمنية (متف) في التداول نعتمد على أعلى إعدادات الاحتمالات. لا أحد يستطيع 8217t التنبؤ قيمة الأسعار القادمة. ولكن إذا كنت سوف تنظر في الإطار الزمني العالي (هتف) الاتجاه ووضع دخولك على الإطار الزمني السفلى (لتف)، في نفس الاتجاه، سيكون لديك المزيد من الفرص الرياضية لتكون على حق. لماذا لأن مثل أي مؤشر متخلفة، ما، سوف تتخلف أقل على هتف. كيفية وضع الصفقات باستخدام إما حسنا، يعتمد على أي نوع من التجارة أنت. معظم التجار يفضلون التداول في الاختراقات (بو)، لذلك يضعون أوامر وقف الشراء بزيل. بينما ينتظر البعض الآخر لإعادة اختبار سوبورترسيستانس (سر)، لذلك يضعون أوامر معلقة. عن طريق وضع الصفقات مثل هذا، فإن وقف الخسارة (سي) وعادة ما يكون في مستوى ريال المقبل. أو أسفل الدعم للحركات الطويلة (أو فوق المقاومة للتداولات قصيرة). أنا شخصيا استخدام مستويات فيبوناتشي التصحيح 50 أندور 61.8، لوضع أوامر المعلقة، في اتجاه بو. وأنا استخدم كما وقف الخسارة (سي)، ومستوى 100. بطبيعة الحال، من خلال قياس أرجوحة التي أكدت EMA8217s بو. بالنسبة لمستوى جني الأرباح (تب)، فإن معظم المتداولين يستخدمون إشارة عكسية على تف دخول (با يعبر 200 إما)، أو المستوى التالي ريال. ولكن هذا don8217t تعطيك دقيقة 1: 3 كما R: R راتيو. استخدام HTF8217s 200 إما التحرج قد القيام بهذه المهمة. يمكنني استخدام تصحيح فيبوناتشي المضافة على الاتجاه مكافحة الماضي. لذلك بلدي تب يمكن أن يكون 127.4، 161.8 أندور 261.8، وتبحث عن دقيقة 1: 3 كما بلدي R: R نسبة (ريسكريوارد نسبة). إذا كان بلدي تب لا 3XSL على الأقل، وأنا أقل من بلدي تف تف إلى H1 والتجارة في أرجوحة المقبل، هناك. وبهذه الطريقة سيكون لدي دخول أكثر سلاسة، مع سي أصغر، مع الحفاظ على بلدي HTF8217s تب. لذلك بلدي أصغر تف دخول سيكون محاولة. ويمكنني أن تخسر الكثير من الإدخالات مثل هذا لتحقيق المساواة بين H48217s سي. هذا سوف تعطيني في وقت لاحق، R: R عادة أكثر من 1: 5 أو 1: 8 أو أعلى. إذا كنت التاجر الموقف، يمكنك استخدام بهذه الطريقة، و HTF8217s الاتجاه مضادة فيبوناتشي الاتجاه. ولكن لهذه الفكرة، أوصي لك لتحويل سي الأولي الخاص بك مرة واحدة على الأقل، في الربح (لقفل الربح الخاص بك). وبعد ذلك، يمكنك أن تدع موقعك مربحة لتشغيل، حتى يتم تشغيل HTF8217s تب. كيفية تجنب الكاذبات الكاذبة في كل مرة يتم فيها كسر أداة، يجب أن يتم كسر هذا الارتفاع الأولي جدا، من أجل تأكيد اندلاع (بو). خلاف ذلك، علينا أن نعتبر أن الأولي بو 8220false BO8221 في إعادة اختبار MA8217s. وهذا هايلو سوف تصبح في وقت لاحق روس هوك (ر) أو كسورية. التي تقوم على هذه النظريات، يجب كسر أيضا، من أجل النظر في تغيير هذا الاتجاه. على هتفس ما إعادة اختبار مع بو كاذبة، و win8217t عادة تغيير ما مشيرا. على الأطر الثابتة، يمكن تأكيد MA8217s بو في البداية، من خلال خلق هضبة جديدة، والتي قد يتم إبطالها لاحقا. وبعد ذلك، فإن السعر الإجراء (با)، قد يستمر الاتجاه HTF8217s. حتى لو سيتم تأكيد LTF8217s بو، في البداية. دراسات الحالة. أمثلة الإعداد ل إما على متف. فقط لفهم هذه الاستراتيجية التجارية البسيطة، لكنها فعالة استنادا إلى المتوسطات المتحركة الأسية على الإطار الزمني المتعدد، سأقدم لك بعض الإعدادات (السيناريوهات): هذا هو زوج أودجبي، على الرسم البياني الأسبوعية، اليومية و H4. استنادا إلى 200 إما يشير الصاعد، على جميع الرسوم البيانية 3، ونحن سوف تتخذ مواقف طويلة، فقط. 8211 أسبوعيا طويلا 8211 (حتى في 200 إما إعادة الاختبار، واصلت إما إشارة صعودية) 8211 H4 طويلة (حتى في 200 إما إعادة الاختبار، مع اندلاع كاذبة، وايما لا يزال يشير صعودي) هذا هو زوج الدولار الأسترالي مقابل الدولار الأمريكي، على أسبوعيا، يوميا والرسوم البيانية H4. على الرسم البياني الأسبوعي، لدينا السعر الإجراء (با)، تحت 200 إما، وبالتالي فإن الاتجاه على المدى الطويل لا يزال هبوطي. ولكن على الرسم البياني H4 واليومية، والسلطة الفلسطينية فوق 200 إما. لذلك يمكننا إما أن ننتظر، على H4، للسلطة الفلسطينية للذهاب تحت 200 إما (دق الاتجاه الأسبوعي) والتجارة قصيرة. في هذه الحالة، بعد العبور، 200 إما يجب أن يشير لنا الهبوطي، على H4 أيضا. أو يمكننا أن ننتظر الرسم البياني الأسبوعي لتأكيد نفس الاتجاه الطويل، في وقت لاحق. ذهبنا فوق 200 إما على H4، ثم على اليومية. لذلك يمكننا أن نفترض، السلطة الفلسطينية سوف تذهب فوق 200 إما على الأسبوعي، كذلك. 8211 أسبوعيا قصير 8211 (حتى في 200 إما إعادة الاختبار، كانت إما لا تزال تشير صعودية) 8211 H4 لونغ هذا هو زوج اليورو مقابل الدولار الأميركي، على الرسم البياني الأسبوعية، اليومية و H4. استنادا إلى 200 إما يشير الصاعد، على جميع الرسوم البيانية 3، ونحن سوف تتخذ مواقف طويلة، فقط. إذا على H4 سوف تذهب السلطة الفلسطينية تحت 200 إما، وسوف نتوقف عن تداول هذا الزوج. إذا لاحقا، ستذهب السلطة الفلسطينية إلى ما دون 200 إما في اليوم، أيضا، سوف ننتظر على H4 للسلطة الفلسطينية لتشغيل أقل من 200 إما، أيضا، من أجل اتخاذ مواقف قصيرة، ويتوقع على الأقل 200 أسبوعي إما إعادة النظر (ما نراه على H4، ينبغي أن ينظر إليه على اليومية، في وقت لاحق وبعد ذلك، على أسبوعي، أيضا). 8211 أسبوعيا طويلا 8211 (بعد 200 اما مسطح، قامت السلطة الفلسطينية بكسره وخلق ارتفاع جديد في الاتجاه الأسبوعي) 8211 H4 لونغ (حتى في 200 إما ريتيست، مع اختراق كاذب للدعم، كان إما مما يشير إلى الاتجاه الصاعد) يمكن أن تتحرك المتوسطات المتحركة على إطار زمني متعدد، يمكن أن تكون استراتيجية مربحة جدا، لأنك سوف تتداول دائما أعلى الاجهزة الاحتمالات، في اتجاه إطارات الوقت العالي. باستخدامه مع نظام إدارة المال جيدة و R: R نسبة 1: 3 على الأقل، يجب أن تكون دائما على الجانب المربح. وبطبيعة الحال، كما تنويه، وأنا أوصي لك لاختبار هذه الاستراتيجية على حساب ديمو، لبضعة أشهر متتالية، فقط لمعرفة ما إذا كان هذا يعمل بالنسبة لك. ومع ذلك، إذا قررت في وقت لاحق، لاستخدام هذه الفكرة على حساب المال الحقيقي الخاص بك، يجب أن نفهم أن كل المخاطر تنطوي عليه سيكون لك. نأمل أن يساعد هذا. يظهر الكود أدناه كيف أنا حاليا توليد المتوسط ​​المتحرك لاستخدامها في استراتيجية. غير أن هذا المتوسط ​​المتحرك يتخلف عن الإطار الزمني للاستراتيجية. ما أود القيام به هو تغيير هذا المتوسط ​​المتحرك ليكون إطاره الزمني منفصل (أكبر) من واحد يستخدم لبقية الاستراتيجية. لقد تم تافه مع أفكار مختلفة للقيام بذلك ولكن لا شيء يعمل، وأود أن نقدر كثيرا إذا كان شخص ما يمكن أن تبين لي كيفية القيام بذلك مع رمز المثال أدناه: ملحوظة يرجى أيضا تضمين أي تغييرات اللازمة للحسابات الأولى ()..الباراميترز: أدسترينغ (كوترندماميثودكوت، كوترندماميثودكوت، كوتكوت، كوتفاكوت). باراميترز: أدسترينغالترناتيف (كوترنداماميثودكوت، كوتفاكوت، كوتكوت، كوتفاكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتاكوت، كوتكوت، كوتيماكوت). باراميترز: أدسترينغالترناتيف (كوترندماميثودكوت، باراميترز: أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتلوماكوت، كوتكوت، كوتلوماكوت). باراميترز: أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتسينوماكوت، كوتوت، كوتسينويماكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتريماكووت، كوتوت، كوتريماكوت). المعلمات: أدسترينغالرناتيف (كوترندماميثودكوت، كوتلزماكوت، كوتكوت، كوتلسماكوت). باراميترز: أدسترينجالترناتيف (كوتيرنداماميثودكوت، كوتسماكوت، كوتكوت، كوتسماكوت). باراميترز: أدسترينغالرناتيف (كوترنداميثودكوت، كوثماكوت، كوتوكوت، كوثماكوت) ستراتيغي. باراميترز: أدسترينجالترناتيف (كوترندماميثودكوت، كوزيرولاجيماكوت، كوتكوت، كوزيرولاجيماكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتيماكوت، كوتوت، كوتديماكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوت، كوت، كوتوت، كوت) addStringAlternative (quotTrendMAMethodquot، quotITrendquot، quotquot، quotITrendquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotMedianquot، quotquot، quotMedianquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotGeoMeanquot، quotquot، quotGeoMeanquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotREMAquot، quotquot، (كوترندرامثودكوت، كوتيلرسكوت، كوتكوت، كوتيلرسكوت) ستراتيغي. البارامترات: أدسترينغالترناتيف (كوتيرندماميثودكوت، كوت، كوتكوت، كوتيوت). باراميترز: أدسترينغالترناتيف (كوترندراميثودكوت، كوتريماغينكوت، كوتكوت، كوتريماجنكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوجسموثكوت، كوتكوت، كوجسموثكوت). باراميترز: أدينتيجر (كوترندرمابيريودكوت، كوترندمابيريودكوت، كوتكوت، 200) ستراتيغي. باراميترز: أدسترينغ (كوتيبكوت، كوتريس تايبكوت، كوتكوت ، كوتكوت). باراميترز: أدسترينغالرناتيف (كوتيبكوت، كوتلوكوت، كوتكوت، كوتلكوت) ستراتيغي. بارامترز: أدسترينغالترناتيف (كوتايكوت، كوتينكوت، كوت كوت، كوتوكوت) البارامترات: أدسترينغالرناتيف (كوتيبكوت، كوتيبيكالكوت، كوتكوت، كوتكوت) استراتيجية. البارامترات: أدسترينجالرناتيف (كوتيبكوت، كوايتدكوت، كوتكوت، كوتوكوت ) سترات gy. parameters: أدغروب (كوتريبريسكوت) ستراتيغي. بارامترز: أدسترينغ (كوتكوت، كوتريس تايبكوت، كوتكوت، كوتبيدكوت) ستراتيغي. باراميترز: أدسترينغالترناتيف (كوتكوت، كوتبيدوت، كوتكوت، كوتبيدكوت). باراميترز: أدسترينغالرناتيف (كوتكوت، كوتاسكوت، كوتكوت، كوتاسكوت ).البارامترات: أدغروب (كوتيمفراميكوت). باراميترز: كوتفوت، كوتيم فريمكوت، كوت كوت، كوتيموتوت. بارامترز: سيتفلاغ (كوتفوت، كور. فلاجبيريودس) نهاية المحلية غسورس - تيارات المحلية تريندماميثود المحلية تريندمابريود المحلية تريندما P1 المحلي TrendMAMethodinstance. parameters. TrendMAMethod TrendMAPeriodinstance. parameters. TrendMAPeriod Typeinstance. parameters. Type غسورس إكستنسكريبتيون (1، نيل، example. parameters. TF، example. parameters. Type كوتبيدوت، كوتاركوت) إذا اكتب 1 كوتوكوت ثم P1 gSource. open إلسيف Type1 كوثكوت ثم P1 gsource. high إلسيف Type1 كوتلكوت ثم P1 gSource. low إلسيف Type1 كوتكوت ثم P1 gSource. median Alsif اكتب 1 كوتكوت ثم P1 gsource. typical إلسيف نوع 1 كوتوكوت ثم P1 gsource. weighted آخر P1 gsource. close نهاية تريندما الأساسية. المفاهيم: إنشاء (كوتافراجيسكوت، P1، تريندماميثود، تريندمابيريود، كاذبة) - والحصول على أقدم مؤشر من شريط يمكننا العمل في math. max الأولى (TrendMA. DATA:first (). وما إلى ذلك) وظيفة نهاية إكستبدات (معرف، مصدر، فترة) - إذا كان لدينا ما يكفي من الحانات في التاريخ للعمل إذا الفترة غ الأولى 1 ثم الآن يمكنني استخدام ما الاشتراك في إطار زمني آخر رمز: حدد جميع غبتسورس إكستسكريبسكتيون (بتفيد، نيل، example. parameters. BTF، example. parameters. Type كوتبيدوت، كوتاركوت) واستخدامه في المؤشر بدلا من غسورس كود: حدد كل P1 gBTFSource. open. للحصول على فهرس القيمة الأولى تحتاج إلى مؤشر كوتكونفيرتكوت من الإطار الزمني الرئيسي إلى الفهرس للإطار الزمني أكبر من هذا القبيل: كود: حدد كل firstM. DATA: فيرست (). بتفبيريود core. findDate (غبتسورس، غسورس: ديت (بيريود)، ترو) إذا بتفريود غ فيرست 1 ثم إيف شملت هذه الإصلاحات هنا: كود: سيليكت آل فونكتيون إينيت () ستاتيستيكش. باراميترز: أدسترينغ (كوترندماميثودكوت، كوترندماميثودكوت، كوتكوت، كوتفاكوت ).البارامترات: أدسترينغالترناتيف (كوترنداماميثودكوت، كوتفاكوت، كوتكوت، كوتفاكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتيماكوت، كوتوت، كوتيماكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتويلدركوت، كوتكوت، كوتويلدركوت). باراميترز: أدسترينغالرناتيف (كوترندماميثودكوت ، كوتلوماكوت، كوتكوت، كوتلوماكوت) ستراتيغي. باراميترز: أدسترينغالترناتيف (كوترندماميثودكوت، كوتسينوماكوت، كوتوت، كوتسينويماكوت). باراميترز: أدسترينغالترناتيف (كوترندماميثودكوت، كوتريماكوت، كوتكوت، كوتريماكوت). باراميترز: أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتلزماكوت، كوتكوت، كوتلزماكوت) ستراتيغي. param eters: addStringAlternative (quotTrendMAMethodquot، quotSMMAquot، quotquot، quotSMMAquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotHMAquot، quotquot، quotHMAquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotZeroLagEMAquot، quotquot، quotZeroLagEMAquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotDEMAquot، (كوتيروتاماميثودكوت، كوتيميانكوت، كوتكوت، كيمديانكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كتريندكوت، كوتكوت، كوترندكوت). باراميترز: أدسترينغالرناتيف (كوترندماميثودكوت، كوتجيومانكوت، كوتكوت، كوتجيومانكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتيماكوت، كوتكوت، كوتيماكوت). باراميترز: أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتلرسكوت ، كوتكوت، كوتيلرسكوت) ستراتيجيك. باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوت، كوتكوت، كوتيوتوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتريماغينكوت، كوتكوت، كوتريماجنكوت). باراميترز: أدسترينغالترناتيف (كوترنداماميثودكوت، كوتسموثكوت، كوتكوت، كوجسموثكوت) : أدينتيجر (كوتريندمابيريودكوت، كوتيرندمابيريودكوت، كوتكوت، 200). بارامترز: أدسترينغ (كوتيبكوت، كوتريك تيبيكوت، كوتكوت، كوتكوت). باراميترز: أدسترينغالترناتيف (كوتايبيوت، كوتينكوت، كوتكوت، كوتوكوت) المواصفات: أدسترينغالرناتيف (كوتيبكوت، كوتوديانكوت، كوتكوت، كوتكوت) استراتيجية. البارامترات: أدسترينغالرناتيف (كوتايكوت، كوتكلوكوت، كوتكوت، كوتكوت). باراميترز: أدسترينغالرناتيف (كوتايكوت، كوتلوكوت، كوتكوت، كوتلكوت) addStrin بارتيترز: أدغروب (كوتريبريسكوت) استراتيجية. باراميترز: أدسترينغ (كوتكوت، كوتريبريس تيبيكوت، كوتكوت، كوتبيدوت) ستراتيغي. باراميترز (كوتبيكوت، كوتيبيكالكوت، كوتكوت، كوتكوت) ستراتيغي. باراميترز: كتيبكوت، كوتيدكوت، كوتكوت : أدسترينغالترناتيف (كوتكوت، كوتبيدوت، كوتكوت، كوتبيدوت) ستراتيغي. باراميترز: أدسترينغالرناتيف (كوتكوت، كوتاسكوت، كوتكوت، كوتاسكوت) ستراتيغي. بارامترز: أدغروب (كوتيمفراميكوت). باراميترز: أدسترينغ (كوتفوت، كوتيم فريمكوت، كوتوت، كوتموت). المعلمات: سيتفلاغ (كوتفوت، كور. فلاغبيريودس) ستاتيستيك. بارامترز: أدسترينغ (كوتتبكوت، كوتبيجر تايم فريمكوت، كوتكوت، كوتهوتوت). بارامترز: سيتفلاغ (كوتتفكوت، core. FLAGPERIODS) إندس غسورس المحلي - تيارات غبتسورس المحلي - تيارات محلية تريندماميثود المحلية تريندمابيريود المحلي تريندما المحلي P1 المحلية مينتفيد 1 المحلية بتفيد 2 TrendMAMethodinstance. parameters. TrendMA الطريقة TrendMAPeriodinstance. parameters. TrendMAPeriod Typeinstance. parameters. Type غسورس إكستسكريبتيون (مينتفيد، نيل، example. parameters. TF، example. parameters. Type كوتبيدوت، كوتاركوت) غبتسورس إكستسكريبتيون (بتفيد، نيل، example. parameters. BTF، example. parameters. اكتب كوبيدكوت، كوتاركوت) إذا اكتب 1 كوتوكوت ثم P1 gBTFSource. open إلسيف Type1 كوثكوت ثم P1 gBTFSource. high إلسيف Type1 كوتلكوت ثم P1 gBTFSource. low إلسيف Type1 كوتكوت ثم P1 gBTFSource. median Alsif Type1 كوتوكوت ثم P1 gBTFSource. typical إلسيف Type1 كوتوكوت ثم P1 gBTFSource. weighted آخر P1 gptFSource. close نهاية تريندما الأساسية. المفاهيم: إنشاء (كوتافيراجيسكوت، P1، تريندماميثود، تريندمابيريود، كاذبة) - والحصول على أقدم فهرس من شريط يمكننا أن نعمل في أول TrendMA. DATA:first () وظيفة نهاية إكستبدات (إد، سورس، بيريود) إف إد مينتفيد أند غبتسورس: سيز () غ 0 ثينك تريندما: أوبديت (core. UpdateLast) بتفيريود المحلي core. findDate (غبتسورس، غسورس: ديت (بيريود)، t رو) - إذا كان لدينا ما يكفي من الحانات في التاريخ للعمل إذا بتفريود غ الأولى 1 ثم - الآن يمكنني استخدام نهاية نهاية نهاية ما هناك ثلاثة فقط الرياضية: مصارعة الثيران، سباق السيارات، وتسلق الجبال كل ما تبقى هي مجرد ألعاب . (ج) إرنست همنغواي مرحبا Victor. Tereschenko، شكرا جزيلا لك فيكتور التي كانت مساعدة كبيرة ولكن ما زلت عالقة على النحو التالي: - رمز كامل أدناه، وضعت بعض الإشارات (نقاط الاختبار) لرصد التقدم من خلال المنطق ووجدت أن التعليمات البرمجية كانت فاشلة على الخط: 284 إذا بتفريود غ الأولى 1 ثم تحولت القيم إلى أن تكون على النحو التالي: - يوروس LONNY02SIGNAL، يوروس، cci20، m1، كلاهما 2 TP0 - بدء: بتفريود (-1) غ أولا (199) 1 08252011 10:08:00 1.44073 ومن الواضح أن المشكلة بتفريود في -1 تشير إلى إيف فعلت بلوبر في مكان ما على الأرجح، هل أنت قادرا على رؤية المشكلة شكرا جزيلا بيتر نيوتن رمز: حدد الكل - استحداث استراتيجية ل تطبيق المضيف (على سبيل المثال، ماركيتسكوب). - يتم استدعاء الدالة مرة واحدة عند تحميل التطبيق المضيف في البداية الإستراتيجية. (ستروتينغ ستراتيغيوت) - معلمات متوسط ​​السرعة وبطء الحركة ستراتيجيك. البارامترات: أدغروب (كوتومين كونترولسكوت) ستراتيجيك. بارامترز: أدسترينغ (كوتفوت، كوتستراتيغي تايم فريمكوت، كوتكوت، كوتم 5 كوت ).البارامترات: سيتفلاغ (كوتفوت، الأساسية. فلاجبيريودس). بارامترز: أدسترينغ (كوتالويدزيكوت، كوتالويد سيديكوت، كوتالويد الجانب للتداول أو إشارة، يمكن بيع، شراء أو بوثكوت، كوتوثوت) استراتيجية. بارامترز: أدسترينجالرناتيف (كوتالويدزيكوت، كوتوثوت ، كوتكوت، كوتوثكوت) ستراتيغي. باراميترز: أدسترينغالرناتيف (كوتالويدزيكوت، كوتكوت، كوتكوت، كوتكوت) استراتيجية. البارامترات: أدسترينجالرناتيف (كوتالويدزيكوت، كوتنوت، كوتكوت، كوتدنوت). باراميترز: أدبوليان (كوتسكوت، كوتسيتوب أليرتكوت، كوتكوت، ترو). المعلمات: أدبوليان (كوتكوت، كوتريجر أليرتكوت، كوتكوت، ترو) ستراتيجيك. البارامترات: أدبوليان ( كوتوكوت، كوتكونفيرمد تريجر أليرتكوت، كوتكوت، فالس) ستراتيغي. بارامترز: أدغروب (كوتالارتسكوت) ستراتيغي. البارامترات: أدبوليان (كوتشواليرتكوت، كوتشواليرتكوت، كوتكوت، ترو) ستراتيجيك. البارامترات: أدبوليان (كوتوبلايسوندكوت، كوتوبلاي سوندكوت، كوتكوت، ترو) : أدفيل (كوتسوندفيليكوت، كوتسوند فليكوت، كوتكوت، كوتكوت) ستراتيغي. باراميترز: سيتفلاغ (كوتسوندفيليكوت، كور. فلاغسوند). باراميترز: أدبوليان (كوتورنتسوندكوت، كوركورنت سوندكوت، كوتكوت، ترو) ستراتيجيك. بارامترز: أدبوليان (كوتسندمايلكوت، كوتسند إمايلكوت، المواصفات: سيتفلاغ (كوتيمايلوت، الأساسية. فلاجيمايل). بارامترز: أدغروب (كوتشي بارامتركوت) استراتيجية. بارامترز: أدينتيجر (كوتسكيبكوت، كوتشي بيريوديكوت، كوتاكوت، كاذبة) كوتكوت، 20، 2، 200) ستراتيجيك. بارامترز: أدغروب (كوتبيجر الإطار الزمني ما بارامتركوت). باراميترز: أدبوليان (كوبوتفمافل (كابتفكريندماميثودكوت، كوتفاكوت، كوتكوت، كوتفاكوت). باراميترز: أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتيماكوت، كوتكفوت، كوتفاجوت) ستراتيجيك. باراميترز: أدسترينغالترناتيف ، كوتكوت، كوتيماكوت) ستراتيغي. باراميترز: أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتويلدركوت، كوتكوت، كوتويلدركوت) ستراتيغي. باراميترز: أدسترينغالترناتيف (كوتتبتريندماميثودكوت، كوتلوماكوت، كوتكوت، كوتلوماكوت) ستراتيجيك. بارامترز: أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتسينوماكوت، كوتكوت، كوتسينويماكوت) : أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتريماكوت، كوتكوت، كوتريماكوت) ستراتيغي. بارامترز: أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتلزماكوت، كوتكوت، كوتلسماكوت). باراميترز: أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتسماكوت، كوتكوت ، quotSMMAquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotHMAquot، quotquot، quotHMAquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotZeroLagEMAquot، quotquot، quotZeroLagEMAquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotDEMAquot، quotquot، quotDEMAquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotT3quot، quotquot، quotT3quot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotITrendquot، quotquot، quotITrendquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotMedianquot، quotquot، quotMedianquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotGeoMeanquot، quotquot، quotGeoMeanquot ).البارامترات: أدسترينغالترناتيف (كوتتبتريندماميثودكوت، كوتيماكوت، كوت كوت، كوتيماكوت). باراميترز: أدسترينغالرناتيف (كوتتبتريندماميثودكوت، كوتيلرسكوت، كوتكوت، كوتيلرسكوت) : addStringAlternative (quotBTFTrendMAMethodquot، quotIE2quot، quotquot، quotIE2quot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotTriMAgenquot، quotquot، quotTriMAgenquot) strategy. parameters: addStringAlternative (quotBTFTrendMAMethodquot، quotJSmoothquot، quotquot، quotJSmoothquot) strategy. parameters: addString (quotBTFTypequot، quotBTFPrice Typequot، المواصفات: أدسترينغالترناتيف (كوتتبتيبيكوت، كوتلوكوت، كوتكوت، كوتلكوت) استراتيجية. باراميترز: أدسترينغالترناتيف (كوتتبتيبيوت، كوتهيوت، كوتكوت، كوتهوت) استراتيجية. بارامترز: أدسترينغالرناتيف (كوتتبتيبيوت، كوتلوكوت، كوتكوت، كوتلكوت) أدسترينغالرناتيف (كوتتبتيبيكوت، كوتكلوسيكوت، كوتكوت، كوتكوت) ستراتيغي. البارامترات: أدسترينجالترناتيف (كوتتبتيبيكوت، كوتيميانكوت، كوتكوت، كوتكوموت). باراميترز: أدسترينجالترناتيف (كوتتبتيبيكوت، كوتيبيكالكوت، كوتكوت، كوتكوت) e. (كوتتبتيبيكوت، كوويتدكوت، كوتكوت، كوتوكوت). بارامترز: أدينتيجر (كوتتبتريندمابيريودكوت، كوتكتريندمابيريودكوت، كوتكوت، 200). فلاجبيريودس) استراتيجيا. البارامترات: أدغروب (كوتستراتيغي الإطار الزمني ما بارامتركوت) ستراتيجيك. بارامترز: أدبولين (كوتستراتيميمافلاغوت، كوتستراتيغي تريند أونكوت، كوتكوت، ترو) ستراتيجيك. بارامترز: أدسترينغ (كوترندماميثودكوت، كوترنداميثودكوت، كوتكوت، كوتفاكوت) ستراتيجيك. بارامترز: أدسترينغالترناتيف (كوترنداماميثودكوت، كوتفاكوت، كوتكوت، كوتفاكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتيماكوت، كوتوت، كوتيماكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتويلدركوت، كوتكوت، كوتويلدركوت). باراميترز: أدسترينغالرناتيف (كوتيرنداميثودكوت، كوتلوماكوت، كوتكوت، كوتلوماكوت ) متر: addStringAlternative (quotTrendMAMethodquot، quotSineWMAquot، quotquot، quotSineWMAquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotTriMAquot، quotquot، quotTriMAquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotLSMAquot، quotquot، quotLSMAquot) strategy. parameters: addStringAlternative (quotTrendMAMethodquot، quotSMMAquot، (كوتروتاماميثودكوت، كوتيماكوت، كوتكوت، كوديماكوت). باراميترز: أدسترينغالترناتيف (كوترندماميثودكوت، كوزيرولاجيماكوت، كوتكوت، كوتزيرولاجيماكوت). باراميترز: أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتيماكوت، كوتوت، كوتيماكوت) أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتاتيونوت، كوتكوت، كوتاتيوت). باراميترز: أدسترينغالترناتيف (كوترندماميثودكوت، كيترندكوت، كوتكوت، كيترندكوت). باراميترز: أدسترينغالترناتيف (كوتيرندماميثودكوت، كومديانكو t، كوتكوت، كومديانكوت). باراميترز: أدسترينغالترناتيف (كوترندماميثودكوت، كوتجيومانكوت، كوتكوت، كوتجيومانكوت). باراميترز: أدسترينغالرناتيف (كوتيرنداماميثودكوت، كوتيماكوت، كوتكوت، كوتيماكوت). باراميترز: أدسترينغالترناتيف (كوتيرنداماميثودكوت، كوتيلرسكوت، كوتوت، كوتيلرسكوت). المعلمات: أدسترينغالرناتيف (كوترندماميثودكوت، كوجسموثكوت، كوتكوت، كوجسموثكوت) ستراتيغي. باراميترز: أدسترينغ (كوتيبكوت، كوتريس تايبكوت، كوتيركتميثودكوت، كوتريماغينكوت، كوتكوت، كوتريماجنكوت) ، كوتكوت، كوتكوت) ستراتيغي. باراميترز: أدسترينغالترناتيف (كوتيبكوت، كوتينكوت، كوت كوت، كوتوكوت). باراميترز: أدسترينغالرناتيف (كوتيبكوت، كوهيكوت، كوتكوت، كوهكوت) ستراتيغي. البارامترات: أدسترينجالرناتيف (كوتيبكوت، كوتلوكوت، كوتكوت ، كوتلكوت) ستراتيغي. باراميترز: أدسترينغالرناتيف (كوتيبكوت، كوتيبيكالكوت، كوتكوت، كوتكوت). باراميترز: أدسترينغالترناتيف (كوتيبكوت، كوتيميانوت، كوتكوت، كوتكوت) (كوتيبوت، كوتيدكوت، كوت كوت، كوتوكوت). بارامترز: أدينتيجر (كوتسكوت، كوت أوفيردولد ليفيلكوت، كوتكوت، -100) ستراتيغي. بارامترز: أدينتيجر (كوتوبوت، كوتوفيربوت كونفيرماتيون ليفلكوت، كوتكوت، 150) ستراتيجيك. باراميترز: أدينتيجر (كوتسكوت، كوت أوفيرسولد كونفيرماتيون ليفلكوت، كوتكوت، -150) - برايس معلمات الاشتراك (محاولة أو سعر الطلب، الإطار الزمني). بارامترز: أدغروب (كوتوبريسيكوت) استراتيجية. المعلمات: أدسترينغ (كوتكوت، كوتاسكوت، كوتكوت، كوتاسكوت) - المتغيرات العالمية بار نيل المحلي - بارتيتر: أدسترينغالرناتيف (كوتكوت، كوتاسكوت، كوتكوت، كوتاسكوت) - تاريخ السعر الذي اشتركنا في المحلية الأولى - مؤشر أقدم فترة حيث يمكننا التحقق ما إذا كان قد تم تجاوز المتوسطات المتحركة أوب المحلية، أوس، أوبك، أوسك المحلي تسي المحلي الأعلى، أسفل غبتسورس المحلي - تيارات المحلية بتفريندماميثود المحلي بتفريندمابيريود المحلية بتفريندما المحلي غسورس - تيارات المحلية تريندماميثود المحلية تريندمابيريود المحلية تريندما المحلية المحلية ما يصل نيل المحلية دونارو نيل المحلية مينتفيد 1 المحلية بتفيد 2 المحلية BTFP1 المحلية بتفتيب المحلية سوندفيل لا شيء المحلي ريكورنسوند المحلية كاذبة ألويدزيد المحلية S - إعداد المحلية T - الزناد كت المحلية - - أكد الزناد لوكباك المحلية المحلية شاليرت المحلية البريد الإلكتروني المحلي سيندمايل المحلية وظيفة باسيزي إعداد () - إعداد كل د آتا. - تسمى الوظيفة مرة واحدة عندما تكون الاستراتيجية على وشك أن تبدأ. - التحقق من المتوسط ​​المتحرك المعلمات OBinstance. parameters. OB أوس example. parameters. OS أوبك example. parameters. OBC أوسك example. parameters. OSC تسيب example. parameters. CCIP Sinstance. parameters. S Tinstance. parameters. T CTinstance. parameters. CT --downArrow instance:createTextOutput (quotUpquot, quotUpquot, quotWingdings 3quot, 20, core. HCenter, core. VTop, instance. parameters. Bottom, 0) --upArrow instance:createTextOutput (quotDownquot, quotDownquot, quotWingdings 3quot, 20, core. HCenter, core. VBottom, instance. parameters. Top, 0) quott1quot, quotThe strategy cannot be applied on ticks. quot) -- name the indicator local name profile:id(). quot, quot. instance. bid:name(). quot, cciquot. CCIP. quot, quot. instance. parameters. TF. quot, quot. ALLOWEDSIDE. quot quot instance:name(name) -- setup the signal. pay attention, we pass quotShowAlertquot (value initially taken from the instance. parameters. ShowAlert) -- here, so, we dont check whether alerts are requested anymore. -- and finally subscribe for the ticks of the instrument the user initially chosen to run the strategy for to -- have our strategy activated once. BAR ExtSubscribe(1, nil, instance. parameters. TF, true, quotbarquot) -- create indicators CCI core. indicators:create(quotCCIquot, BAR, CCIP) BTFTrendMAMethodinstance. parameters. BTFTrendMAMethod BTFTrendMAPeriodinstance. parameters. BTFTrendMAPeriod BTFTypeinstance. parameters. BTFType TrendMAMethodinstance. parameters. TrendMAMethod TrendMAPeriodinstance. parameters. TrendMAPeriod Typeinstance. parameters. Type gSource ExtSubscribe(MAINTFID, nil, instance. parameters. TF, instance. parameters. Type quotBidquot, quotbarquot) gBTFSource ExtSubscribe(BTFID, nil, instance. parameters. BTF, instance. parameters. BTFType quotBidquot, quotbarquot) if BTFType quotOquot then BTFP1 gBTFSource. open elseif BTFType quotHquot then BTFP1 gBTFSource. high elseif BTFType quotLquot then BTFP1 gBTFSource. low elseif BTFType quotMquot then BTFP1 gBTFSource. median elseif BTFType quotTquot then BTFP1 gBTFSource. typical elseif BTFType quotWquot then BTFP1 gBTFSource. weighted else BTFP1 gBTFSource. close end if Type quotOquot then P1 gSource. open elseif Type quotHquot then P1 gSource. high elseif Type quotLquot then P1 gSource. low elseif Type quotMquot then P1 gSource. median elseif Type quotTquot then P1 gSource. typical elseif Type quotWquot then P1 gSource. weighted else P1 gSource. close end BTFTrendMA core. indicators:create(quotAVERAGESquot, BTFP1, BTFTrendMAMethod, BTFTrendMAPeriod, false) TrendMA core. indicators:create(quotAVERAGESquot, P1, TrendMAMethod, TrendMAPeriod, false) -- and get the oldest index of the bar we can work at first math. max(CCI. DATA:first(), TrendMA. DATA:first(), BTFTrendMA. DATA:first()) end -- the function is called every time when any subscribed price is changed. For tick subscribtions the function is called -- for every tick, for the bar subscribtions the function is called when the candle is closed (in other words, when -- the first tick of the next candle appears). function ExtUpdate(id, source, period) if id 1 then -- on the user chosen subscription (can be either tick or bar subscribtion). -- update indicators CCI:update(core. UpdateLast) TrendMA:update(core. UpdateLast) -- if we have enough bars in the history to work if id MAINTFID and gBTFSource:size() gt 0 then TrendMA:update(core. UpdateLast) local btfPeriod core. findDate(gBTFSource, gSource:date(period), true) -- if we have enough bars in the history to work Signal (quotTP0 - START: btfPeriod(quot. tostring(btfPeriod). quot) gt first(quot. tostring(first). quot) 1quot ) if btfPeriod gt first 1 then Signal (quotTP0a - quot. quotbtfPeriod gt first 1quot) -- This bit added for signalling only if BTFMAFlag then if gBTFSource. close91period93 lt BTFTrendMA. DATA91period93 then Signal (quotTP1 - BTFtrend Downquot) BTFtrendDir quotDownquot elseif gBTFSource. close91period93 lt BTFTrendMA. DATA91period93 then Signal (quotTP2 - BTFtrend Upquot) BTFtrendDir quotUpquot end else BTFdir quotOffquot Signal (quotTP3 - BTFtrend Offquot) end if MAFlag then if gSource. close91period93 lt TrendMA. DATA91period93 then Signal (quotTP4 - trend Downquot) trendDdir quotDownquot elseif gBTFSource. close91period93 lt BTFTrendMA. DATA91period93 then Signal (quotTP5 - trend Upquot) trendDdir quotUpquot end else trendDdir quotOffquot Signal (quotTP6 - trend Offquot) end if S and core. crossesOver(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then Signal ( quotSell Setup: Crossing above OverBoughtquot) elseif S and core. crossesUnder(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then Signal (quotBuy Setup: Crossing Below OverSoldquot) end if T and core. crossesOver(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWE DSIDE quotUpquot) then Signal (quotBuy Trigger: Crossing above OverSoldquot) elseif T and core. crossesUnder(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then Signal (quotSell Trigger: Confirmed Crossing below OverBoughtquot) end if core. crossesOver(CCI. DATA, OBC, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then TOP true end if core. crossesUnder(CCI. DATA, OSC, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then BOTTOM true end if CT and core. crossesOver(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and BOTTOM and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then BOTTOM false Signal (quotBuy Trigger: Confirmed Crossing above OverSoldquot) elseif CT and core. crossesUnder(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and TOP and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then TOP false Signal (quotSell Trigger: Confirmed Crossing below OverBoughtquot) end -- end of confirmation trigger signalling end end end end -- eof function ExtUpdate function Initialization() AllowMultiple instance. parameters. AllowMultiple ALLOWEDSIDE instance. parameters. ALLOWEDSIDE --local S instance. parameters. S --local T instance. parameters. T --local CT instance. parameters. CT local PlaySound instance. parameters. PlaySound if PlaySound then SoundFile instance. parameters. SoundFile else SoundFile nil end assert(not(PlaySound) or (PlaySound and SoundFile quotquot), quotSound file must be chosenquot) ShowAlert instance. parameters. ShowAlert RecurrentSound instance. parameters. RecurrentSound SendEmail instance. parameters. SendEmail if SendEmail then Email instance. parameters. Email else Email nil end assert(not(SendEmail) or (SendEmail and Email quotquot), quotE-mail address must be specifiedquot) end function Signal (Label) if ShowAlert then terminal:alertMessage(instance. bid:instrument(), instance. bid91NOW93, Label, instance. bid:date(NOW)) end nil then terminal:alertSound(SoundFile, RecurrentSound) end nil then terminal:alertEmail(Email, Label, profile:id(). quot(quot. instance. bid:instrument(). quot)quot. instance. bid91NOW93..quot, quot. Label..quot, quot. instance. bid:date(NOW)) end end You have sent id into subscribe: BAR ExtSubscribe(1. ) When update is called with id 1, the period is valid for the BAR source only. gBTFSource has different timeframe and the period with id 1 is not valid to it. You should use converted period (btfPeriod) to access gBTFSourceBTFTrendMA values. Code: Select all gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 instead of Code: Select all gBTFSource. close91period93 lt BTFTrendMA. DATA91period93 first value should be quotsplittedquot into two: Code: Select all first math. max(CCI. DATA:first(), TrendMA. DATA:first()) btfFirst BTFTrendMA. DATA:first() . if period gt first then . -- and if btfPeriod gt btfFirst then And Ive made a misprint over here: Code: Select all --local btfPeriod core. findDate(gBTFSource, BAR:date(period), true) local btfPeriod core. findDate(gBTFSource, BAR:date(period), false) Corrected code: Code: Select all -- Intoduce the strategy to the host application (for example, Marketscope). -- The function is called once when the host application initially loads the strategy. function Init() strategy:name(quotLonNY02Signalquot) strategy:description(quotLonNY02 Signalling Strategyquot) -- Fast and slow moving average parameters strategy. parameters:addGroup(quotMain Controlsquot) strategy. parameters:addString(quotTFquot, quotStrategy Time Framequot, quotquot, quotm5quot) strategy. parameters:setFlag(quotTFquot, core. FLAGPERIODS) strategy. parameters:addString(quotALLOWEDSIDEquot, quotAllowed sidequot, quotAllowed side for trading or signaling, can be Sell, Buy or Bothquot, quotBothquot) strategy. parameters:addStringAlternative(quotALLOWEDSIDEquot, quotBothquot, quotquot, quotBothquot) strategy. parameters:addStringAlternative(quotALLOWEDSIDEquot, quotUpquot, quotquot, quotUpquot) strategy. parameters:addStringAlternative(quotALLOWEDSIDEquot, quotDnquot, quotquot, quotDnquot) strategy. parameters:addBoolean(quotSquot, quotSetup Alertquot, quotquot, true) strategy. parameters:addBoolean(quotTquot, quotTrigger Alertquot, quotquot, true) strategy. parameters:addBoolean( quotCTquot, quotConfirmed Trigger Alertquot, quotquot, false) strategy. parameters:addGroup(quotAlertsquot) strategy. parameters:addBoolean(quotShowAlertquot, quotShowAlertquot, quotquot, true) strategy. parameters:addBoolean(quotPlaySoundquot, quotPlay Soundquot, quotquot, true) strategy. parameters:addFile(quotSoundFilequot, quotSound Filequot, quotquot, quotquot) strategy. parameters:setFlag(quotSoundFilequot, core. FLAGSOUND) strategy. parameters:addBoolean(quotRecurrentSoundquot, quotRecurrent Soundquot, quotquot, true) strategy. parameters:addBoolean(quotSendEmailquot, quotSend Emailquot, quotquot, false) strategy. parameters:addString(quotEmailquot, quotEmailquot, quotquot, quotquot) strategy. parameters:setFlag(quotEmailquot, core. FLAGEMAIL) strategy. parameters:addGroup(quotCCI Parameterquot) strategy. parameters:addInteger(quotCCIPquot, quotCCI periodquot, quotquot, 20, 2, 200) strategy. parameters:addGroup(quotBigger Time Frame MA Parameterquot) strategy. parameters:addBoolean(quotBTFMAFl agquot, quotBigger Time Frame MA Trend onquot, quotquot, true) strategy. parameters:addString(quotBTFTrendMAMethodquot, quotBTFTrendMAMethodquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotMVAquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotEMAquot, quotquot, quotEMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotWilderquot, quotquot, quotWilderquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotLWMAquot, quotquot, quotLWMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotSineWMAquot, quotquot, quotSineWMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotTriMAquot, quotquot, quotTriMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotLSMAquot, quotquot, quotLSMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotSMMAquot, quotquot , quotSMMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotHMAquot, quotquot, quotHMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotZeroLagEMAquot, quotquot, quotZeroLagEMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotDEMAquot, quotquot, quotDEMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotT3quot, quotquot, quotT3quot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotITrendquot, quotquot, quotITrendquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotMedianquot, quotquot, quotMedianquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotGeoMeanquot, quotquot, quotGeoMeanquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotREMAquot, quotquot, quotREMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotILRSquot, quotquot, quotILRSquot) strategy. parameters :addStringAlternative(quotBTFTrendMAMethodquot, quotIE2quot, quotquot, quotIE2quot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotTriMAgenquot, quotquot, quotTriMAgenquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotJSmoothquot, quotquot, quotJSmoothquot) strategy. parameters:addString(quotBTFTypequot, quotBTFPrice Typequot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotOPENquot, quotquot, quotOquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotHIGHquot, quotquot, quotHquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotLOWquot, quotquot, quotLquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotCLOSEquot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotMEDIANquot, quotquot, quotMquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotTYPICALquot, quotquot, quotTquot) strategy. parameters:addStringAlternativ e(quotBTFTypequot, quotWEIGHTEDquot, quotquot, quotWquot) strategy. parameters:addInteger(quotBTFTrendMAPeriodquot, quotBTFTrendMAPeriodquot, quotquot, 200) strategy. parameters:addString(quotBTFquot, quotBigger Time Framequot, quotquot, quotm30quot) strategy. parameters:setFlag(quotBTFquot, core. FLAGPERIODS) strategy. parameters:addGroup(quotStrategy Time Frame MA Parameterquot) strategy. parameters:addBoolean(quotStrategyMAFlagquot, quotStrategy MA Trend onquot, quotquot, true) strategy. parameters:addString(quotTrendMAMethodquot, quotTrendMAMethodquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotMVAquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotEMAquot, quotquot, quotEMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotWilderquot, quotquot, quotWilderquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotLWMAquot, quotquot, quotLWMAquot) strategy. para meters:addStringAlternative(quotTrendMAMethodquot, quotSineWMAquot, quotquot, quotSineWMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotTriMAquot, quotquot, quotTriMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotLSMAquot, quotquot, quotLSMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotSMMAquot, quotquot, quotSMMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotHMAquot, quotquot, quotHMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotZeroLagEMAquot, quotquot, quotZeroLagEMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotDEMAquot, quotquot, quotDEMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotT3quot, quotquot, quotT3quot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotITrendquot, quotquot, quotITrendquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotMedianquo t, quotquot, quotMedianquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotGeoMeanquot, quotquot, quotGeoMeanquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotREMAquot, quotquot, quotREMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotILRSquot, quotquot, quotILRSquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotIE2quot, quotquot, quotIE2quot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotTriMAgenquot, quotquot, quotTriMAgenquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotJSmoothquot, quotquot, quotJSmoothquot) strategy. parameters:addString(quotTypequot, quotPrice Typequot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotTypequot, quotOPENquot, quotquot, quotOquot) strategy. parameters:addStringAlternative(quotTypequot, quotHIGHquot, quotquot, quotHquot) strategy. parameters:addStringAlternative(quotTypequot, quotLOWquot, quotquot , quotLquot) strategy. parameters:addStringAlternative(quotTypequot, quotCLOSEquot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotTypequot, quotMEDIANquot, quotquot, quotMquot) strategy. parameters:addStringAlternative(quotTypequot, quotTYPICALquot, quotquot, quotTquot) strategy. parameters:addStringAlternative(quotTypequot, quotWEIGHTEDquot, quotquot, quotWquot) strategy. parameters:addInteger(quotTrendMAPeriodquot, quotTrendMAPeriodquot, quotquot, 200) strategy. parameters:addGroup(quotLevelsquot) strategy. parameters:addInteger(quotOBquot, quotOverbought Levelquot, quotquot, 100) strategy. parameters:addInteger(quotOSquot, quot Oversold Levelquot, quotquot, -100) strategy. parameters:addInteger(quotOBCquot, quotOverbought Confirmation Levelquot, quotquot, 150) strategy. parameters:addInteger(quotOSCquot, quot Oversold Confirmation Levelquot, quotquot, -150) -- Price subscription parameters (bid or ask price, time frame) strategy. parameters:addGroup(quotPricequot) strategy. parameters:addString(quotPTquot, quotPrice Typequot, quotquot, quotBidquot) strategy. parameters:addStringAlternative(quotPTquot, quotBidquot, quotquot, quotBidquot) strategy. parameters:addStringAlternative(quotPTquot, quotAskquot, quotquot, quotAskquot) -- The global variables local BAR nil -- the price history we subscribed for local first -- the index of the oldest period where we can check whether moving averages has been crossed local btfFirst local OB, OS, OBC, OSC local CCI local Top, Bottom local gBTFSource -- streams local BTFTrendMAMethod local BTFTrendMAPeriod local BTFTrendMA local TrendMAMethod local TrendMAPeriod local TrendMA local upArrow nil local downArrow nil local STRATTFID 1 local BTFID 2 local BTFP1 local BTFType local SoundFile nil local RecurrentSound false local ALLOWEDSIDE local S -- Setup local T -- Trigger local CT -- Confirmed Trigger local lookBack local ShowAlert local Email local SendEmail local BaseSize function Prepare() -- Prepare all the data. -- The function is called once when the strategy is about to be started. -- check moving average parameters OBinstance. parameters. OB OS instance. parameters. OS OBC instance. parameters. OBC OSC instance. parameters. OSC CCIP instance. parameters. CCIP Sinstance. parameters. S Tinstance. parameters. T CTinstance. parameters. CT --downArrow instance:createTextOutput (quotUpquot, quotUpquot, quotWingdings 3quot, 20, core. HCenter, core. VTop, instance. parameters. Bottom, 0) --upArrow instance:createTextOutput (quotDownquot, quotDownquot, quotWingdings 3quot, 20, core. HCenter, core. VBottom, instance. parameters. Top, 0) quott1quot, quotThe strategy cannot be applied on ticks. quot) -- name the indicator local name profile:id(). quot, quot. instance. bid:name(). quot, cciquot. CCIP. quot, quot. instance. parameters. TF. quot, quot. ALLOWEDSIDE. quot quot instance:name(name) -- setup the signal. pay attention, we pass quotShowAlertquot (value initially taken from the instance. parameters. ShowAlert) -- here, so, we dont check whether alerts are requested anymore. -- and finally subscribe for the ticks of the instrument the user initially chosen to run the strategy for to -- have our strategy activated once. BAR ExtSubscribe(STRATTFID, nil, instance. parameters. TF, true, quotbarquot) -- create indicators CCI core. indicators:create(quotCCIquot, BAR, CCIP) BTFTrendMAMethodinstance. parameters. BTFTrendMAMethod BTFTrendMAPeriodinstance. parameters. BTFTrendMAPeriod BTFTypeinstance. parameters. BTFType TrendMAMethodinstance. parameters. TrendMAMethod TrendMAPeriodinstance. parameters. TrendMAPeriod Typeinstance. parameters. Type gBTFSource ExtSubscribe(BTFID, nil, instance. parameters. BTF, instance. parameters. BTFType quotBidquot, quotbarquot) if BTFType quotOquot then BTFP1 gBTFSource. open elseif BTFType quotHquot then BTFP1 gBTFSource. high elseif BTFType quotLquot then BTFP1 gBTFSource. low elseif BTFType quotMquot then BTFP1 gBTFSource. median elseif BTFType quotTquot then BTFP1 gBTFSource. typical elseif BTFType quotWquot then BTFP1 gBTFSource. weighted else BTFP1 gBTFSource. close end if Type quotOquot then P1 BAR. open elseif Type quotHquot then P1 BAR. high elseif Type quotLquot then P1 BAR. low elseif Type quotMquot then P1 BAR. median elseif Type quotTquot then P1 BAR. typical elseif Type quotWquot then P1 BAR. weighted else P1 BAR. close end BTFTrendMA core. indicators:create(quotAVERAGESquot, BTFP1, BTFTrendMAMethod, BTFTrendMAPeriod, false) TrendMA core. indicators:create(quotAVERAGESquot, P1, TrendMAMethod, TrendMAPeriod, false) -- and get the oldest index of the bar we can work at first math. max(CCI. DATA:first(), TrendMA. DATA:first()) btfFirst BTFTrendMA. DATA:first() end -- the function is called every time when any subscribed price is changed. For tick subscribtions the function is called -- for every tick, for the bar subscribtions the function is called when the candle is closed (in other words, when -- the first tick of the next candle appears). function ExtUpdate(id, source, period) if id STRATTFID and period gt first then -- on the user chosen subscription (can be either tick or bar subscribtion). -- update indicators CCI:update(core. UpdateLast) TrendMA:update(core. UpdateLast) -- if we have enough bars in the history to work if gBTFSource:size() gt 0 then local btfPeriod core. findDate(gBTFSource, BAR:date(period), false) -- if we have enough bars in the history to work Signal (quotTP0 - START: btfPeriod(quot. tostring(btfPeriod). quot) gt first(quot. tostring(first). quot)quot ) if btfPeriod gt btfFirst then Signal (quotTP0a - quot. quotbtfPeriod gt btfFirstquot) -- This bit added for signalling only if BTFMAFlag then if gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 then Signal (quotTP1 - BTFtrend Downquot) BTFtrendDir quotDownquot elseif gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 then Signal (quotTP2 - BTFtrend Upquot) BTFtrendDir quotUpquot end else BTFdir quotOffquot Signal (quotTP3 - BTFtrend Offquot) end if MAFlag then if BAR. close91period93 lt TrendMA. DATA91period93 then Signal (quotTP4 - trend Downquot) trendDdir quotDownquot el seif gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 then Signal (quotTP5 - trend Upquot) trendDdir quotUpquot end else trendDdir quotOffquot Signal (quotTP6 - trend Offquot) end if S and core. crossesOver(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then Signal ( quotSell Setup: Crossing above OverBoughtquot) elseif S and core. crossesUnder(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then Signal (quotBuy Setup: Crossing Below OverSoldquot) end if T and core. crossesOver(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then Signal (quotBuy Trigger: Crossing above OverSoldquot) elseif T and core. crossesUnder(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then Signal (quotSell Trigger: Confirmed Crossing below OverBoughtquot) end if core. crossesOver(CCI. DATA, OBC, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then TOP true end if core. crossesUnder(CCI. DATA, OSC, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then BOTTOM true end if CT and core. crossesOver(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and BOTTOM and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then BOTTOM false Signal (quotBuy Trigger: Confirmed Crossing above OverSoldquot) elseif CT and core. crossesUnder(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and TOP and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then TOP false Signal (quotSell Trigger: Confirmed Crossing below OverBoughtquot) end -- end of confirmation trigger signalling end end end end -- eof function ExtUpdate function Initialization() AllowMultiple instance. parameters. AllowMultiple ALLOWEDSIDE instance. parameters. ALLOWEDSIDE --local S instance. parameters. S --local T instance. parameters. T --local CT instance. parameters. CT local PlaySound instance. parameters. PlaySound if PlaySound then SoundFile instance. parameters. SoundFile else SoundFile nil end assert(not(PlaySound) or (PlaySound and SoundFile quotquot), quotSound file must be chosenquot) ShowAlert instance. parameters. ShowAlert RecurrentSound instance. parameters. RecurrentSound SendEmail instance. parameters. SendEmail if SendEmail then Email instance. parameters. Email else Email nil end assert(not(SendEmail) or (SendEmail and Email quotquot), quotE-mail address must be specifiedquot) end function Signal (Label) if ShowAlert then terminal:alertMessage(instance. bid:instrument(), instance. bid91NOW93, Label, instance. bid:date(NOW)) end nil then terminal:alertSound(SoundFile, RecurrentSound) end nil then terminal:alertEmail(Email, Label, profile:id(). quot(quot. instance. bid:instrument(). quot)quot. instance. bid91NOW93..quot, quot. Label..quot, quot. instance. bid:date(NOW)) end end There are only three sports: bullfighting, motor racing, and mountaineering all the rest are merely games. (c) Ernest Hemingway Hi Victor, Ive been correcting some of my typose too. This is getting really close now but problems still persist, this is now with line 295 as follows if gBTFSource. closebtfPeriod lt BTFTrendMA. DATAbtfPeriod then. the error is quotindex out of rangequot the values are as follows:- gBTFSource. close299 (1.44306) lt BTFTrendMA. DATA299 ( ) (btfFirst 199) I separated the two sides out into 2 lines as follows:- -- This works ok local y gBTFSource. closebtfPeriod -- this one gives ERROR INDEX OUT OF RANGE (does this line look right to you) local x BTFTrendMA. DATAbtfPeriod BTFTrendMA is created as follows: BTFTrendMA core. indicators:create(quotAVERAGESquot, BTFP1, BTFTrendMAMethod, BTFTrendMAPeriod, false) Is there something wrong with this line if not Im Now out of ideas to track this further Full code here Code: Select all -- Intoduce the strategy to the host application (for example, Marketscope). -- The function is called once when the host application initially loads the strategy. function Init() strategy:name(quotLonNYBTFsignalquot) strategy:description(quotLonNY Bigger Time Frame Signalling Strategyquot) -- Fast and slow moving average parameters strategy. parameters:addGroup(quotMain Controlsquot) strategy. parameters:addString(quotTFquot, quotStrategy Time Framequot, quotquot, quotm5quot) strategy. parameters:setFlag(quotTFquot, core. FLAGPERIODS) strategy. parameters:addString(quotALLOWEDSIDEquot, quotAllowed sidequot, quotAllowed side for trading or signaling, can be Sell, Buy or Bothquot, quotBothquot) strategy. parameters:addStringAlternative(quotALLOWEDSIDEquot, quotBothquot, quotquot, quotBothquot) strategy. parameters:addStringAlternative(quotALLOWEDSIDEquot, quotUpquot, quotquot, quotUpquot) strategy. parameters:addStringAlternative(quotALLOWEDSIDEquot, quotDnquot, quotquot, quotDnquot) strategy. parameters:addBoolean(quotSquot, quotSetup Alertquot, quotquot, false) strategy. parameters:addBoolean(quotTquot, quotTrigger Alertquot, quotquot, true) strategy. param eters:addBoolean(quotCTquot, quotConfirmed Trigger Alertquot, quotquot, false) strategy. parameters:addGroup(quotAlertsquot) strategy. parameters:addBoolean(quotShowAlertquot, quotShowAlertquot, quotquot, true) strategy. parameters:addBoolean(quotPlaySoundquot, quotPlay Soundquot, quotquot, true) strategy. parameters:addFile(quotSoundFilequot, quotSound Filequot, quotquot, quotquot) strategy. parameters:setFlag(quotSoundFilequot, core. FLAGSOUND) strategy. parameters:addBoolean(quotRecurrentSoundquot, quotRecurrent Soundquot, quotquot, true) strategy. parameters:addBoolean(quotSendEmailquot, quotSend Emailquot, quotquot, false) strategy. parameters:addString(quotEmailquot, quotEmailquot, quotquot, quotquot) strategy. parameters:setFlag(quotEmailquot, core. FLAGEMAIL) strategy. parameters:addGroup(quotCCI Parameterquot) strategy. parameters:addInteger(quotCCIPquot, quotCCI periodquot, quotquot, 20, 2, 200) strategy. parameters:addGroup(quotBigger Time Frame MA Parameterquot) strategy. parameters:addBo olean(quotBTFMAFlagquot, quotBigger Time Frame MA Trend onquot, quotquot, true) strategy. parameters:addString(quotBTFTrendMAMethodquot, quotBTFTrendMAMethodquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotMVAquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotEMAquot, quotquot, quotEMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotWilderquot, quotquot, quotWilderquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotLWMAquot, quotquot, quotLWMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotSineWMAquot, quotquot, quotSineWMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotTriMAquot, quotquot, quotTriMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotLSMAquot, quotquot, quotLSMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotS MMAquot, quotquot, quotSMMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotHMAquot, quotquot, quotHMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotZeroLagEMAquot, quotquot, quotZeroLagEMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotDEMAquot, quotquot, quotDEMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotT3quot, quotquot, quotT3quot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotITrendquot, quotquot, quotITrendquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotMedianquot, quotquot, quotMedianquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotGeoMeanquot, quotquot, quotGeoMeanquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotREMAquot, quotquot, quotREMAquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotILRSquot, quotquot, quotILRSquot) st rategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotIE2quot, quotquot, quotIE2quot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotTriMAgenquot, quotquot, quotTriMAgenquot) strategy. parameters:addStringAlternative(quotBTFTrendMAMethodquot, quotJSmoothquot, quotquot, quotJSmoothquot) strategy. parameters:addString(quotBTFTypequot, quotBTFPrice Typequot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotOPENquot, quotquot, quotOquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotHIGHquot, quotquot, quotHquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotLOWquot, quotquot, quotLquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotCLOSEquot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotMEDIANquot, quotquot, quotMquot) strategy. parameters:addStringAlternative(quotBTFTypequot, quotTYPICALquot, quotquot, quotTquot) strategy. parameters:ad dStringAlternative(quotBTFTypequot, quotWEIGHTEDquot, quotquot, quotWquot) strategy. parameters:addInteger(quotBTFTrendMAPeriodquot, quotBTFTrendMAPeriodquot, quotquot, 200) strategy. parameters:addString(quotBTFquot, quotBigger Time Framequot, quotquot, quotm30quot) strategy. parameters:setFlag(quotBTFquot, core. FLAGPERIODS) strategy. parameters:addGroup(quotStrategy Time Frame MA Parameterquot) strategy. parameters:addBoolean(quotStrategyMAFlagquot, quotStrategy MA Trend onquot, quotquot, true) strategy. parameters:addString(quotTrendMAMethodquot, quotTrendMAMethodquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotMVAquot, quotquot, quotMVAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotEMAquot, quotquot, quotEMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotWilderquot, quotquot, quotWilderquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotLWMAquot, quotquot, quotLWMAqu ot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotSineWMAquot, quotquot, quotSineWMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotTriMAquot, quotquot, quotTriMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotLSMAquot, quotquot, quotLSMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotSMMAquot, quotquot, quotSMMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotHMAquot, quotquot, quotHMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotZeroLagEMAquot, quotquot, quotZeroLagEMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotDEMAquot, quotquot, quotDEMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotT3quot, quotquot, quotT3quot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotITrendquot, quotquot, quotITrendquot) strategy. parameters:addStringAlternative(quotTrendMAMethodqu ot, quotMedianquot, quotquot, quotMedianquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotGeoMeanquot, quotquot, quotGeoMeanquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotREMAquot, quotquot, quotREMAquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotILRSquot, quotquot, quotILRSquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotIE2quot, quotquot, quotIE2quot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotTriMAgenquot, quotquot, quotTriMAgenquot) strategy. parameters:addStringAlternative(quotTrendMAMethodquot, quotJSmoothquot, quotquot, quotJSmoothquot) strategy. parameters:addString(quotTypequot, quotPrice Typequot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotTypequot, quotOPENquot, quotquot, quotOquot) strategy. parameters:addStringAlternative(quotTypequot, quotHIGHquot, quotquot, quotHquot) strategy. parameters:addStringAlternative(quotTypequot, quot LOWquot, quotquot, quotLquot) strategy. parameters:addStringAlternative(quotTypequot, quotCLOSEquot, quotquot, quotCquot) strategy. parameters:addStringAlternative(quotTypequot, quotMEDIANquot, quotquot, quotMquot) strategy. parameters:addStringAlternative(quotTypequot, quotTYPICALquot, quotquot, quotTquot) strategy. parameters:addStringAlternative(quotTypequot, quotWEIGHTEDquot, quotquot, quotWquot) strategy. parameters:addInteger(quotTrendMAPeriodquot, quotTrendMAPeriodquot, quotquot, 200) strategy. parameters:addGroup(quotLevelsquot) strategy. parameters:addInteger(quotOBquot, quotOverbought Levelquot, quotquot, 100) strategy. parameters:addInteger(quotOSquot, quot Oversold Levelquot, quotquot, -100) strategy. parameters:addInteger(quotOBCquot, quotOverbought Confirmation Levelquot, quotquot, 150) strategy. parameters:addInteger(quotOSCquot, quot Oversold Confirmation Levelquot, quotquot, -150) -- Price subscription parameters (bid or ask price, time frame) strategy. parameters:addGroup(quotPri cequot) strategy. parameters:addString(quotPTquot, quotPrice Typequot, quotquot, quotBidquot) strategy. parameters:addStringAlternative(quotPTquot, quotBidquot, quotquot, quotBidquot) strategy. parameters:addStringAlternative(quotPTquot, quotAskquot, quotquot, quotAskquot) -- The global variables local BAR nil -- the price history we subscribed for local first -- the index of the oldest period where we can check whether moving averages has been crossed local btfFirst local OB, OS, OBC, OSC local CCI local Top, Bottom local gBTFSource -- streams local BTFTrendMAMethod local BTFTrendMAPeriod local BTFTrendMA local BTFtrendDir local TrendMAMethod local TrendMAPeriod local TrendMA local trendDir local STRATTFID 1 local BTFID 2 local BTFP1 local BTFType local SoundFile nil local RecurrentSound false local ALLOWEDSIDE local S -- Setup local T -- Trigger local CT -- Confirmed Trigger local lookBack local ShowAlert local Email local SendEmail local BaseSize function Prepare() -- Prepare all the البيانات. -- The function is called once when the strategy is about to be started. -- check moving average parameters OBinstance. parameters. OB OS instance. parameters. OS OBC instance. parameters. OBC OSC instance. parameters. OSC CCIP instance. parameters. CCIP Sinstance. parameters. S Tinstance. parameters. T CTinstance. parameters. CT quott1quot, quotThe strategy cannot be applied on ticks. quot) -- name the indicator local name profile:id(). quot, quot. instance. bid:name(). quot, cciquot. CCIP. quot, quot. instance. parameters. TF. quot, quot. ALLOWEDSIDE. quot quot instance:name(name) -- setup the signal. pay attention, we pass quotShowAlertquot (value initially taken from the instance. parameters. ShowAlert) -- here, so, we don-t check whether alerts are requested anymore. -- and finally subscribe for the ticks of the instrument the user initially chosen to run the strategy for to -- have our strategy activated once. BAR ExtSubscribe(STRATTFID, nil, instance. parameters. TF, true, quotbarquot) -- create indicators CCI core. indicators:create(quotCCIquot, BAR, CCIP) BTFTrendMAMethodinstance. parameters. BTFTrendMAMethod BTFTrendMAPeriodinstance. parameters. BTFTrendMAPeriod BTFTypeinstance. parameters. BTFType BTFMAFlag instance. parameters. BTFMAFlag TrendMAMethodinstance. parameters. TrendMAMethod TrendMAPeriodinstance. parameters. TrendMAPeriod Typeinstance. parameters. Type MAFlag instance. parameters. MAFlag gBTFSource ExtSubscribe(BTFID, nil, instance. parameters. BTF, instance. parameters. BTFType quotBidquot, quotbarquot) if BTFType quotOquot then BTFP1 gBTFSource. open elseif BTFType quotHquot then BTFP1 gBTFSource. high elseif BTFType quotLquot then BTFP1 gBTFSource. low elseif BTFType quotMquot then BTFP1 gBTFSource. median elseif BTFType quotTquot then BTFP1 gBTFSource. typical elseif BTFType quotWquot then BTFP1 gBTFSource. weighted else BTFP1 gBTFSource. close end if Type quotOquot then P1 BAR. open elseif Type quotHquot then P1 BAR. high elseif Type quotLquot then P1 BAR. low elseif Type quotMquot then P1 BAR. median elseif Type quotTquot then P1 BAR. typical elseif Type quotWquot then P1 BAR. weighted else P1 BAR. close end BTFTrendMA core. indicators:create(quotAVERAGESquot, BTFP1, BTFTrendMAMethod, BTFTrendMAPeriod, false) TrendMA core. indicators:create(quotAVERAGESquot, P1, TrendMAMethod, TrendMAPeriod, false) -- and get the oldest index of the bar we can work at first math. max(CCI. DATA:first(), TrendMA. DATA:first()) btfFirst BTFTrendMA. DATA:first() end -- the function is called every time when any subscribed price is changed. For tick subscribtions the function is called -- for every tick, for the bar subscribtions the function is called when the candle is closed (in other words, when -- the first tick of the next candle appears). function ExtUpdate(id, source, period) if id STRATTFID and period gt first then -- on the user chosen subscription (can be either tick or bar subscribtion). -- update indicators CCI:update(core. UpdateLast) TrendMA:update(core. UpdateLast) -- if we have enough bars in the history to work if gBTFSource:size() gt 0 then local btfPeriod core. findDate(gBTFSource, BAR:date(period), false) -- if we have enough bars in the history to work if btfPeriod gt btfFirst then -- This works ok local y gBTFSource. close91btfPeriod93 -- this one gives ERROR INDEX OUT OF RANGE local x BTFTrendMA. DATA91btfPeriod93 -- This bit added for signalling only if BTFMAFlag true then Signal(quotgBTFSource. close91quot. tostring(btfPeriod). quot93 (quot. tostring(gBTFSource. close91btfPeriod93). quot) lt BTFTrendMA. DATA91quot. tostring(btfPeriod). quot93 ( ) (btfFirst quot. tostring(btfFirst)) if gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 then --Signal (quotTP1 - BTFtrend Downquot) BTFtrendDir quotDownquot elseif gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 then --Signal (quotTP2 - BTFtrend Upquot) BTFtrendDir quotUpquot end el se BTFdir quotOffquot --Signal (quotTP3 - BTFtrend Offquot) end if MAFlag then if BAR. close91period93 lt TrendMA. DATA91period93 then -- Signal (quotTP4 - trend Downquot) trendDdir quotDownquot elseif gBTFSource. close91btfPeriod93 lt BTFTrendMA. DATA91btfPeriod93 then -- Signal (quotTP5 - trend Upquot) trendDdir quotUpquot end else trendDdir quotOffquot --Signal (quotTP6 - trend Offquot) end if S and core. crossesOver(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then Signal ( quotSell Setup: Crossing above OverBoughtquot) elseif S and core. crossesUnder(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then Signal (quotBuy Setup: Crossing Below OverSoldquot) end if T and core. crossesOver(CCI. DATA , OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then Signal (quotBuy Trigger: Crossing above OverSoldquot) elseif T and core. crossesUnder(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then Signal (quotSell Trigger: Confirmed Crossing below OverBoughtquot) end if core. crossesOver(CCI. DATA, OBC, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then TOP true end if core. crossesUnder(CCI. DATA, OSC, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then BOTTOM true end if CT and core. crossesOver(CCI. DATA, OS, period) and (BTFtrendDir quotUpquot or BTFtrendDir quotOffquot) and (trendDir quotUpquot or trendDir quotOffquot) and BOTTOM and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotUpquot) then BOTTOM false Signal (quotBuy Trigger: Confirmed Crossing above OverSoldquot) elseif CT and core. crossesUnder(CCI. DATA, OB, period) and (BTFtrendDir quotDownquot or BTFtrendDir quotOffquot) and (trendDir quotDownquot or trendDir quotOffquot) and TOP and (ALLOWEDSIDE quotBothquot or ALLOWEDSIDE quotDnquot) then TOP false Signal (quotSell Trigger: Confirmed Crossing below OverBoughtquot) end -- end of confirmation trigger signalling end end end end -- eof function ExtUpdate function Initialization() AllowMultiple instance. parameters. AllowMultiple ALLOWEDSIDE instance. parameters. ALLOWEDSIDE --local S instance. parameters. S --local T instance. parameters. T --local CT instance. parameters. CT local PlaySound instance. parameters. PlaySo und if PlaySound then SoundFile instance. parameters. SoundFile else SoundFile nil end assert(not(PlaySound) or (PlaySound and SoundFile quotquot), quotSound file must be chosenquot) ShowAlert instance. parameters. ShowAlert RecurrentSound instance. parameters. RecurrentSound SendEmail instance. parameters. SendEmail if SendEmail then Email instance. parameters. Email else Email nil end assert(not(SendEmail) or (SendEmail and Email quotquot), quotE-mail address must be specifiedquot) end function Signal (Label) if ShowAlert then terminal:alertMessage(instance. bid:instrument(), instance. bid91NOW93, Label, instance. bid:date(NOW)) end nil then terminal:alertSound(SoundFile, RecurrentSound) end nil then terminal:alertEmail(Email, Label, profile:id(). quot(quot. instance. bid:instrument(). quot)quot. instance. bid91NOW93..quot, quot. Label..quot, quot. instance. bid:date(NOW)) end end

No comments:

Post a Comment