
यह रणनीति एक गतिशील स्टॉप-लॉस ट्रैकिंग रणनीति है जो डबल ईएमए औसत रेखा पर आधारित है। यह बाजार की प्रवृत्ति की दिशा का आकलन करने के लिए 9 वीं और 20 वीं लाइन का उपयोग करता है, जो आरएसआई सूचक के साथ मिलकर फ़िल्टर किए गए झूठे टूटने के साथ है। गतिशील स्टॉप-लॉस और स्टॉप-ऑफ की गणना करने के लिए एटीआर सूचक का उपयोग किया जाता है। यह रणनीति मध्यम और लंबी लाइनों पर लागू होती है।
यह रणनीति 9 दिन के ईएमए को एक अल्पकालिक औसत के रूप में और 20 दिन के ईएमए को एक मध्यावधि औसत के रूप में उपयोग करती है, कीमतों के रुझान का आकलन करने के लिए। जब कीमतें अल्पकालिक औसत को पार करती हैं, और समापन मूल्य पिछले दिन के उच्चतम मूल्य से अधिक है, और आरएसआई 30 से अधिक है, तो अधिक करें; जब कीमतें अल्पकालिक औसत को पार करती हैं और समापन मूल्य पिछले दिन के निम्नतम मूल्य से कम है, और आरएसआई 70 से कम है, तो शून्य करें।
स्टॉप लॉस को क्लोजिंग प्राइस से एटीआर के 1.5 गुना कम करने के लिए सेट किया गया है, और स्टॉप लॉस को क्लोजिंग प्राइस से एटीआर के 2 गुना अधिक स्टॉप गुणांक के साथ ट्रेंड ट्रैकिंग स्टॉप के लिए सेट किया गया है।
यह रणनीति एक अधिक स्थिर मध्यम-लंबी रेखा है। यह बाजार के प्रमुख रुझानों के बारे में दोहरी ईएमए का आकलन करती है, ताकि निर्णयों को अल्पकालिक बाजार के शोर से प्रभावित न किया जा सके। आरएसआई सूचकांक का समावेश भी कुछ हद तक झूठे ब्रेक को फ़िल्टर करता है। इसके अलावा, गतिशील स्टॉपलॉस ब्रेक तंत्र भी रणनीति को अपने स्टॉपलॉस ब्रेक स्तर को बाजार में उतार-चढ़ाव की डिग्री के अनुसार समायोजित करने की अनुमति देता है। लेकिन इस रणनीति में कुछ जोखिम भी हैं, जैसे कि औसत रेखा की देरी और स्टॉपलॉस ब्रेक की संभावना।
/*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=4
strategy("CJTrade", overlay=true)
short = ema(close, 9)
medium = ema(close, 20)
long = ema(close, 50)
very_long = ema(close, 200)
plot(short, color=color.gray, linewidth=1)
plot(medium, color=color.red, linewidth=1)
plot(long, color=color.black, linewidth=1)
plot(very_long, color=color.blue, linewidth=1)
rsiValue = rsi(close, 14)
near20EMA = close > medium - atr(14)
longCond = crossover(close[1], short) and close >= high[1] and rsiValue < 70 and near20EMA
shortCond = crossunder(close[1], short) and close <= low[1] and rsiValue > 30 and near20EMA
strategy.entry("Long", strategy.long, when=longCond)
strategy.entry("Short", strategy.short, when=shortCond)
atrValue = atr(14)
stopLossLevel = close - atrValue * 1.5
// Dynamic take profit level based on ATR
takeProfitMultiplier = input(2, title="Take Profit Multiplier", minval=0.1, maxval=10, step=0.1)
takeProfitLevel = close + atrValue * takeProfitMultiplier
// Trailing stop loss for long positions
longTrailingStop = close - atrValue * 2
strategy.exit("LongTrailingStop", from_entry="Long", loss=longTrailingStop)
// Trailing stop loss for short positions
shortTrailingStop = close + atrValue * 2
strategy.exit("ShortTrailingStop", from_entry="Short", loss=shortTrailingStop)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel)