
এই কৌশলটি দ্রুত চলমান গড়, ধীর চলমান গড় এবং ক্রস-ওয়েটেড গড় মূল্য গণনা করে এবং তাদের মধ্যে ক্রস-সিগন্যালগুলি সনাক্ত করে দামের গতিশীলতা ক্যাপচার করে। যখন দ্রুত এমএ নীচে থেকে ভিডাব্লুএপি এবং ধীর এমএ অতিক্রম করে তখন একটি কেনার সংকেত তৈরি করে; যখন দ্রুত এমএ উপরে থেকে নীচে ভিডাব্লুএপি এবং ধীর এমএ অতিক্রম করে তখন একটি বিক্রয় সংকেত তৈরি করে।
এই কৌশলটি মুভিং এভারেজ এবং ট্রেডিং ভলিউম ওয়াইড এভারেজের সুবিধাগুলিকে একত্রিত করে। মুভিং এভারেজগুলি কার্যকরভাবে বাজারের শব্দটি ফিল্টার করতে পারে এবং প্রবণতার দিকনির্দেশ দেয়। ট্রেডিং ওয়াইড এভারেজগুলি বড় অর্থের অভিপ্রায়কে আরও সঠিকভাবে প্রতিফলিত করে। দ্রুত এমএগুলি স্বল্পমেয়াদী প্রবণতা ক্যাপচার করতে পারে এবং ধীর এমএগুলি মিথ্যা সংকেতগুলিকে ফিল্টার করে। যখন দ্রুত এমএগুলি ধীর এমএ এবং ভিডাব্লুএপি দিয়ে যায়, তখন স্বল্পমেয়াদী প্রবণতাটি বুলিশ হয়ে যায় এবং একটি কেনার সংকেত তৈরি করে।
এই কৌশলটি চলমান গড় এবং ভিডাব্লুএপি-র সুবিধাগুলিকে একত্রিত করে, দ্বৈত ফিল্টারিংয়ের মাধ্যমে ক্রস সিগন্যালগুলি সনাক্ত করে, এবং একটি নমনীয় স্টপ-অফ-স্টপিংয়ের সাথে যুক্ত, যা ঝুঁকিগুলি কার্যকরভাবে নিয়ন্ত্রণ করতে পারে, এটি একটি প্রস্তাবিত ট্রেন্ড ট্র্যাকিং কৌশল।
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Flexible MA VWAP Crossover Strategy with SL/TP", shorttitle="MA VWAP Crossover", overlay=true)
// Input parameters
fast_length = input(9, title="Fast MA Length", minval=1)
slow_length = input(21, title="Slow MA Length", minval=1)
vwap_length = input(14, title="VWAP Length", minval=1)
// Stop Loss and Take Profit inputs
stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=5.0, step=0.1)
take_profit_percent = input(2.0, title="Take Profit (%)", minval=1.0, maxval=10.0, step=0.1)
// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)
vwap = sma(close * volume, vwap_length) / sma(volume, vwap_length)
// Buy and sell conditions
buy_condition = crossover(fast_ma, vwap) and crossover(fast_ma, slow_ma)
sell_condition = crossunder(fast_ma, vwap) and crossunder(fast_ma, slow_ma)
// Plot the moving averages
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)
plot(vwap, title="VWAP", color=color.purple)
// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal")
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal")
// Define stop loss and take profit levels
var float stop_loss_price = na
var float take_profit_price = na
if (buy_condition)
stop_loss_price := close * (1 - stop_loss_percent / 100)
take_profit_price := close * (1 + take_profit_percent / 100)
// Strategy entry and exit with flexible SL/TP
strategy.entry("Buy", strategy.long, when = buy_condition)
if (sell_condition)
strategy.exit("SL/TP", from_entry = "Buy", stop = stop_loss_price, limit = take_profit_price)