यह रणनीति चलती औसत के स्वर्ण क्रॉस और मृत्यु क्रॉस के आधार पर पदों को खोलती है, और फ्लोर-क्रॉसिंग तरीके से लाभ और स्टॉप लॉस लेती है। इसकी मुख्य विशेषताएं हैंः
इस रणनीति में चार भाग शामिल हैंः
चलती औसत प्रणाली
रुझानों को निर्धारित करने और झटकों को फ़िल्टर करने के लिए चलती औसत के स्वर्ण क्रॉस और मृत्यु क्रॉस का उपयोग करें।
मुनाफा कमाएं और नुकसान न करें
लाभ प्राप्त करने और जोखिमों को नियंत्रित करने के लिए एक निश्चित प्रतिशत के साथ लाभ और स्टॉप लॉस का उपयोग करें, गतिशील पूंजी प्रबंधन का एहसास करें।
स्थिति फ़िल्टरिंग
स्थिति फ़िल्टरिंग सक्षम करने के लिए विन्यस्त कर सकते हैं. यदि पिछली स्थिति लंबी है, तो अगले संकेत को एकतरफा होल्डिंग से बचने के लिए स्थिति खोलने के लिए छोटा होना चाहिए।
एटीआर स्टॉप लॉस
स्टॉप लॉस की अधिकतम सीमा को सीमित करने और अत्यधिक स्टॉप लॉस से बचने के लिए एटीआर का प्रयोग करें।
विशेष रूप से, रणनीति पहले चलती औसत की गणना करती है, स्वर्ण क्रॉस पर लंबी, और मृत्यु क्रॉस पर शॉर्ट्स। प्रवेश के बाद, एक निश्चित प्रतिशत के साथ चलती लाभ लेने और स्टॉप लॉस लाइनें सेट करें। यदि कीमत लाभ लेने की रेखा को छूती है, तो लाभ लें; यदि स्टॉप लॉस लाइन को छूती है या एटीआर स्टॉप लॉस रेंज से अधिक है, तो स्टॉप लॉस सेट करें।
इस रणनीति के मुख्य लाभ इस प्रकार हैंः
उच्च विन्यासशीलता
रणनीति में कई मापदंड उपयोगकर्ताओं के लिए उनकी ट्रेडिंग शैलियों के आधार पर समायोजित करने के लिए विन्यास योग्य हैं।
अच्छा पूंजी प्रबंधन
मूविंग टेक प्रॉफिट और स्टॉप लॉस और एटीआर स्टॉप लॉस को अपनाने से एकल स्टॉप लॉस के आयाम को प्रभावी ढंग से नियंत्रित किया जा सकता है और उत्कृष्ट पूंजी प्रबंधन प्राप्त किया जा सकता है।
ट्रेंडिंग मार्केट के लिए उपयुक्त
चलती औसत रणनीति ही प्रभावशाली रूप से सदमे को फ़िल्टर करने के लिए मजबूत ट्रेंडिंग बाजारों के लिए अधिक उपयुक्त है।
इस रणनीति में कुछ जोखिम भी हैंः
प्रवृत्ति का गलत आकलन
जटिल बाजारों पर चलती औसत का निर्णय सही नहीं है और गलत निर्णय हो सकते हैं। इस समय, चलती औसत मापदंडों को तदनुसार समायोजित किया जाना चाहिए, या रुझानों का न्याय करने के लिए अन्य संकेतकों को जोड़ा जा सकता है।
अत्यधिक स्टॉप लॉस
गतिशील स्टॉप लॉस को शॉक में शून्य किया जा सकता है। स्टॉप लॉस रेंज सेट करने के लिए एटीआर मापदंडों को मिलाया जाना चाहिए।
एकतरफा खोलने के जोखिम
स्थिति फ़िल्टरिंग को सक्षम करने से व्यापार की आवृत्ति पर कुछ प्रभाव पड़ेगा। लंबे समय तक एकतरफा होल्डिंग अतिरिक्त जोखिम ला सकती है।
मुख्य अनुकूलन दिशाएं हैंः
पैरामीटर अनुकूलन
गतिशील औसत चक्र, एटीआर मापदंडों, लाभ लेने और स्टॉप लॉस अनुपात और अन्य मापदंडों को रणनीति प्रदर्शन को अनुकूलित करने के लिए समायोजित करें।
संकेतक जोड़ना
पूंजी प्रवाह का आकलन करने और अत्यधिक स्टॉप लॉस से बचने के लिए सीएमएफ, ओबीवी जैसे संकेतक जोड़ें।
अन्य रणनीतियों के साथ संयोजन
बेहतर परिणाम प्राप्त करने के लिए प्रवृत्ति स्थिर होने के बाद प्रवृत्तियों का अनुसरण करने के लिए ब्रेकआउट रणनीतियों के साथ संयोजन करें।
संक्षेप में, मूविंग एवरेज फिल्टर और मूविंग टेक प्रॉफिट और स्टॉप लॉस के माध्यम से, यह रणनीति रुझानों के आधार पर गतिशील पूंजी प्रबंधन का एहसास करती है। इसमें उच्च कॉन्फ़िगरेबिलिटी है, जो तर्कसंगत निवेशकों के लिए अपनी शैली के अनुसार समायोजित करने और उपयोग करने के लिए उपयुक्त है। एक सार्वभौमिक मात्रात्मक रणनीति के रूप में, इसमें अभी भी अनुकूलन के लिए बड़ी क्षमता है और गहन शोध के लायक है।
/*backtest start: 2023-11-20 00:00:00 end: 2023-12-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © MGULHANN //@version=5 //İchimoku Leading Span 2 Hesaplaması ve Girişleri strategy("Stairs Gain Strategy - MG", overlay=true, margin_long=100, margin_short=100) laggingSpan2Periods = input.int(52, minval=1, title="Leading Periot") displacement = input.int(1, minval=1, title="Displacement") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) leadLine2 = donchian(laggingSpan2Periods) p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") // İşlem Tekrarını Filtrele filtreUygula = input.bool(true,title="Pozisyon Sıra Filtresi Uygula") //Kar Al / Zarar Durdur Seviyeleri Girişleri zararDurdurmaYuzde = input.float(1.0, title='Zarar Durdurma %', step=0.01) / 100 karAlmaYuzde = input.float(2.0, title='Kar Alma %', step=0.01) / 100 //ATR Hesaplaması atrCarpani = input.float(0.3, title="ATR Çarpanı", step= 0.01) atrDegeri = ta.atr(14) * atrCarpani //ATR Değer Girişleri atrbuyukdeger = input.float(0.01, title="ATR Üst Limit", step=0.01) atrkucukdeger = input.float(0.06, title="ATR Alt Limit", step=0.01) //Buy ve Sell Şartları buycross = ta.crossover(close,leadLine2[displacement-1]) ? atrDegeri > atrbuyukdeger : strategy.position_size == 0 sellcross = ta.crossover(leadLine2[displacement-1],close) ? atrDegeri < atrkucukdeger : strategy.position_size == 0 //KONTROL var sonPozisyonYonu = 0 //Son kapanan pozisyon long ise degiskenin degerini 1 olarak ata if strategy.position_size[1] > 0 and strategy.position_size == 0 sonPozisyonYonu := 1 //Son kapanan pozisyon short ise degiskenin degerini -1 olarak ata if strategy.position_size[1] < 0 and strategy.position_size == 0 sonPozisyonYonu := -1 //eger filtre uygulama seçiliyse ve son pozisyon yönü long ise 'longFiltreSonuc' degiskenine false degeri ata ve bir sonraki pozisyonun long olmasını engelle longFiltreSonuc = filtreUygula ? sonPozisyonYonu == 1 ? false : true : true //eger filtre uygulama seçiliyse ve son pozisyon yönü short ise 'shortFiltreSonuc' degiskenine false degeri ata ve bir sonraki pozisyonun short olmasını engelle shortFiltreSonuc = filtreUygula ? sonPozisyonYonu == -1 ? false : true : true //LONG GİRİŞ strategy.entry("Long", strategy.long, when=buycross and longFiltreSonuc) longKarAl = strategy.position_avg_price * (1 + karAlmaYuzde) longZararDurdur = strategy.position_avg_price * (1 - zararDurdurmaYuzde) strategy.exit("Long Exit","Long",limit=longKarAl, stop=longZararDurdur) //SHORT GİRİŞ strategy.entry("Short", strategy.short, when=sellcross and shortFiltreSonuc) shortKarAl = strategy.position_avg_price * (1 - karAlmaYuzde) shortZararDurdur = strategy.position_avg_price * (1 + zararDurdurmaYuzde) strategy.exit("Short Exit","Short",limit=shortKarAl, stop=shortZararDurdur) //Kar Al ve Zarar Durdur Seviyelerinin Grafikte İşaretlenmesi plot(strategy.position_size != 0 ? strategy.position_avg_price : na, color=color.navy, linewidth=2, style=plot.style_linebr, title="İşleme Giriş Seviyesi") plot(strategy.position_size > 0 ? longKarAl : na, color=color.green, linewidth=2, style=plot.style_linebr, title="Long Kar Alım Seviyesi") plot(strategy.position_size > 0 ? longZararDurdur : na, color=color.red, linewidth=2, style=plot.style_linebr, title="Long Zarar Durdurma Seviyesi") plot(strategy.position_size < 0 ? shortKarAl : na, color=color.green, linewidth=2, style=plot.style_linebr, title="Short Kar Alım Seviyesi") plot(strategy.position_size < 0 ? shortZararDurdur : na, color=color.red, linewidth=2, style=plot.style_linebr, title="Short Zarar Durdurma Seviyesi") //plotshape(buycross,size=size.small,style=shape.labelup,location=location.belowbar,color=color.green,text="Al", offset = displacement-1, textcolor=color.white) //plotshape(sellcross,size=size.small,style=shape.labeldown,location=location.abovebar,color=color.red,text="Sat", offset = displacement-1, textcolor=color.white)