
फिशर परिवर्तित गतिशील अवमूल्यन ट्रेंड ट्रैकिंग रणनीति फिशर परिवर्तित सूचक के आधार पर मूल्य प्रवृत्ति में परिवर्तन की पहचान करने के लिए। यह रणनीति फिशर परिवर्तित का उपयोग करती है जो कीमतों को एक मानक पैमाने पर समेकित करती है ताकि संभावित रुझान रिवर्स पॉइंट्स को अधिक आसानी से पता लगाया जा सके। गतिशील रूप से समायोजन अवमूल्यन के माध्यम से, रणनीति विभिन्न बाजार स्थितियों के अनुकूल हो सकती है, जिससे प्रवृत्ति की पहचान की सटीकता में सुधार होता है। जब फिशर परिवर्तित मूल्य सकारात्मक-नकारात्मक थ्रेशोल्ड से अधिक हो जाता है, तो यह रणनीति बाजार की प्रवृत्ति को ट्रैक करने के लिए एक खरीद-बिक्री संकेत उत्पन्न करती है।
फिशर परिवर्तित गतिशील अवमूल्यन ट्रेंड ट्रैकिंग रणनीति फिशर परिवर्तित सूचक और गतिशील अवमूल्यन के माध्यम से, मूल्य प्रवृत्ति में परिवर्तन की पहचान, विभिन्न बाजार की स्थिति के लिए अनुकूलित। यह रणनीति बाजार की प्रवृत्ति को बेहतर ढंग से पकड़ने में सक्षम है, ट्रेंड ट्रैकिंग ट्रेडों को लागू करती है। रणनीति का लाभ गतिशील अवमूल्यन को समायोजित करने, मूल्य शोर को कम करने और एक सहज चार्ट प्रदर्शित करने में है। लेकिन इसके साथ ही, पैरामीटर अनुकूलन जोखिम, प्रवृत्ति की पहचान, अस्थिरता, उतार-चढ़ाव बाजार में खराब प्रदर्शन, चरम व्यवहार जोखिम आदि की समस्याएं हैं। पैरामीटर अनुकूलन, सिग्नल ओवरफ्लो, स्टॉप लॉस और स्थिति प्रबंधन जैसे उपायों के माध्यम से, रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है।
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Qiuboneminer - Fisher Transform", overlay=true)
// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6
// Función Fisher Transform
fish(Length, timeMultiplier) =>
var float nValue1 = na
var float nFish = na
xHL2 = hl2
xMaxH = ta.highest(xHL2, Length * timeMultiplier)
xMinL = ta.lowest(xHL2, Length * timeMultiplier)
nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 = if nValue1 > 0.99
0.999
else if nValue1 < -0.99
-0.999
else
nValue1
nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
nFish
// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)
// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold
// Estrategia de entrada
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")
// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)