
এই কৌশলটি চলমান গড়ের উপর ভিত্তি করে প্রবণতার দিকে অগ্রসর হয় এবং স্বল্পমেয়াদী পুনর্বিবেচনার পরে পজিশন খোলার জন্য প্রবণতা-অনুসরণ প্রকারের কৌশল।
এই কৌশলটি 3 টি ভিন্ন পিরিয়ডের ইএমএ লাইন ব্যবহার করে, ইএমএ 1 লাইনটি স্বল্পমেয়াদী প্রবণতা নির্ধারণের জন্য ব্যবহৃত হয়, যা অন্য দুটি ইএমএ লাইনের চেয়ে সংক্ষিপ্ত; ইএমএ 2 লাইন এবং ইএমএ 3 লাইনটি মধ্য-দীর্ঘমেয়াদী প্রবণতা নির্ধারণের জন্য ব্যবহৃত হয়, যার মধ্যে ইএমএ 3 লাইনটি দীর্ঘতম। যখন স্বল্পমেয়াদী ইএমএ 1 লাইনের উপরে থাকে, তখন ইএমএ 2 লাইনটি ইএমএ 3 লাইনের উপরে থাকে, তখন মধ্য-দীর্ঘমেয়াদীও উত্থান প্রবণতার মধ্যে থাকে, তাই এটি একটি ভাল অতিরিক্ত সময়।
স্টপ লস প্লেইন লাইন এবং স্টপ লস প্লেইন লাইন সেট করুন, যা লাভের উপর লক করতে পারে। বিশেষত, স্টপ লস লাইনটি এটিআর এর মান অনুসারে চলে, স্টপ লস লাইনটি এটিআর এর মান অনুসারে চলে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল এটি কার্যকরভাবে মাঝারি এবং দীর্ঘমেয়াদী মুনাফা প্রবণতা ক্যাপচার করতে সক্ষম, এবং একই সাথে স্বল্পমেয়াদী সংশোধন বিবেচনা করে, যা এটির হোল্ডিং সময় এবং মুনাফা স্থান উভয়ই যথেষ্ট করে তোলে।
এছাড়াও, স্টপ লস এবং স্টপ থামার ব্যবস্থা রয়েছে যা ঝুঁকি নিয়ন্ত্রণে রাখতে সাহায্য করে।
এই কৌশলটির সবচেয়ে বড় ঝুঁকি হল ট্রেন্ড রিভার্স পয়েন্টটি নির্ধারণ করতে না পারা, যদি মাঝারি-লম্বা লাইন ট্রেন্ডটি উল্টে যায় এবং স্বল্পমেয়াদে বাড়তে থাকে, তবে এটি ভুলভাবে একাধিক সংকেত প্রেরণ করে প্রবেশ করতে পারে, যার ফলে বড় ক্ষতি হতে পারে।
এছাড়াও, অপ্রয়োজনীয় ব্যবসায়িক ক্ষতির সম্ভাবনা রয়েছে।
EMA-এর চক্রের প্যারামিটারগুলিকে নির্দিষ্ট ট্রেডিং জাতের বৈশিষ্ট্য অনুসারে সামঞ্জস্য করার জন্য বিবেচনা করা যেতে পারে, যাতে এটি এই জাতের মধ্যম-দৈর্ঘ্যযুক্ত চক্রের সাথে আরও মিলিত হয়।
অন্য সূচকগুলির সাথে সংযুক্ত করে, স্বল্পমেয়াদী সমন্বয়ের সমাপ্তি নির্ধারণ করা যায়, যাতে ভুল প্রবেশ এড়ানো যায়।
এটিআর মানের আকারের উপর নির্ভর করে স্টপ-ড্রপ ফ্যাক্টরটি সামঞ্জস্য করার কথা বিবেচনা করা যেতে পারে। এটিআর বড় হলে স্টপ-ড্রপ দূরত্বটি যথাযথভাবে শিথিল করা যেতে পারে।
এই কৌশলটি সামগ্রিকভাবে একটি ভাল পারফরম্যান্স মিডল লং লাইন ট্রেন্ড ট্র্যাকিং কৌশল। চলন্ত গড়ের মাধ্যমে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ, রিডাউন সিগন্যাল প্রবেশের সময় নির্ধারণ এবং স্টপ লস সেটআপের মাধ্যমে লাভ-ক্ষতি লক করার জন্য। তবে কিছুটা অন্ধ অনুসরণ করার ঝুঁকিও রয়েছে, ট্রেডারদের নিজস্ব বিচার সম্পর্কে সিদ্ধান্ত নেওয়ার জন্য প্রবেশের সিদ্ধান্ত নেওয়া দরকার।
/*backtest
start: 2024-01-21 00:00:00
end: 2024-01-28 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Trend Continuation', shorttitle='Trend_Continuation', overlay=true)
// Input
price = input(close)
MA1_Length = input.int(50, step=1, title='EMA 1 Length')
MA2_Length = input.int(80, step=1, title='EMA 2 Length')
MA3_Length = input.int(200, step=1, title='EMA 3 Length')
numberOfCandles = input(1)
slATRFactor = input(3.5)
tpATRFactor = input(3.5)
ATRLength = input(14)
// switch1=input(true, title="Show Bar Color?")
// switch2=input(true, title="Show Moving Averages?")
// Calculation
MA1 = ta.ema(price, MA1_Length)
MA2 = ta.ema(price, MA2_Length)
MA3 = ta.ema(price, MA3_Length)
prev_price = close[numberOfCandles]
// Strategy
allPositive = true
for i = 0 to numberOfCandles - 1 by 1
if close[i] < close[i + 1] or close[i] < MA1
allPositive := false
break
long = MA2 > MA3 and price > MA1 and ta.crossunder(prev_price, MA1) and allPositive
// short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1) and change(MA2)<0 )
if long
strategy.entry('Long', strategy.long, comment='Long')
bought = strategy.position_size[0] > strategy.position_size[1]
atrAtLong = ta.valuewhen(bought, ta.atr(ATRLength), 0)
// Stop loss and take profit
slPrice = strategy.position_avg_price - slATRFactor * atrAtLong
tpPrice = strategy.position_avg_price + tpATRFactor * atrAtLong
SL = plot(slPrice, title='SL', style=plot.style_linebr, linewidth=1, color=color.new(color.red, 0))
if price >= tpPrice and price < MA1
strategy.close('Long')
if price < strategy.position_avg_price
strategy.exit('Stop Loss', 'Long', stop=slPrice)
// Strategy Alert
alertcondition(long, title='Long Alert', message='Go Long!')
// alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!')
// MA trend bar color
// up = change(MA2)>0 and change(MA3)>0
// dn = change(MA2)<0 and change(MA3)<0
// bar_color = up?green:dn?red:blue
// barcolor(switch1?bar_color:na)
// MA trend output color
change_1 = ta.change(MA2)
MA2_color = ta.change(MA2) > 0 ? color.lime : change_1 < 0 ? color.red : color.blue
change_2 = ta.change(MA3)
MA3_color = ta.change(MA3) > 0 ? color.lime : change_2 < 0 ? color.red : color.blue
// MA output
// EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color)
// EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color)
// fill(EMA2, EMA3, color=silver, transp=50)
color_1 = MA2 > MA3 ? color.green : color.red
EMA1 = plot(MA1, title='EMA 1', style=plot.style_linebr, linewidth=1, color=color_1)
// EMA2 = plot(MA2, title="EMA 2", style=linebr, linewidth=2, color=blue)
// EMA3 = plot(MA3, title="EMA 3", style=linebr, linewidth=3, color=red)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)