
এই কৌশলটি একটি সমন্বিত প্রবণতা ট্র্যাকিং ট্রেডিং সিস্টেম যা বাজারের প্রবণতা এবং ট্রেডিংয়ের সময় নির্ধারণের জন্য একাধিক প্রযুক্তিগত সূচককে একত্রিত করে। কৌশলটির মূলটি দ্রুত এবং ধীর সরল সরল মুভিং গড়ের (এসএমএ) ক্রস সিগন্যালের উপর ভিত্তি করে এবং তুলনামূলকভাবে দুর্বল সূচক (আরএসআই) এবং গড় প্রবণতা সূচক (এডিএক্স) দ্বারা প্রবণতা নিশ্চিত করা হয়, যখন প্রকৃত তরঙ্গের (এটিআর) ব্যবহার করে ঝুঁকি পরিচালনা করা হয়। কৌশলটি তহবিল পরিচালনার নীতি গ্রহণ করে, যা অ্যাকাউন্টের তহবিলের 2% এর বেশি নয়।
এই কৌশলটি নিম্নলিখিত কয়েকটি গুরুত্বপূর্ণ অংশ নিয়ে গঠিতঃ
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সমন্বয় প্রয়োগের মাধ্যমে একটি অপেক্ষাকৃত সম্পূর্ণ প্রবণতা ট্র্যাকিং ট্রেডিং সিস্টেম তৈরি করেছে। কৌশলটি ডিজাইনে সংকেত নির্ভরযোগ্যতা এবং ঝুঁকি পরিচালনার উপর জোর দেয় এবং এটির ভাল ব্যবহারিকতা রয়েছে। সুপারিশ করা অপ্টিমাইজেশনের বাস্তবায়নের মাধ্যমে কৌশলটি আরও কার্যকারিতা বাড়ানোর সম্ভাবনা রয়েছে। এটি রিয়েল-টাইম প্রয়োগের আগে পর্যাপ্ত ফিডব্যাক যাচাইয়ের পরামর্শ দেওয়া হয় এবং নির্দিষ্ট ট্রেডিং জাতের বৈশিষ্ট্য অনুসারে প্যারামিটার অপ্টিমাইজ করা হয়।
/*backtest
start: 2025-02-16 17:00:00
end: 2025-02-20 00:00:00
period: 4m
basePeriod: 4m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("SMA + RSI + ADX + ATR Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=2)
// === Input Parameters ===
sma_fast_length = input(10, title="SMA Fast Period")
sma_slow_length = input(200, title="SMA Slow Period")
rsi_length = input(14, title="RSI Period")
adx_length = input(14, title="ADX Period")
adx_smoothing = input(14, title="ADX Smoothing Period") // <-- New parameter!
atr_length = input(14, title="ATR Period")
// === Filtering Levels for RSI and ADX ===
rsi_buy_level = input(50, title="RSI Buy Level")
rsi_sell_level = input(50, title="RSI Sell Level")
adx_min_trend = input(20, title="ADX Minimum Trend Strength")
// === Trailing Stop ===
use_trailing_stop = input(true, title="Enable Trailing Stop")
trailing_stop_pips = input(30, title="Trailing Stop (Pips)")
trailing_step_pips = input(5, title="Trailing Step (Pips)")
// === Indicators ===
sma_fast = ta.sma(close, sma_fast_length)
sma_slow = ta.sma(close, sma_slow_length)
rsi_value = ta.rsi(close, rsi_length)
[diPlus, diMinus, adx_value] = ta.dmi(adx_length, adx_smoothing) // <-- Corrected: added `adx_smoothing`
atr_value = ta.atr(atr_length)
// === Entry Logic ===
longCondition = ta.crossover(sma_fast, sma_slow) and rsi_value > rsi_buy_level and adx_value > adx_min_trend
shortCondition = ta.crossunder(sma_fast, sma_slow) and rsi_value < rsi_sell_level and adx_value > adx_min_trend
// === Open Positions ===
if longCondition
strategy.entry("BUY", strategy.long)
if shortCondition
strategy.entry("SELL", strategy.short)
// === Trailing Stop ===
if use_trailing_stop
strategy.exit("Exit Long", from_entry="BUY", trail_points=trailing_stop_pips, trail_offset=trailing_step_pips)
strategy.exit("Exit Short", from_entry="SELL", trail_points=trailing_stop_pips, trail_offset=trailing_step_pips)
// === Visualization ===
plot(sma_fast, color=color.blue, title="SMA 10")
plot(sma_slow, color=color.red, title="SMA 200")
hline(rsi_buy_level, title="RSI Buy Level", color=color.green)
hline(rsi_sell_level, title="RSI Sell Level", color=color.red)
hline(adx_min_trend, title="ADX Min Trend Level", color=color.orange)