
এই কৌশলটি একটি ট্রেডিং সিস্টেম যা একাধিক প্রযুক্তিগত সূচকের সাথে ট্রেন্ড ট্র্যাকিং গতিশীলতা যুক্ত করে। এটি মূলত 200-দিনের মুভিং এভারেজ (MA200) দ্বারা বড় ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে, 50-দিনের সূচকীয় মুভিং এভারেজ (EMA50) ব্যবহার করে পুনঃনির্ধারণের সুযোগগুলি সনাক্ত করে এবং তুলনামূলকভাবে দুর্বল সূচক (RSI) এবং মুভিং এভারেজ প্রবণতা বিচ্ছিন্নতা (MACD) এর সাথে ক্রস সিগন্যালের সাথে মিলিত হয়। কৌশলটি ঝুঁকি নিয়ন্ত্রণের ব্যবস্থাও অন্তর্ভুক্ত করে, যা ঝুঁকি-উপার্জন অনুপাত এবং ট্র্যাকিংয়ের মাধ্যমে লাভের ক্ষতি রক্ষার জন্য।
কৌশলটির মূল যুক্তিটি হল একাধিক স্তরের ফিল্টারিং প্রক্রিয়া দ্বারা ট্রেডিংয়ের নির্ভুলতা বাড়ানো। প্রথমত, MA200 এর মাধ্যমে বাজার প্রধান প্রবণতা নির্ধারণ করা হয়, যখন দাম MA200 এর উপরে থাকে তখন এটি মাল্টি-হেড ট্রেন্ড হিসাবে বিচার করা হয়, বিপরীতভাবে এটি একটি উড়োজাহাজের প্রবণতা। প্রবণতা দিক নির্ধারণের পরে, কৌশলটি ইএমএ 50 এর কাছাকাছি পুনরুদ্ধারের সুযোগের সন্ধান করে, দামকে সাম্প্রতিক 5 টি চক্রের মধ্যে ইএমএ 50 স্পর্শ করার জন্য বলা হয়। একই সাথে, আরএসআই সূচক ব্যবহার করে গতিশীলতা নিশ্চিত করা হয়, মাল্টি-হেড ট্রেন্ডের জন্য আরএসআই 50 এর চেয়ে বেশি এবং উড়োজাহাজের প্রবণতার জন্য আরএসআই 50 এর চেয়ে কম প্রয়োজন। অবশেষে, এমএসিডি গোল্ডার ফোরকাস্টের মাধ্যমে নির্দিষ্ট প্রবেশদ্বার হিসাবে। সিগন্যাল আউটপুটের দিক থেকে, কৌশলটি ঝুঁকি-লাভের অনুপাতের উপর ভিত্তি করে একটি নির্দিষ্ট স্টপ লস স্টপ ব্যবহার করে এবং বিকল্পভাবে স্টপ লস ট্র
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সমন্বিত ব্যবহারের মাধ্যমে একটি সম্পূর্ণ প্রবণতা ট্র্যাকিং ট্রেডিং সিস্টেম তৈরি করে। কৌশলটির সুবিধা হ’ল একাধিক সংকেত নিশ্চিতকরণ ব্যবসায়ের নির্ভরযোগ্যতা বাড়ায় এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা কৌশলটির জন্য ভাল সুরক্ষা সরবরাহ করে। কিছু অন্তর্নিহিত ঝুঁকি থাকা সত্ত্বেও, প্রস্তাবিত অপ্টিমাইজেশনের দিকনির্দেশের মাধ্যমে কৌশলটির কার্যকারিতা আরও বাড়ানো যেতে পারে। সামগ্রিকভাবে, এটি একটি যৌক্তিকভাবে কঠোর, ব্যবহারিকভাবে শক্তিশালী পরিমাণযুক্ত ট্রেডিং কৌশল।
/*backtest
start: 2024-02-21 00:00:00
end: 2024-08-10 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Trend-Following Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=2)
// PARAMETERS
lengthMA200 = input(200, title="200-day MA Length")
lengthEMA50 = input(50, title="50-day EMA Length")
rsiLength = input(14, title="RSI Length")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalLength = input(9, title="MACD Signal Length")
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
useTrailingStop = input(true, title="Use Trailing Stop?")
trailingPercent = input(1.0, title="Trailing Stop (%)") / 100
// INDICATORS
ma200 = ta.sma(close, lengthMA200) // 200-day MA
ema50 = ta.ema(close, lengthEMA50) // 50-day EMA
rsi = ta.rsi(close, rsiLength) // RSI
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
// TREND CONDITIONS
bullishTrend = close > ma200
bearishTrend = close < ma200
// PULLBACK CONDITION
recentPullbackLong = ta.barssince(close < ema50) < 5 // Price touched EMA50 in last 5 bars
recentPullbackShort = ta.barssince(close > ema50) < 5 // Price touched EMA50 in last 5 bars
// ENTRY CONDITIONS
longEntry = bullishTrend and ta.crossover(macdLine, signalLine) and rsi > 50 and recentPullbackLong
shortEntry = bearishTrend and ta.crossunder(macdLine, signalLine) and rsi < 50 and recentPullbackShort
// EXECUTE TRADES
if longEntry
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=close * (1 + riskRewardRatio), stop=close * (1 - (1 / (1 + riskRewardRatio))), trail_price=useTrailingStop ? close * (1 - trailingPercent) : na)
if shortEntry
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=close * (1 - riskRewardRatio), stop=close * (1 + (1 / (1 + riskRewardRatio))), trail_price=useTrailingStop ? close * (1 + trailingPercent) : na)
// PLOT INDICATORS
plot(ma200, title="200-day MA", color=color.blue, linewidth=2)
plot(ema50, title="50-day EMA", color=color.orange, linewidth=2)