
इस रणनीति में ट्रिपल इंडेक्स मूविंग एवरेज (टीईएमए) और फिशर ट्रांसफॉर्म, दो तकनीकी संकेतकों को शामिल किया गया है, जो प्रवृत्ति और गतिशीलता संकेतों की पहचान करके प्रवेश और बाहर निकलने का समय निर्धारित करते हैं। टीईएमए, एक कम विलंबता वाले प्रवृत्ति ट्रैकिंग सूचक के रूप में, बाजार की प्रवृत्ति की दिशा को प्रभावी ढंग से पहचानने में सक्षम है, जबकि फिशर ट्रांसफॉर्म, मूल्य परिवर्तन को गौस स्टैरिटॉमिक वितरण में परिवर्तित करके, अधिक स्पष्ट गतिशीलता संकेत प्रदान करता है। रणनीति ट्रेडों को ट्रिगर करने के लिए क्रॉस सिग्नल का उपयोग करती है, जो प्रवृत्ति ट्रैकिंग और गतिशीलता विश्लेषण के लाभों को जोड़ती है।
इस रणनीति का मुख्य तर्क दो प्रमुख संकेतकों पर आधारित हैः
व्यापार नियम इस प्रकार हैं:
यह प्रवृत्ति और गतिशीलता विश्लेषण के संयोजन के साथ एक पूर्ण व्यापार रणनीति है, जो कि TEMA और फिशर ट्रांसफॉर्म के साथ मिलकर प्रवृत्ति ट्रैकिंग क्षमता की गारंटी देता है और एक स्पष्ट गतिशीलता पुष्टि संकेत प्रदान करता है। रणनीति डिजाइन तर्कसंगत है, बेहतर व्यावहारिकता है, लेकिन वास्तविक अनुप्रयोगों में बाजार की स्थिति के अनुकूलता पर ध्यान देने की आवश्यकता है, और विशिष्ट परिस्थितियों के अनुसार पैरामीटर अनुकूलन। अनुशंसित अनुकूलन दिशा के साथ, रणनीति की स्थिरता और विश्वसनीयता को और बढ़ाया जा सकता है।
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Triple EMA (TEMA) + Fisher Transform Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// ==== Triple EMA (TEMA) Settings ====
temaLength = input.int(21, title="TEMA Length", minval=1)
// Implementácia Triple EMA (TEMA)
// TEMA = 3 * EMA(close, length) - 3 * EMA(EMA(close, length), length) + EMA(EMA(EMA(close, length), length), length)
ema1 = ta.ema(close, temaLength)
ema2 = ta.ema(ema1, temaLength)
ema3 = ta.ema(ema2, temaLength)
tema = 3 * ema1 - 3 * ema2 + ema3
plot(tema, color=color.blue, title="TEMA")
// ==== Fisher Transform Settings ====
fisherLength = input.int(10, title="Fisher Length", minval=1)
fisherSmooth = input.int(1, title="Fisher Smoothing", minval=1) // Zvyčajne sa používa 1 alebo 2
// Výpočet Fisher Transform
// Krok 1: Normalizácia ceny
price = (high + low) / 2
maxPrice = ta.highest(price, fisherLength)
minPrice = ta.lowest(price, fisherLength)
value = 0.5 * (2 * ((price - minPrice) / (maxPrice - minPrice)) - 1)
value := math.min(math.max(value, -0.999), 0.999) // Orezanie hodnoty pre stabilitu
// Krok 2: Výpočet Fisher Transform
var float fisher = na
fisher := 0.5 * math.log((1 + value) / (1 - value)) + 0.5 * nz(fisher[1])
fisher := fisherSmooth > 1 ? ta.sma(fisher, fisherSmooth) : fisher
plot(fisher, color=color.red, title="Fisher Transform", linewidth=2)
// ==== Strategie Podmienky ====
// Long Condition: Cena prekročí TEMA smerom nahor a Fisher Transform prekročí 0 smerom nahor
longCondition = ta.crossover(close, tema) and ta.crossover(fisher, 0)
if (longCondition)
strategy.entry("Long", strategy.long)
// Short Condition: Cena prekročí TEMA smerom nadol a Fisher Transform prekročí 0 smerom nadol
shortCondition = ta.crossunder(close, tema) and ta.crossunder(fisher, 0)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit Long Condition: Cena prekročí TEMA smerom nadol alebo Fisher Transform prekročí 0 smerom nadol
exitLong = ta.crossunder(close, tema) or ta.crossunder(fisher, 0)
if (exitLong)
strategy.close("Long")
// Exit Short Condition: Cena prekročí TEMA smerom nahor alebo Fisher Transform prekročí 0 smerom nahor
exitShort = ta.crossover(close, tema) or ta.crossover(fisher, 0)
if (exitShort)
strategy.close("Short")
// ==== Voliteľné: Vykreslenie Zero Line pre Fisher Transform ====
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)