
এই কৌশলটি EMA গড়রেখা, Bollinger Bands এবং MACD সূচক ব্যবহার করে, EMA 9 গড়রেখা এবং 30 গড়রেখার গোল্ডেন ফর্ক ডেড ফর্কের উপর ভিত্তি করে, দামের বিস্তার এবং গতিশীলতার সূচকগুলির সাথে মিলিত হয়ে কেনা বেচা করার সময় নির্ধারণ করে।
৩ দিনের ইএমএ, ৯ দিনের ইএমএ এবং ৩০ দিনের ইএমএ গণনা করা হয়েছে।
২০ দিনের মধ্যে মূল্যের স্ট্যান্ডার্ড ডিফেন্ডার গণনা করুন এবং 1x এবং 2x স্ট্যান্ডার্ড ডিফেন্ডার রেঞ্জের বোলিংগার ব্যান্ডগুলি আঁকুন।
১২ তারিখ, ২৬ তারিখের MACD এবং ৯ তারিখের সংকেত লাইন গণনা করুন।
যখন ৯ তারিখের ইএমএ ৩০ দিনের ইএমএ অতিক্রম করে এবং দামটি স্ট্যান্ডার্ড বিভাজনের বোলিংগার ব্যান্ডের ঊর্ধ্বসীমার ১ গুণ অতিক্রম করে, তখন একটি ক্রয় সংকেত দেওয়া হয়।
যখন ৩০ দিনের ইএমএ ৯ দিনের ইএমএ অতিক্রম করে এবং দাম ১ গুণ স্ট্যান্ডার্ড বিভাজনের নীচে থাকে তখন একটি বিক্রয় সংকেত দেওয়া হয়।
এই কৌশলটি গড়রেখার সূচক এবং গতিশীলতার সূচকগুলির সাথে মিলিত হয়, যা বাজারের প্রবণতা এবং সময়কে আরও ভালভাবে ধরে রাখে এবং এর নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
ইএমএ সূচকগুলি বাজারের প্রবণতা নির্ধারণের জন্য মূল্যের পরিবর্তনের দ্রুত প্রতিক্রিয়া জানায়; MACD সূচকগুলির বিচারকতা, মিথ্যা ব্রেকডাউন প্রতিরোধ করে।
Bollinger Bands স্ট্যান্ডার্ড ডিফারেন্স ইন্ডেক্স EMA এর সাথে মিলিত হয়, যা ক্রয় এবং বিক্রয়ের সময়কে আরও সুনির্দিষ্টভাবে নির্ধারণ করতে পারে।
একাধিক সূচক সমন্বয় করা যায়, যা একে অপরের পরিপূরক। একটি ব্রেকআউটে, বিভিন্ন সূচক বিচারকে যাচাই করতে পারে।
এই কৌশলটির কিছু ঝুঁকিও রয়েছে এবং নিম্নলিখিত বিষয়গুলিকে লক্ষ্য করে অপ্টিমাইজেশান করা প্রয়োজনঃ
ইএমএ সমান্তরাল সমন্বয়গুলিকে সামঞ্জস্য করা এবং অপ্টিমাইজ করা যায়, এবং বিভিন্ন চক্রগুলি প্রবণতাকে আরও ভালভাবে ধরতে পারে।
Bollinger Bands প্যারামিটারগুলি অপ্টিমাইজ করা যায়, ভুয়া সংকেতগুলি ফিল্টার করার জন্য পরিবর্তনশীল গুণক মানটি খারাপ।
MACD সূচক প্যারামিটারগুলিকে অপ্টিমাইজ করা এবং সংমিশ্রণ করা যেতে পারে, যার ফলে বিচক্ষণতার প্রভাব বাড়তে পারে।
এই কৌশলটি বড় প্রবণতা নির্ধারণের জন্য ইএমএ গড়রেখার সূচককে সংহত করে, বোলিংগার ব্যান্ডের সূচক দ্বারা সমর্থিত, যখন শক্তি বেশি থাকে তখন সঠিকভাবে ক্রয়-বিক্রয় পয়েন্টগুলি ধরে রাখতে পারে; MACD সূচকটি প্রবণতা নিশ্চিতকরণকে পরিপূরক করে, যা মিথ্যা সংকেতগুলিকে কার্যকরভাবে ফিল্টার করতে পারে। প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে এই কৌশলটি আরও কার্যকর হতে পারে।
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("emabb_collab", shorttitle="emabb", overlay=true)
// Input parameters
ema3 = input(3, title="3 EMA")
ema9 = input(9, title="9 EMA")
ema30 = input(30, title="30 EMA")
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev1 = mult * ta.stdev(src, length)
upper1 = basis + dev1
lower1 = basis - dev1
dev2 = mult * 2 * ta.stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper1, "Upper1", color=#2962FF)
p2 = plot(lower1, "Lower1", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
plot(basis, "Basis", color=#FF6D00)
p3 = plot(upper2, "Upper2", color=#00FF8C)
p4 = plot(lower2, "Lower2", color=#00FF8C)
fill(p3, p4, title = "Background", color=color.rgb(0, 153, 140, 95))
// Calculate EMAs
ema3Value = ta.ema(close, ema3)
ema9Value = ta.ema(close, ema9)
ema30Value = ta.ema(close, ema30)
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)
// Conditions for buy signal
buyCondition = ta.crossover(ema9Value, ema30Value) and ta.stdev(close, 20) > ta.stdev(close, 20)[1]
//Conditions for sell signal
sellCondition = ta.crossover(ema30Value, ema9Value) and ta.stdev(close, 20) < ta.stdev(close, 20)[1]
// Plot signals on the chart
plotshape(buyCondition, title='Buy Label', style=shape.triangleup, location=location.belowbar, size=size.normal, text='Buy', textcolor=color.new(color.white, 0), color=color.new(color.green, 0))
plotshape(sellCondition, title='sell Label', style=shape.triangledown, location=location.abovebar, size=size.normal, text='sell', textcolor=color.new(color.white, 0), color=color.new(color.red, 0))
// Plot EMAs
plot(ema3Value, title="3 EMA", color=color.orange)
plot(ema9Value, title="9 EMA", color=color.purple)
plot(ema30Value, title="30 EMA", color=color.red)
if buyCondition
strategy.entry('Long', strategy.long)
if sellCondition
strategy.entry('Short', strategy.short)