यह रणनीति सुपरट्रेंड इंडिकेटर और फिशर ट्रांसफॉर्म को जोड़ती है ताकि जब बाजार उलट जाए तो शॉर्ट अवसरों की तलाश की जा सके। यह विभिन्न क्रिप्टोकरेंसी, शेयरों और बाजारों के लिए सुपरट्रेंड और फिशर ट्रांसफॉर्म के मापदंडों को समायोजित कर सकता है। जब एक बिक्री संकेत दिखाई देता है, तो यह स्थिति का आकार, स्टॉप लॉस और लाभ स्तर दिखाता है। आप जोखिम राशि भी बदल सकते हैं।
यह रणनीति सबसे पहले 10 अवधि के साथ फिशर परिवर्तन की गणना करती है। जब फिशर रेखा नीचे से 2.5 के माध्यम से टूटती है, तो एक बिक्री संकेत उत्पन्न होता है। साथ ही, यह सुपरट्रेंड के लिए चैनल के रूप में 10-अवधि औसत सच्ची सीमा (एटीआर) की गणना करता है। जब कीमत ऊपरी रेल से नीचे पार करती है, तो एक बिक्री संकेत उत्पन्न होता है। इसलिए रणनीति फिशर परिवर्तन और सुपरट्रेंड चैनल को जोड़ती है ताकि बाजार उलटते समय छोटे अवसरों को पकड़ सकें।
विशेष रूप से, जब वर्तमान बंद पिछले ऊपरी रेल से नीचे है और पिछले बंद सुपरट्रेंड चैनल के निचले रेल से ऊपर है, यह निर्धारित करता है कि बाजार उलट गया है और एक बिक्री संकेत उत्पन्न करता है। उसी समय, जब फिशर लाइन नीचे से 2.5 से टूट जाती है, और पिछले फिशर मूल्य वर्तमान एक से कम है, यह निर्धारित करता है कि प्रवृत्ति उलट गई है और एक बिक्री संकेत उत्पन्न करती है।
तो रणनीति अंतिम बेचने के संकेत उत्पन्न करने के लिए सुपरट्रेंड और फिशर परिवर्तन के उलट पहचान दोनों की आवश्यकता है।
यह रणनीति सुपरट्रेंड चैनल और फिशर ट्रांसफॉर्म को जोड़ती है, जो बाजार के उलट बिंदुओं को अधिक सटीक रूप से पकड़ सकती है। अकेले सुपरट्रेंड या फिशर का उपयोग करने की तुलना में, यह झूठे संकेतों को कम कर सकती है और रणनीति की स्थिरता को बढ़ा सकती है।
इसके अलावा, रणनीति सुपरट्रेंड और फिशर के मापदंडों को समायोजित करने के लिए लचीलापन प्रदान करती है। उपयोगकर्ता उद्देश्यपूर्ण रूप से बाजार के अनुरूप विभिन्न बाजारों और उत्पादों के लिए सर्वोत्तम मापदंड संयोजन का चयन कर सकते हैं। यह एक अनुकूलन योग्य अनुकूलन योग्य रणनीति है।
यह रणनीति जोखिम राशि प्रबंधन भी प्रदान करती है। उपयोगकर्ता अपने स्वयं के जोखिम प्रबंधन आवश्यकताओं को पूरा करने के लिए प्रत्येक आदेश के लिए जोखिम पूंजी को सुविधाजनक रूप से समायोजित कर सकते हैं। साथ ही, यह स्वचालित रूप से अच्छे जोखिम-लाभ अनुपात को प्राप्त करने के लिए स्टॉप लॉस और लाभ लेने के स्तर की गणना करता है।
रणनीति मुख्य रूप से बाजार संरचना निर्धारित करने के लिए सुपरट्रेंड चैनल पर निर्भर करती है। जब प्रवृत्ति लंबी अवधि तक चलती है, तो सुपरट्रेंड विफल हो सकती है। इस मामले में, चैनल की अवधि या एटीआर गुणक को उचित रूप से बढ़ाया जाना चाहिए।
इसके अतिरिक्त, फिशर ट्रांसफॉर्म गलत संकेत या शीघ्र संकेत आसानी से उत्पन्न करता है। जब बाजार में उतार-चढ़ाव अधिक होता है, तो कुछ शोर को फ़िल्टर करने के लिए फिशर की अवधि को समायोजित किया जाना चाहिए।
इसके अलावा, उलट रणनीति की समग्र जीत दर सीमित हो सकती है। यह सीमा-बाधित क्षेत्रों में पदों को खोलने या प्रवृत्ति स्पष्ट होने के बाद भाग लेने से बचने के लिए प्रवृत्ति के बाद संकेतकों के साथ संयुक्त होना चाहिए। स्थिरता बढ़ाने के लिए फ़िल्टर के रूप में चलती औसत जोड़ी जा सकती है।
इस रणनीति को निम्नलिखित पहलुओं से बढ़ाया जा सकता हैः
विभिन्न उत्पादों और बाजार स्थितियों के आधार पर सर्वोत्तम पैरामीटर संयोजन के लिए सुपरट्रेंड की एटीआर अवधि और एटीआर गुणक को अनुकूलित करें।
वक्र को चिकना करने और झूठे संकेतों को रोकने के लिए फिशर की अवधि का अनुकूलन करें।
चलती औसत या बोलिंगर बैंड को एक सहायक संकेतक के रूप में जोड़ें ताकि रेंजिंग बाजारों में पदों को खोलने से बचा जा सके।
अधिक स्थिर उल्टा निर्णय प्राप्त करने के लिए विभिन्न समय सीमाओं पर फिशर परिवर्तन को मिलाएं।
जोखिमों को नियंत्रित करने के लिए लीवरेज अनुपात, स्थिति आकार, अतिरिक्त नियम आदि जैसे पद प्रबंधन मॉड्यूल जोड़ें।
स्वचालित पैरामीटर अनुकूलन और रणनीति फिट करने के लिए मशीन लर्निंग विधियों को शामिल करें।
यह रणनीति एकल संकेतक रणनीतियों की तुलना में पैरामीटर समायोजन द्वारा विभिन्न उत्पादों के अनुकूल होने के लिए लचीलेपन के साथ सुपरट्रेंड और फिशर ट्रांसफॉर्म को एकीकृत करती है। यह अधिक विश्वसनीय संकेत निर्णय और जोखिम नियंत्रण प्राप्त करती है। निरंतर सुधार के साथ, रणनीति स्थिरता और लाभप्रदता में और सुधार करने का वादा करती है। यह दीर्घकालिक ट्रैकिंग और संचय के लायक एक उच्च गुणवत्ता वाली रणनीति है।
/*backtest start: 2024-02-21 00:00:00 end: 2024-02-27 03:00:00 period: 2m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend and Fisher_SHORT", overlay=true) //This block is for Fisher Transformation Calculation. len = input.int(10, minval=1, title="Length") // Length is optional. 10 is good but is up to you. high_ = ta.highest(hl2, len) low_ = ta.lowest(hl2, len) round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val value = 0.0 value := round_(.66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * nz(value[1])) fish1 = 0.0 fish1 := .5 * math.log((1 + value) / (1 - value)) + .5 * nz(fish1[1]) fish2 = fish1[1] // Sell condition for Fisher transformation. sell_signal = (fish1 > 2.5) and (fish2 > fish1) durum = 0 //just for the situation. if (sell_signal) durum := -1 // now it changes from 0 to -1. // Supertrend indicator inputs and calculations (same as in the indicator) Periods = input(title='ATR Period', defval=10) // period is 10, but you can change it src = input(hl2, title='Source') Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=2) //atr multiplier is important. it is 2 for this strategy but you can find another for best performance RiskAmount = input.float(title='Risk Amount ($)', defval=10.0, minval=0.0, step=1.0) // ıf you use risk-reward method, risk is 10$ for each position. you can also change it changeATR = input(title='Change ATR Calculation Method ?', defval=true) atr2 = ta.sma(ta.tr, Periods) atr = changeATR ? ta.atr(Periods) : atr2 up = src - Multiplier * atr up1 = nz(up[1], up) up := close[1] > up1 ? math.max(up, up1) : up dn = src + Multiplier * atr dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? math.min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend // Calculate position size based on risk amount riskPerContract = atr * Multiplier contracts = RiskAmount / (riskPerContract * syminfo.mintick) //short signal condition sellSignal = trend == -1 and trend[1] == 1 and durum == -1 plotshape(sellSignal, title='Sell Signal', location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) //shows the signal. // variables var float entryPrice = na var float stopLoss = na var float takeProfit = na var float atr1 = na var float takeProfit2 = na var float takeProfit3 = na //it calculates the stop level and reward profit levels using atr. if (sellSignal) entryPrice := close atr1 := atr stopLoss := entryPrice + atr1 * Multiplier contracts := entryPrice / (stopLoss - entryPrice) * RiskAmount / entryPrice takeProfit := entryPrice - atr1 * Multiplier takeProfit2 := entryPrice - 2 * atr1 * Multiplier takeProfit3 := entryPrice - 3 * atr1 * Multiplier if (sellSignal) strategy.entry("Sell", strategy.short, qty=1) // if (close >= stopLoss) strategy.close("Sell", comment="Stop Loss Hit") else if (close <= takeProfit) strategy.close("Sell", comment="Take Profit Hit") // draw the stop, entry and profit levels plot(stopLoss, title="Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(entryPrice, title="Entry Price", color=color.orange, linewidth=1, style=plot.style_linebr) plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr) plot(takeProfit2, title="Take Profit 2", color=color.blue, linewidth=1, style=plot.style_linebr) plot(takeProfit3, title="Take Profit 3", color=color.purple, linewidth=1, style=plot.style_linebr)