यह रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जो जेड-स्कोर सांख्यिकीय तरीकों, सापेक्ष शक्ति सूचकांक (आरएसआई) और सुपरट्रेंड संकेतकों को जोड़ती है। यह रणनीति सांख्यिकीय मूल्य विचलन की निगरानी करती है, बाजार में उच्च संभावना वाले ट्रेडिंग अवसरों की पहचान करने के लिए गति संकेतक और प्रवृत्ति पुष्टि को जोड़ती है। यह रणनीति न केवल बाजार में ओवरबॉट और ओवरसोल्ड अवसरों को पकड़ती है, बल्कि ट्रेंड पुष्टि के माध्यम से झूठे संकेतों को भी फ़िल्टर करती है, जिससे दो-तरफा व्यापार संभव हो जाता है।
रणनीति का मूल तर्क तीन मुख्य तकनीकी संकेतकों के तालमेल पर आधारित हैः सबसे पहले, यह 75-अवधि के चलती औसत और मानक विचलन का उपयोग करके अपने ऐतिहासिक औसत से वर्तमान मूल्य के विचलन को मापने के लिए कीमतों के जेड-स्कोर की गणना करता है। जब जेड-स्कोर 1.1 से अधिक हो जाता है या -1.1 से नीचे गिर जाता है, तो यह महत्वपूर्ण सांख्यिकीय विचलन का संकेत देता है। दूसरा, आरएसआई संकेतक को गति की पुष्टि के रूप में पेश किया जाता है, जिसके लिए आरएसआई को दिशा के साथ संरेखित करने की आवश्यकता होती है (आरएसआई> 60 लंबी स्थिति के लिए, आरएसआई <40 छोटी स्थिति के लिए) । अंत में, सुपरट्रेंड संकेतक एक प्रवृत्ति फिल्टर के रूप में कार्य करता है, जिसकी गणना 11-अवधि एटीआर और 2.0 के गुणक कारक के आधार पर की जाती है। ट्रेडिंग सिग्नल केवल तभी उत्पन्न होते हैं जब सभी तीन शर्तें एक साथ संतुष्ट होती हैं।
यह एक मात्रात्मक ट्रेडिंग रणनीति है जो सांख्यिकीय तरीकों और तकनीकी विश्लेषण को जोड़ती है, जो ट्रेडिंग विश्वसनीयता में सुधार के लिए कई सिग्नल पुष्टि का उपयोग करती है। रणनीति के मुख्य फायदे इसके उद्देश्य गणितीय मॉडल और व्यापक जोखिम नियंत्रण तंत्र में निहित हैं, जबकि पैरामीटर अनुकूलन और बाजार अनुकूलन क्षमता पर ध्यान दिया जाना चाहिए। सुझाए गए अनुकूलन दिशाओं के माध्यम से, आगे सुधार के लिए जगह है, खासकर बाजार के वातावरण और जोखिम नियंत्रण के लिए गतिशील रूप से अनुकूलन में। यह रणनीति उच्च अस्थिरता और स्पष्ट रुझानों वाले बाजारों के लिए उपयुक्त है, जिससे यह स्थिर रिटर्न का पीछा करने वाले मात्रात्मक व्यापारियों के लिए एक योग्य विचार बन जाता है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Z-Score Long and Short Strategy with Supertrend", overlay=true) // Inputs for Z-Score len = input.int(75, "Z-Score Lookback Length") z_long_threshold = 1.1 // Threshold for Z-Score to open long z_short_threshold = -1.1 // Threshold for Z-Score to open short // Z-Score Calculation z = (close - ta.sma(close, len)) / ta.stdev(close, len) // Calculate Driver RSI driver_rsi_length = input.int(14, "Driver RSI Length") // Input for RSI Length driver_rsi = ta.rsi(close, driver_rsi_length) // Calculate the RSI // Supertrend Parameters atrPeriod = input.int(11, "ATR Length", minval=1) factor = input.float(2.0, "Factor", minval=0.01, step=0.01) // Supertrend Calculation [supertrend, direction] = ta.supertrend(factor, atrPeriod) // Conditions for Long and Short based on Z-Score z_exceeds_long = z >= z_long_threshold and driver_rsi > 60 z_exceeds_short = z <= z_short_threshold and driver_rsi < 40 // Entry Conditions if (z_exceeds_long and direction < 0) // Enter Long if Z-Score exceeds threshold and Supertrend is down strategy.entry("Long", strategy.long) label.new(bar_index, low, text="Open Long", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small) alert("Open Long", alert.freq_once_per_bar) // Alert for Long entry if (z_exceeds_short and direction > 0) // Enter Short if Z-Score exceeds threshold and Supertrend is up strategy.entry("Short", strategy.short) label.new(bar_index, high, text="Open Short", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small) alert("Open Short", alert.freq_once_per_bar) // Alert for Short entry // Plot Supertrend upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color=color.green, style=plot.style_linebr) downTrend = plot(direction > 0 ? supertrend : na, "Down Trend", color=color.red, style=plot.style_linebr) fill(upTrend, downTrend, color=color.new(color.green, 90), fillgaps=false) // Alert conditions for Supertrend changes (optional) alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend') alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')