
এই কৌশলটি ট্রেডিং সিস্টেম অনুসরণকারী একটি প্রবণতা যা চলমান গড় ক্রসওভার সংকেত এবং ATR ঝুঁকি ব্যবস্থাপনাকে একত্রিত করে। কৌশলটি দ্রুত এবং ধীর গতির গড়গুলির সংযোগের মাধ্যমে বাজারের প্রবণতা ক্যাপচার করে এবং ট্রেডিং ঝুঁকিগুলির সুনির্দিষ্ট নিয়ন্ত্রণ অর্জনের জন্য গতিশীলভাবে স্টপ লস এবং লাভের মাত্রা সামঞ্জস্য করতে ATR সূচক ব্যবহার করে। কৌশলটিতে একটি ফান্ড ম্যানেজমেন্ট মডিউলও রয়েছে যা অ্যাকাউন্ট ইক্যুইটি এবং পূর্বনির্ধারিত ঝুঁকির পরামিতিগুলির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে অবস্থানের আকার সামঞ্জস্য করে।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:
এই কৌশলটি মুভিং এভারেজ ক্রসওভারের মাধ্যমে ট্রেন্ড ক্যাপচার করে এবং ট্রেডিং সিস্টেম অনুসরণ করে একটি সম্পূর্ণ প্রবণতা অর্জনের জন্য এটি ATR ডাইনামিক রিস্ক কন্ট্রোলের সাথে একত্রিত করে। কৌশলটির সুবিধা তার অভিযোজনযোগ্যতা এবং ঝুঁকি নিয়ন্ত্রণের ক্ষমতার মধ্যে নিহিত, তবে এটি অস্থির বাজারে ভাল পারফর্ম নাও করতে পারে। ট্রেন্ড ফিল্টার যোগ করে এবং মানি ম্যানেজমেন্ট সিস্টেমকে অপ্টিমাইজ করে কৌশলটির সামগ্রিক কর্মক্ষমতায় উন্নতির সুযোগ রয়েছে।
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © davisash666
//@version=5
strategy("Trend-Following Strategy", overlay=true)
// Inputs for strategy parameters
timeframe = input.timeframe("D", "Timeframe")
risk_tolerance = input.float(2.0, "Risk Tolerance (%)", step=0.1) / 100
capital_allocation = input.float(200, "Capital Allocation (%)", step=1) / 100
// Technical indicators (used to emulate machine learning)
ma_length_fast = input.int(10, "Fast MA Length")
ma_length_slow = input.int(50, "Slow MA Length")
atr_length = input.int(14, "ATR Length")
atr_multiplier = input.float(1.5, "ATR Multiplier")
// Calculations
fast_ma = ta.sma(close, ma_length_fast)
slow_ma = ta.sma(close, ma_length_slow)
atr = ta.atr(atr_length)
// Entry and exit conditions
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)
// Risk management
stop_loss_long = close - (atr * atr_multiplier)
stop_loss_short = close + (atr * atr_multiplier)
take_profit_long = close + (atr * atr_multiplier)
take_profit_short = close - (atr * atr_multiplier)
// Capital allocation
position_size = strategy.equity * capital_allocation
// Execute trades
if long_condition
strategy.entry("Long", strategy.long, qty=position_size / close)
strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_long, limit=take_profit_long)
if short_condition
strategy.entry("Short", strategy.short, qty=position_size / close)
strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_short, limit=take_profit_short)
// Plotting for visualization
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(stop_loss_long, color=color.blue, title="Stop Loss (Long)", linewidth=1, style=plot.style_cross)
plot(take_profit_long, color=color.purple, title="Take Profit (Long)", linewidth=1, style=plot.style_cross)