
এটি একটি ট্রিপল মিডল লাইন ট্রেন্ড ট্র্যাকিং কৌশল যা অলিভার ভ্যালেজ ট্রেডিং পদ্ধতির উপর ভিত্তি করে। এই কৌশলটি বাজারের প্রবণতা এবং ব্যবসায়ের সুযোগগুলি সনাক্ত করতে 20 পিরিয়ড, 50 পিরিয়ড এবং 200 পিরিয়ডের চলমান গড়ের ক্রস সিগন্যাল ব্যবহার করে। 200 পিরিয়ডের মিডল লাইনটি প্রধান প্রবণতা ফিল্টার হিসাবে কাজ করে এবং 20 পিরিয়ড এবং 50 পিরিয়ডের মিডল লাইনের ক্রসগুলি নির্দিষ্ট ট্রেডিং সিগন্যাল তৈরি করতে ব্যবহৃত হয়। কৌশলটি ঝুঁকি ব্যবস্থাপনার বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে, যার মধ্যে স্টপ লস এবং স্টপ লস সেটিং রয়েছে।
এই কৌশলটির মূল তত্ত্বের তিনটি স্তর রয়েছেঃ
এটি একটি কাঠামোগত, যুক্তিসঙ্গতভাবে সুস্পষ্ট প্রবণতা ট্র্যাকিং কৌশল। ট্রিপল গড়ের সমন্বয় দ্বারা প্রবণতা সনাক্তকরণের নির্ভুলতা নিশ্চিত করা এবং স্পষ্ট ট্রেডিং সংকেত সরবরাহ করা হয়। কৌশলটির ঝুঁকি ব্যবস্থাপনার প্রক্রিয়াটি তুলনামূলকভাবে নিখুঁত, তবে এখনও অপ্টিমাইজেশনের জায়গা রয়েছে। ব্যবসায়ীদের রিয়েল-টাইমে ব্যবহারের আগে পর্যাপ্ত প্রতিক্রিয়া দেওয়ার পরামর্শ দেওয়া হয় এবং নির্দিষ্ট ট্রেডিং জাতের বৈশিষ্ট্য অনুসারে প্যারামিটার সেটগুলি সামঞ্জস্য করা উচিত।
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Oliver Valez Triple MA Strategy", overlay=true, margin_long=100, margin_short=100)
// Inputs
ma20_length = input.int(20, "20-period MA Length", minval=1)
ma50_length = input.int(50, "50-period MA Length", minval=1)
ma200_length = input.int(200, "200-period MA Length", minval=1)
use_ema = input.bool(false, "Use EMA Instead of SMA")
sl_percent = input.float(2.0, "Stop Loss %", minval=0.0)
tp_percent = input.float(4.0, "Take Profit %", minval=0.0)
// Calculate MAs
ma20 = use_ema ? ta.ema(close, ma20_length) : ta.sma(close, ma20_length)
ma50 = use_ema ? ta.ema(close, ma50_length) : ta.sma(close, ma50_length)
ma200 = use_ema ? ta.ema(close, ma200_length) : ta.sma(close, ma200_length)
// Plot MAs
plot(ma20, "MA 20", color=color.new(color.blue, 0), linewidth=2)
plot(ma50, "MA 50", color=color.new(color.orange, 0), linewidth=2)
plot(ma200, "MA 200", color=color.new(color.red, 0), linewidth=2)
// Trend Filter
bullish_trend = close > ma200
bearish_trend = close < ma200
// Entry Conditions
long_condition = ta.crossover(ma20, ma50) and bullish_trend
short_condition = ta.crossunder(ma20, ma50) and bearish_trend
// Exit Conditions
exit_long = ta.crossunder(ma20, ma50)
exit_short = ta.crossover(ma20, ma50)
// Risk Management
stop_loss = strategy.position_avg_price * (1 - sl_percent/100)
take_profit = strategy.position_avg_price * (1 + tp_percent/100)
// Execute Trades
if (long_condition)
strategy.entry("Long", strategy.long)
strategy.exit("XL", "Long", stop=stop_loss, limit=take_profit)
if (short_condition)
strategy.entry("Short", strategy.short)
strategy.exit("XS", "Short", stop=stop_loss, limit=take_profit)
// Close trades on opposite signals
if (exit_long)
strategy.close("Long")
if (exit_short)
strategy.close("Short")
// Plot Signals
plotshape(long_condition, "Buy", shape.labelup, location.belowbar, color=color.green, text="BUY", textcolor=color.white)
plotshape(short_condition, "Sell", shape.labeldown, location.abovebar, color=color.red, text="SELL", textcolor=color.white)
// Background Color for Trend
bgcolor(bullish_trend ? color.new(color.green, 90) : bearish_trend ? color.new(color.red, 90) : na)