
डबल ईएमए गोल्ड क्रॉस लॉन्ग लाइन रणनीति एक प्रवृत्ति-अनुवर्ती रणनीति है जो केवल मल्टी-हेड पोजीशन खोलने के लिए है। यह रणनीति एक साथ तीन चलती औसत का उपयोग करती है, जिसमें शॉर्ट-टर्म ईएमए, मिड-टर्म ईएमए और लॉन्ग-टर्म ईएमए शामिल हैं। विशेष रूप से प्रवेश नियम यह हैः कीमत लंबी ईएमए से अधिक है, जबकि शॉर्ट-टर्म ईएमए नीचे से मिड-टर्म ईएमए के माध्यम से गोल्ड क्रॉसिंग के रूप में अधिक है।
तीन ईएमए चक्रों का उपयोग करके कॉन्फ़िगर किया जा सकता है, क्रमशः अल्पकालिक ईएमए, मध्यम ईएमए और दीर्घकालिक ईएमए की गणना करें।
यदि कीमत दीर्घकालिक ईएमए से अधिक है, तो यह एक बहुमुखी प्रवृत्ति में है।
यदि अल्पकालिक ईएमए नीचे से मध्यवर्ती ईएमए को पार करता है और गोल्डन क्रॉस बनाता है, तो यह आगे की पुष्टि करता है कि बहुमुखी प्रवृत्ति मजबूत हो रही है।
जब उपरोक्त दोनों शर्तें एक साथ पूरी हो जाती हैं, तो अधिक व्यापार करें।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह प्रवृत्ति की पहचान करने में सक्षम है, बहु-आयामी ईएमए के संयोजन के साथ निर्णय लेने में सक्षम है, और अल्पकालिक बाजार के शोर से भटकने से बचता है। साथ ही, जोखिम नियंत्रण के साधन के रूप में स्टॉप लॉस को कॉन्फ़िगर करने से नुकसान को एक निश्चित सीमा तक नियंत्रित किया जा सकता है।
इस रणनीति का मुख्य जोखिम मल्टी हेड पोजीशन है। जब बाजार की स्थिति उलट जाती है, तो समय पर पोजीशन को बंद करने में असमर्थता, जिससे घाटे में वृद्धि का जोखिम होता है। इसके अलावा, गलत ईएमएएस चक्र की स्थापना से ट्रेडिंग की आवृत्ति बढ़ जाती है, जिससे ट्रेडिंग की लागत बढ़ जाती है।
पदों की संख्या का प्रबंधन बढ़ाएं और जब वापसी एक निश्चित अनुपात तक पहुंचती है तो पदों को कम करें।
एक नया उच्च स्टॉप लॉस सेटिंग जोड़ा गया।
ईएमएएस चक्र पैरामीटर का अनुकूलन करें और लेनदेन की आवृत्ति को कम करें
इस रणनीति के समग्र स्थिरता के लिए उच्च गुणवत्ता लंबी लाइन स्थिति रखने की रणनीति. प्रवृत्ति की पहचान करने की क्षमता मजबूत है, जोखिम नियंत्रण में है. आगे के अनुकूलन के साथ, बेहतर स्थिर रिटर्न प्राप्त करने की उम्मीद है.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Strategia EMA Long con Opzioni di Uscita Avanzate e Periodi EMA Personalizzabili", overlay=true)
// Parametri di input generali
useVolatilityFilter = input.bool(true, title="Usa Filtro di Volatilità")
atrPeriods = input.int(14, title="Periodi ATR", minval=1)
atrMultiplier = input.float(1.5, title="Moltiplicatore ATR", step=0.1)
useTrailingStop = input.bool(true, title="Usa Trailing Stop")
trailingStopPercent = input.float(15.0, title="Percentuale Trailing Stop", minval=0.1, step=0.1) / 100.0
useEMAExit = input.bool(true, title="Usa Uscita EMA Corta incrocia EMA Media al Ribasso")
// Parametri di input per periodi EMA personalizzabili
emaLongTermPeriod = input.int(200, title="Periodo EMA Lungo Termine", minval=1)
emaShortTermPeriod = input.int(5, title="Periodo EMA Breve Termine", minval=1)
emaMidTermPeriod = input.int(10, title="Periodo EMA Medio Termine", minval=1)
// Calcolo delle EMA con periodi personalizzabili
longTermEMA = ta.ema(close, emaLongTermPeriod)
shortTermEMA = ta.ema(close, emaShortTermPeriod)
midTermEMA = ta.ema(close, emaMidTermPeriod)
// Calcolo ATR e soglia di volatilità
atr = ta.atr(atrPeriods)
atrThreshold = ta.sma(atr, atrPeriods) * atrMultiplier
// Condizione di entrata
enterLongCondition = close > longTermEMA and shortTermEMA > midTermEMA
enterLong = useVolatilityFilter ? (enterLongCondition and atr > atrThreshold) : enterLongCondition
if (enterLong)
strategy.entry("Enter Long", strategy.long)
// Tracking del prezzo di entrata e del massimo prezzo raggiunto per il trailing stop
var float entryPrice = na
var float maxPriceSinceEntry = na
if (strategy.position_size > 0)
maxPriceSinceEntry := math.max(na(maxPriceSinceEntry) ? high : maxPriceSinceEntry, high)
entryPrice := na(entryPrice) ? strategy.position_avg_price : entryPrice
else
maxPriceSinceEntry := na
entryPrice := na
// Calcolo del valore del trailing stop
trailStopPrice = maxPriceSinceEntry * (1 - trailingStopPercent)
// Implementazione delle condizioni di uscita
exitCrossUnder = close < longTermEMA
emaCross = ta.crossunder(shortTermEMA, midTermEMA)
if (useEMAExit and emaCross)
strategy.close("Enter Long", comment="EMA Cross Exit")
if (useTrailingStop)
strategy.exit("Trailing Stop", from_entry="Enter Long", stop=trailStopPrice)
// Visualizzazioni
plot(longTermEMA, color=color.yellow, title="EMA Lungo Termine")
plot(shortTermEMA, color=color.blue, title="EMA Breve Termine")
plot(midTermEMA, color=color.green, title="EMA Medio Termine")
plot(useVolatilityFilter ? atrThreshold : na, color=color.purple, title="ATR Threshold")
plot(strategy.position_size > 0 ? trailStopPrice : na, color=color.orange, title="Trailing Stop Value", style=plot.style_linebr)