
এই কৌশলটি দুটি সূচকীয় মুভিং এভারেজ (ইএমএ) ব্যবহার করে দামের প্রবণতার পরিবর্তনগুলি ধরার জন্য। যখন স্বল্পমেয়াদী ইএমএ নীচের দিক থেকে দীর্ঘমেয়াদী ইএমএ অতিক্রম করে তখন একটি কেনার সংকেত উত্পন্ন হয়; যখন স্বল্পমেয়াদী ইএমএ উপরের দিক থেকে দীর্ঘমেয়াদী ইএমএ অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এই কৌশলটি একই সাথে প্রতিদিনের স্টপ লস এবং স্টপ লস সীমাবদ্ধতা সেট করে যাতে এক দিনের ক্ষতি এবং লাভ নিয়ন্ত্রণ করা যায়।
ইএমএ ডাবল মিডল লাইন ক্রসিং কৌশলটি একটি সহজ এবং সহজেই বোঝার মতো ট্রেডিং কৌশল যা ট্রেন্ডিং মার্কেটের জন্য উপযুক্ত। দ্রুত এবং ধীর গড়ের ক্রসিংয়ের মাধ্যমে, দামের প্রবণতার পরিবর্তনগুলি আরও ভালভাবে ধরা যায়। একই সাথে, প্রতিদিনের স্টপ লস এবং স্টপ সেটআপগুলি কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে। তবে এই কৌশলটি বাজারের ঝড় বা প্রবণতা পাল্টানোর সময় দুর্বল হতে পারে এবং অন্যান্য প্রযুক্তিগত সূচক এবং বিশ্লেষণ পদ্ধতির সাথে মিলিতভাবে অপ্টিমাইজ এবং উন্নতি করা দরকার।
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
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/
// © DD173838
//@version=5
strategy("Moving Average Strategy with Daily Limits", overlay=true)
// Moving Average settings
shortMaLength = input.int(9, title="Short MA Length")
longMaLength = input.int(21, title="Long MA Length")
// Calculate MAs
shortMa = ta.ema(close, shortMaLength)
longMa = ta.ema(close, longMaLength)
// Plot MAs
plot(shortMa, title="9 EMA", color=color.blue)
plot(longMa, title="21 EMA", color=color.red)
// Strategy conditions
crossUp = ta.crossover(shortMa, longMa)
crossDown = ta.crossunder(shortMa, longMa)
// Debug plots to check cross conditions
plotshape(series=crossUp, title="Cross Up", location=location.belowbar, color=color.green, style=shape.labelup, text="UP")
plotshape(series=crossDown, title="Cross Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="DOWN")
// Entry at cross signals
if (crossUp)
strategy.entry("Long", strategy.long)
if (crossDown)
strategy.entry("Short", strategy.short)
// Daily drawdown and profit limits
var float startOfDayEquity = na
if (na(startOfDayEquity) or ta.change(time('D')) != 0)
startOfDayEquity := strategy.equity
maxDailyLoss = 50000 * 0.0025
maxDailyProfit = 50000 * 0.02
currentDailyPL = strategy.equity - startOfDayEquity
if (currentDailyPL <= -maxDailyLoss)
strategy.close_all(comment="Max Daily Loss Reached")
if (currentDailyPL >= maxDailyProfit)
strategy.close_all(comment="Max Daily Profit Reached")