এই কৌশলটি একটি চলমান গড় ক্রস এবং এটিআর সূচকের উপর ভিত্তি করে ট্রেডিং ট্র্যাকিংয়ের স্বয়ংক্রিয়করণের জন্য। যখন দ্রুত ইএমএ লাইনটি ধীর ইএমএ লাইনটি অতিক্রম করে, তখন একটি মাল্টি-হেড পজিশন নেওয়া হয়; যখন দ্রুত ইএমএ লাইনটি ধীর ইএমএ লাইনটি অতিক্রম করে, তখন একটি শর্ট-হেড পজিশন নেওয়া হয়। একই সাথে, এটিআর সূচকের সাথে ট্রেডিংয়ের দিকনির্দেশের জন্য ট্রেডিং সংকেতটি কেবল তখনই প্রেরণ করা হয় যখন এটিআর ট্রেডিংয়ের দিকনির্দেশ হিসাবে সিদ্ধান্ত নেয়।
এই কৌশলটি মূলত দুটি প্রযুক্তিগত সূচকের উপর ভিত্তি করে তৈরি করা হয়েছেঃ
ইএমএ গড় লাইন: দ্রুত এবং ধীর দুটি ভিন্ন প্যারামিটারের ইএমএ গড় লাইন ব্যবহার করে, যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন এটি একটি মাল্টিহেড সংকেত হিসাবে বিবেচিত হয়, যখন এটি নীচে অতিক্রম করে তখন এটি একটি খালি হেড সংকেত হিসাবে বিবেচিত হয়।
এটিআর সূচকঃ এটিআর সূচকটি মূল্যের ওঠানামা এবং শক্তি নির্ধারণ করতে পারে, যার ফলে বর্তমান প্রবণতার প্রবণতা নির্ধারণ করা যায়। যখন এটিআর সংখ্যাটি কম থাকে, তখন এটি বর্তমানে স্থির অবস্থানে রয়েছে, তখন পজিশন স্থাপন করা উচিত নয়; যখন এটিআর সংখ্যাটি বড় হয় এবং উপরের দিকে থাকে, তখন এটি ট্রেন্ড মার্কেটে থাকে, তখন ইএমএ সোনার ফর্কের জন্য অপেক্ষা করে। যখন এটিআর সংখ্যাটি বড় হয় এবং নীচের দিকে থাকে, তখন এটি ট্রেন্ড মার্কেটে থাকে, তখন ইএমএ মৃত ফর্কের জন্য অপেক্ষা করে।
ইএমএ গড় রেখার ক্রসিংয়ের মাধ্যমে ক্রয়-বিক্রয়ের সুযোগগুলি সন্ধান করুন এবং এটিআর সূচকগুলির সাথে মিলিত হয়ে দুর্বল ট্রেডিং সংকেতগুলিকে ফিল্টার করুন যাতে বাজারের অস্থির সমাপ্তির সময় বন্দী না হয়।
এই কৌশলটির সুবিধাগুলো হলঃ
এটিআর সূচকগুলি ট্রেন্ডিং হিসাবে চিহ্নিত হলেই ট্রেড করুন, যা অজানা ঝাঁকুনির সময় বন্দী হওয়া এড়াতে সহায়তা করে।
ক্রয়-বিক্রয় করার জন্য ক্রস-রেখার ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ক্রস-রেখার নীতি ব্যবহার করুন।
EMA গড় রেখার সংবেদনশীলতা এবং মসৃণতা প্যারামিটার নিয়ন্ত্রণের মাধ্যমে ব্যক্তিগত পছন্দ অনুসারে সামঞ্জস্য করা যেতে পারে।
শুধুমাত্র দুটি সহজ সূচক ব্যবহার করে একটি সম্পূর্ণ স্বয়ংক্রিয় ট্রেডিং সিস্টেম প্রয়োজন যা সহজেই পিন এডিটর ব্যবহার করে কৌশল বিকাশ এবং অপ্টিমাইজ করা যায়।
প্যারামিটার সেট এবং ভুলে যাওয়ার সহজ কৌশলগুলি বাস্তবায়নের জন্য প্রায়শই প্যারামিটারগুলি সামঞ্জস্য করার দরকার নেই।
এই কৌশলটির কিছু ঝুঁকিও রয়েছে যা সম্পর্কে আমাদের সতর্ক থাকতে হবেঃ
ইএমএ ক্রস করা সহজেই মিথ্যা সংকেত তৈরি করতে পারে এবং অপ্রয়োজনীয় ক্ষতির কারণ হতে পারে। ইএমএ প্যারামিটারগুলি সামঞ্জস্য করে কিছু সূচককে মসৃণ করা যেতে পারে।
এটিআর সূচক কখনও কখনও সমন্বয় এবং প্রবণতা সম্পর্কে ভুল বিচার করতে পারে, যার ফলে ব্যবসায়ের সুযোগগুলি মিস করা যায়। এটিআর এর সংখ্যাগত থ্রেশহোল্ডটি যথাযথভাবে শিথিল করা যেতে পারে।
এই কৌশলটি বড় আকারের ফ্যাক্টর অ্যানালাইসিসকে বিবেচনা করে না, এবং যদি কোনও বড় খবরের মুখোমুখি বাজারটি বিপরীত হয়, তবে দ্রুত এবং সমান্তরাল ক্রস দ্বারা বিচার করা কঠিন, যার জন্য ম্যানুয়াল হস্তক্ষেপের প্রয়োজন হয়।
কিছু অপ্টিমাইজেশান দিয়ে এই ঝুঁকিগুলিকে কমিয়ে আনা সম্ভব।
এই কৌশলটির আরও কয়েকটি প্রধান অপ্টিমাইজেশান রয়েছেঃ
অন্যান্য সূচকগুলি বিবেচনা করা যেতে পারে, সূচক সমন্বয় ব্যবস্থা তৈরি করতে, সংকেতের নির্ভুলতা বাড়াতে। উদাহরণস্বরূপ, আরএসআই সূচকের সাথে একত্রিত হয়ে ওভারবয় ওভারসোলের ঝুঁকি এড়ানো যায়।
বিভিন্ন ট্রেডিং প্রকার এবং বিভিন্ন ট্রেডিং অঞ্চলের জন্য আরও উপযুক্ত প্যারামিটার নির্বাচন করা যেতে পারে, যাতে EMA এবং ATR এর প্যারামিটারগুলি বর্তমান বাজারের বৈশিষ্ট্যগুলির সাথে আরও মিলিত হয়।
মেশিন লার্নিং এবং অন্যান্য পদ্ধতির মাধ্যমে গতিশীল প্যারামিটার অপ্টিমাইজেশন করা যায়।
এই কৌশলটি সামগ্রিকভাবে একটি খুব ব্যবহারিক প্রবণতা ট্র্যাকিং কৌশল। শুধুমাত্র দুটি সহজ সূচক সমন্বয় প্রয়োজন যা একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেডিং সিস্টেম অর্জন করতে পারে। এটি প্যারামিটারগুলি সামঞ্জস্য করার মাধ্যমে বিভিন্ন পছন্দসই ব্যবসায়ীদের সাথে খাপ খাইয়ে নিতে পারে। এটি আরও উন্নত করার জন্য আরও অপ্টিমাইজেশনের জন্য জায়গা রয়েছে, যা কৌশলটিকে আরও ভাল করে তোলে। সহজ এবং কার্যকর ট্রেডিং চিন্তাভাবনা এবং ভাল অপ্টিমাইজেশনের সম্ভাবনা এটিকে দীর্ঘমেয়াদী গবেষণা এবং প্রয়োগের জন্য মূল্যবান একটি পরিমাণযুক্ত কৌশল হিসাবে তৈরি করে।
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This strategy has been created for GMT trade 4h by Zhukov
//@version=5
strategy('ZhukovTrade', overlay=true, calc_on_every_tick=true, currency=currency.USD)
// INPUT:
// Options to enter fast and slow Exponential Moving Average (EMA) values
emaFast = input.int(title='Fast EMA', defval=100, minval=1, maxval=9999)
emaSlow = input.int(title='Slow EMA', defval=200, minval=1, maxval=9999)
// Option to select trade directions
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both')
// Options that configure the backtest date range
startDate = input(title='Start Date', defval=timestamp('01 Jan 2023 00:00'))
endDate = input(title='End Date', defval=timestamp('31 Dec 2023 23:59'))
// CALCULATIONS:
// Use the built-in function to calculate two EMA lines
fastEMA = ta.ema(close, emaFast)
slowEMA = ta.ema(close, emaSlow)
emapos = ta.ema(close,200)
// PLOT:
// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.new(color.orange, 0), linewidth=2)
plot(series=slowEMA, color=color.new(color.blue, 0), linewidth=2)
plot(series=emapos, color=color.new(color.red, 0), linewidth=2)
// CONDITIONS:
// Check if the close time of the current bar falls inside the date range
inDateRange = true
// Translate input into trading conditions
longOK = tradeDirection == 'Long' or tradeDirection == 'Both'
shortOK = tradeDirection == 'Short' or tradeDirection == 'Both'
// Decide if we should go long or short using the built-in functions
longCondition = ta.crossover(fastEMA, slowEMA)
shortCondition = ta.crossunder(fastEMA, slowEMA)
// ORDERS:
// Set take profit and stop loss percentages
take_profit_percent = input(0, title="Take Profit Percent")
stop_loss_percent = input(0, title="Stop Loss Percent")
// Submit entry (or reverse) orders
atrPeriod = input(12, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false)
if longCondition and inDateRange
if longOK and direction<0
strategy.entry(id='long', direction=strategy.long, alert_message = "LONG")
if shortCondition and inDateRange
if shortOK and direction>0
strategy.entry(id='short', direction=strategy.short, alert_message = "SHORT")
// Submit exit orders in the cases where we trade only long or only short
if strategy.position_size > 0 and take_profit_percent
strategy.exit(id='tp long',from_entry ="long",profit = take_profit_percent)
if strategy.position_size > 0 and stop_loss_percent
strategy.exit(id='sl long',from_entry="long",loss=stop_loss_percent)
if strategy.position_size < 0 and stop_loss_percent
strategy.exit(id='sl short',from_entry="short",loss=stop_loss_percent)
if strategy.position_size < 0 and take_profit_percent
strategy.exit(id='tp short',from_entry="short",profit = take_profit_percent)