
এই কৌশলটি দ্রুত চলমান গড় এবং ধীর চলমান গড় ব্যবহার করে ট্রেডিং সিগন্যাল তৈরি করে যাতে ট্রেন্ড সনাক্তকরণ এবং ট্র্যাকিং করা যায়। যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন একটি কেনার সংকেত উত্পন্ন হয়। যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এই কৌশলটি মাঝারি এবং দীর্ঘ লাইন প্রবণতা অনুসরণ করার জন্য উপযুক্ত, যা কার্যকরভাবে বাজার শব্দকে ফিল্টার করতে পারে।
এই কৌশলটি ট্রেডিং সিদ্ধান্তের ভিত্তিতে দুটি ভিন্ন পিরিয়ডের এক্সপোনেন্সিয়াল মুভিং এভারেজ ব্যবহার করে। দ্রুত চলমান গড় প্যারামিটারটি 30 দিনের জন্য সেট করা হয়েছে, যা তুলনামূলকভাবে স্বল্প সময়ের দামের পরিবর্তনগুলি ধরতে ব্যবহৃত হয়। ধীর চলমান গড় প্যারামিটারটি 100 দিনের জন্য সেট করা হয়েছে, যা দামের দীর্ঘ লাইন প্রবণতার দিক নির্ধারণ করতে ব্যবহৃত হয়।
যখন দ্রুত লাইন নীচের থেকে ধীর লাইন অতিক্রম করে, তখন বাজারটি একটি উত্থান প্রবণতা প্রবেশ করে, একটি কেনার সংকেত উত্পন্ন করে; যখন দ্রুত লাইন নীচের থেকে ধীর লাইন অতিক্রম করে, তখন বাজারটি একটি পতন প্রবণতা প্রবেশ করে, একটি বিক্রয় সংকেত উত্পন্ন করে।
এই কৌশলটির সুবিধাগুলো হলঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
এই কৌশলটি দ্বৈত সমান্তরাল ভিত্তিক ট্রেডিং সিদ্ধান্ত গ্রহণের সিস্টেমের উপর ভিত্তি করে, দ্রুত গড় এবং ধীর গড়ের দামের সম্পর্কের মাধ্যমে বাজারের প্রবণতা নির্ধারণ করে, সংকেতটি সহজ এবং পরিষ্কার উত্পন্ন করে। এই কৌশলটি আংশিক গোলমালকে ফিল্টার করে, মধ্যম এবং দীর্ঘ লাইনের প্রবণতা ব্যবসায়ের জন্য উপযুক্ত। তবে কিছু ত্রুটিও রয়েছে, একাধিক সূচক অপ্টিমাইজেশন এবং ঝুঁকি নিয়ন্ত্রণের মাধ্যমে এই কৌশলটি আরও সাধারণ এবং দক্ষতার সাথে অপ্টিমাইজ করা যেতে পারে।
/*backtest
start: 2023-01-21 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("EMA Strategy v2", shorttitle = "EMA Strategy v2", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)
// === Inputs ===
// short ma
maFastSource = input(defval = close, title = "Fast MA Source")
maFastLength = input(defval = 30, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = close, title = "Slow MA Source")
maSlowLength = input(defval = 100, title = "Slow MA Period", minval = 1)
// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop = input(defval = true, title = "Use Initial Stop Loss?")
slPoints = input(defval = 0, title = "Initial Stop Loss Points", minval = 1)
useTS = input(defval = true, title = "Use Trailing Stop?")
tslPoints = input(defval = 0, title = "Trail Points", minval = 1)
useTSO = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset = input(defval = 0, title = "Trail Offset Points", minval = 1)
// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)
plot(fastMA, color=blue)
plot(slowMA, color=purple)
goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())
// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())
if (useStop)
strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.58)