फिशर यूरिक ट्रेलिंग स्टॉप रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो फिशर यूरिक संकेतक और ट्रेलिंग स्टॉप तंत्र को एकीकृत करती है। यह फिशर यूरिक संकेतक का उपयोग मुनाफे में लॉक करने के लिए ट्रेलिंग स्टॉप सेट करते हुए खरीद और बिक्री संकेत उत्पन्न करने के लिए करता है, मुनाफे की रक्षा करते हुए लाभ को अधिकतम करता है।
स्टॉप/प्रॉफिट अनुपात, परीक्षण मापदंडों, सिग्नल फिल्टर, स्थिति आकार नियम का उपयोग करके जोखिमों को संबोधित किया जा सकता है।
फिशर यूरिक ट्रेलिंग स्टॉप रणनीति प्रवृत्ति पहचान और जोखिम प्रबंधन को जोड़ती है। पैरामीटर ट्यूनिंग, संकेतक संयोजन और स्टॉप लॉस में सुधार के साथ, यह स्वीकार्य जोखिम सहिष्णुता के भीतर अच्छे मुनाफे के लिए अधिकांश उपकरणों के अनुरूप हो सकती है।
/*backtest start: 2023-01-26 00:00:00 end: 2024-02-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fisher_Yurik Strategy with Trailing Stop", shorttitle="FY Strategy", overlay=true) // Date Ranges from_month = input(defval = 1, title = "From Month") from_day = input(defval = 1, title = "From Day") from_year = input(defval = 2021, title = "From Year") to_month = input(defval = 1, title = "To Month") to_day = input(defval = 1, title = "To Day") to_year = input(defval = 9999, title = "To Year") start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window window = true period = input(2, title='Period') cost = input.float(1.05, title='profit level ', step=0.01) dusus = input.float(1.02, title='after the signal', step=0.01) var float Value = na var float Fish = na var float ExtBuffer1 = na var float ExtBuffer2 = na price = (high + low) / 2 MaxH = ta.highest(high, period) MinL = ta.lowest(low, period) Value := 0.33 * 2 * ((price - MinL) / (MaxH - MinL) - 0.5) + 0.67 * nz(Value[1]) Value := math.max(math.min(Value, 0.999), -0.999) Fish := 0.5 * math.log((1 + Value) / (1 - Value)) + 0.5 * nz(Fish[1]) up = Fish >= 0 ExtBuffer1 := up ? Fish : na ExtBuffer2 := up ? na : Fish var float entryPrice = na var float stopPrice = na if (ExtBuffer1 > ExtBuffer1[1]) entryPrice := close*dusus stopPrice := close * cost if (ExtBuffer2 < ExtBuffer2[1]) entryPrice := close stopPrice := close * cost // Sadece seçilen test döneminde işlem yapma koşulu eklenmiştir strategy.entry("Buy", strategy.long, when=ExtBuffer1 > ExtBuffer1[1] and window) strategy.exit("Take Profit/Trailing Stop", from_entry="Buy", when=(close >= entryPrice * cost) or (close < stopPrice), trail_offset=0.08, trail_price=entryPrice * cost)