
यह रणनीति मध्य-लंबी रेखा प्रवृत्ति को पकड़ने के लिए EMA औसत और MACD संकेतकों का उपयोग करती है, जो कई समय के भीतर प्रवृत्ति संकेतों की पहचान करती है। जब अल्पकालिक प्रवृत्ति मध्य-लंबी अवधि की प्रवृत्ति की दिशा के साथ मेल खाती है, तो प्रवृत्ति ट्रैकिंग ऑपरेशन किया जाता है। साथ ही, यह रणनीति ATR संकेतकों का उपयोग करती है ताकि स्टॉप-लॉस स्टॉप सेट किया जा सके और उतार-चढ़ाव पर जोखिम नियंत्रण किया जा सके।
रणनीति 50 दिन ईएमए लाइन और 100 दिन ईएमए लाइन पर मध्यम और दीर्घकालिक प्रवृत्ति दिशा का न्याय करती है। जब अल्पकालिक प्रवृत्ति की दिशा मैकड संकेतक द्वारा पहचानी जाती है, तो यह निर्धारित करें कि क्या अल्पकालिक प्रवृत्ति की दिशा मध्यम और दीर्घकालिक प्रवृत्ति की दिशा के साथ मेल खाती है। यदि मेल खाती है, तो ट्रेंड ट्रैकिंग ऑपरेशन करें।
विशेष रूप से, जब MACD तेज लाइन पर धीमी लाइन से गुजरता है और बंद हो जाता है> 50 दिन ईएमए और बंद हो जाता है> 100 दिन ईएमए, अधिक करें; जब MACD तेज लाइन के नीचे धीमी लाइन से गुजरता है, और बंद हो जाता है <50 दिन ईएमए और बंद हो जाता है <100 दिन ईएमए, खाली करें।
इसके अलावा, रणनीति एटीआर सूचकांक का उपयोग करके उतार-चढ़ाव की सीमा की गणना करने के लिए करती है, और स्टॉप-स्टॉप मूल्य निर्धारित करती है।
क्या करें?
इस रणनीति में ईएमए, एमएसीडी और एटीआर जैसे संकेतकों का व्यापक उपयोग किया गया है, जिससे कई समय के भीतर प्रवृत्ति का पालन किया जा सकता है। पैरामीटर अनुकूलन के माध्यम से बेहतर रणनीति रिटर्न प्राप्त करने की उम्मीद है। इसके अलावा, संकेतकों के पीछे रहने, पैरामीटर समायोजन और अस्थिरता नियंत्रण जैसे जोखिमों से बचने के लिए, अनुकूलन और उन्नयन जारी रखने की आवश्यकता है।
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA-50, EMA-100, and MACD Strategy with ATR for Stop Loss/Profit", overlay=true)
// MACD hesaplama
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// EMA-50 ve EMA-100 hesaplama
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
// ATR hesaplama
atrLength = input(14, title="ATR Length")
atrValue = ta.atr(atrLength)
// Take Profit ve Stop Loss çoklayıcıları
takeProfitMultiplier = input(3.0, title="Take Profit Multiplier") // TP, 3 katı ATR
stopLossMultiplier = input(1.0, title="Stop Loss Multiplier")
// Long Pozisyon Koşulları
longCondition = ta.crossover(macdLine, signalLine) and close > ema50 and close > ema100
// Short Pozisyon Koşulları
shortCondition = ta.crossunder(macdLine, signalLine) and close < ema50 and close < ema100
// Take Profit ve Stop Loss Seviyeleri
takeProfitLevel = close + takeProfitMultiplier * atrValue
stopLossLevel = close - stopLossMultiplier * atrValue
// Long Pozisyon İşlemleri
strategy.entry("Long", strategy.long, when=longCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel)
// Short Pozisyon İşlemleri
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel)
// Grafikte Gösterme
plot(ema50, color=color.blue, title="EMA-50")
plot(ema100, color=color.red, title="EMA-100")
hline(0, "Zero Line", color=color.gray)