
গ্র্যাডিয়েন্ট মুভিং এভারেজ (ইএমএ) ট্রেডিং কৌশল হল একটি কৌশল যা দুটি ভিন্ন প্যারামিটার সেট করা সূচকীয় মুভিং গড় (ইএমএ) এর ক্রস সিগন্যালের উপর ভিত্তি করে ট্রেডিং করে। এটি একটি সংক্ষিপ্ত সময়ের ইএমএ লাইন এবং একটি দীর্ঘ সময়ের ইএমএ লাইন ব্যবহার করে, যখন তারা ক্রস হয় তখন ট্রেডিং সিগন্যাল তৈরি করে, দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে এবং নীচে অতিক্রম করে। এই কৌশলটি স্টপ লস, ট্র্যাকিং স্টপস ইত্যাদি ঝুঁকি ব্যবস্থাপনার কৌশলগুলির সাথে যুক্ত করে মুনাফা লক করতে এবং ঝুঁকি নিয়ন্ত্রণ করতে।
এই কৌশলটির কেন্দ্রীয় সূচক দুটি ইএমএ লাইনঃ দ্রুত এবং ধীর লাইন। দ্রুত লাইন পরামিতিগুলি 13 দিনের লাইনে ডিফল্টভাবে সেট করা হয়, দামের পরিবর্তনের প্রতি আরও সংবেদনশীল; ধীর লাইন পরামিতিগুলি 48 দিনের লাইনে ডিফল্টভাবে সেট করা হয়, দামের পরিবর্তনের প্রতি আরও ধীর প্রতিক্রিয়া। যখন সংক্ষিপ্ত লাইনটি দ্রুত বৃদ্ধি পায়, দ্রুত লাইনটি ধীর লাইনের আগে উঠে যায়; যখন সংক্ষিপ্ত লাইনটি হ্রাস পায়, দ্রুত লাইনটি ধীর লাইনের চেয়েও দ্রুত পড়ে যায়। সুতরাং, দ্রুত লাইনটি ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে
এই নীতি অনুসারে, এই কৌশলটি যখন দ্রুত লাইনটি নীচে থেকে উপরে ধীর লাইনটি ভেঙে দেয়, তখন দাম বাড়তে শুরু করে এবং ক্রয় করা যায়; যখন দ্রুত লাইনটি উপরে থেকে নীচে ধীর লাইনটি ভেঙে যায়, তখন এটি বন্ধ হয়ে যায়। ঝুঁকি নিয়ন্ত্রণের জন্য, কৌশলটি প্রাথমিক স্টপ লস এবং ট্র্যাকিং স্টপ লসও সেট করেঃ প্রাথমিক স্টপ লস প্রবেশের দামের 8% এবং ট্র্যাকিং স্টপ লস দূরত্বটি 120 পয়েন্ট বলে মনে করা হয়। এটি যত তাড়াতাড়ি সম্ভব থামতে পারে এবং ক্ষতি হ্রাস করতে পারে যখন দাম বিপরীত হয়।
কোড বাস্তবায়নের ক্ষেত্রে, এই কৌশলটি ক্রসওভার এবং ক্রসউন্ডার ফাংশনগুলির মাধ্যমে ইএমএ ক্রস সংকেত নির্ধারণ করে, ক্রসওভারটি ঘটে যখন ক্রসওভারটি ক্রয় এবং শান্তি পজিশনের জন্য প্রাসঙ্গিক এন্ট্রি এবং ক্লোজকে ট্রিগার করে।
ধীরে ধীরে সমান্তরাল ট্রেডিং কৌশল নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
কৌশলগত সংকেতগুলি সহজ, স্পষ্ট, সহজেই বোঝা যায় এবং নতুনদের শেখার জন্য উপযুক্ত।
গড়রেখার সূচকটি বাজারের গোলমালের উপর ভাল প্রভাব ফেলে এবং প্রবণতার পরিবর্তনগুলি সনাক্ত করতে পারে;
কনফিগারযোগ্যতা, দ্রুত এবং ধীর লাইন পরামিতি এবং স্টপ পয়েন্ট বিন্যাস কাস্টমাইজ করা যায়;
স্টপ লস পদ্ধতির সাহায্যে, ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করা যায়।
“এটা একটা স্থিতিশীলতা।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
বাজারের তীব্র অস্থিরতার সময়, ইএমএ ক্রস সিগন্যাল বিলম্বিত হতে পারে এবং সময়মত মূল্য পরিবর্তনের প্রতিফলন করতে পারে না;
খুব দ্রুত গড় রেখা সূচক প্যারামিটার সমন্বয়, আরো ভুল সংকেত উত্পন্ন হতে পারে;
প্রবণতা দুর্বল হলে, ইএমএ ক্রসও কম হয়, যার ফলে দামের প্রবণতা কার্যকরভাবে ধরা যায় না।
এই কৌশলটি নিজেই বড় আকারের প্রবণতা বিশ্লেষণকে বিবেচনা করে না, এবং যখন বাজারের সামগ্রিক প্রবণতা অস্পষ্ট হয়, তখন বড় প্রবণতা থেকে বিচ্যুত লেনদেনের সৃষ্টি করা সহজ।
এই ঝুঁকিগুলি নিম্নলিখিত উপায়ে প্রশমিত করা যেতে পারেঃ
সমান্তরাল ক্রস সিগন্যাল নিশ্চিত করার জন্য অন্যান্য সূচকের সাথে মিলিত হয়, যেমন MACD, KD ইত্যাদি;
ভুল সংকেতের হার কমানোর জন্য বিভিন্ন বাজারের জন্য ইএমএ প্যারামিটারগুলি সামঞ্জস্য করুন;
প্রবণতা মূল্যায়ন মডিউল যোগ করুন, দীর্ঘমেয়াদী গড় রেখার উপর ভিত্তি করে সামগ্রিক পরিস্থিতির দিকনির্দেশনা দিন।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
পজিশন খোলার শর্তাদি ফিল্টারিং বাড়ানো, যাতে অস্থিরতার সময় অপ্রয়োজনীয় লেনদেনের পরিমাণ কম হয়। পজিশন খোলার থ্রেশহোল্ড নির্ধারণের জন্য অস্থিরতা এবং লেনদেনের পরিমাণের মতো সূচকগুলি একত্রিত করা যেতে পারে;
বাজারের উচ্চ-নিম্ন, সমর্থন ইত্যাদির সাথে স্টপ-ড্রপ অবস্থান সেট করার জন্য স্টপ-ড্রপিংয়ের নির্ভুলতা উন্নত করুন;
প্রবণতা নির্ণয় মডিউল যুক্ত করা হয়েছে, যা দীর্ঘমেয়াদী প্রবণতাকে উচ্চতর সময়সীমার মধ্যে সংক্ষিপ্ত-মেয়াদী সংকেতগুলিকে ফিল্টার করতে এবং বৃহত্তর প্রবণতা থেকে বিচ্ছিন্নতা এড়াতে ব্যবহার করা হয়েছে।
মেশিন লার্নিং দ্বারা EMA প্যারামিটারগুলিকে প্রশিক্ষণ ও অপ্টিমাইজ করা যায়, যাতে এটি বাস্তব বাজারের অবস্থার জন্য আরও উপযুক্ত হয় এবং ত্রুটিযুক্ত সংকেতের হার হ্রাস পায়।
উপরোক্ত পয়েন্টগুলো হল ভবিষ্যতে এই কৌশলকে উন্নত ও অপ্টিমাইজ করার প্রধান দিকগুলো। আরও সূচক এবং ঝুঁকি ব্যবস্থাপনা পদ্ধতির সাথে যথাযথভাবে সংযুক্ত হলে, এই ইএমএ ক্রস-কৌশলটি আরও কার্যকর হবে।
গ্র্যাডিয়েন্ট মিডল লাইন ট্রেডিং কৌশলটি একটি মৌলিক প্রবণতা অনুসরণকারী কৌশল। এটি দামের প্রবণতা নির্ধারণের জন্য ইএমএ ফাস্ট লাইন এবং ধীর লাইন ক্রস ব্যবহার করে এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ-আপের সাথে মিলিত হয়। এই কৌশলটির সংকেতগুলি সহজ এবং পরিষ্কার, ব্যবহার করা সহজ, বিশেষত শিক্ষানবিসদের জন্য উপযুক্ত, এটি পরিমাণগতভাবে প্রবেশের জন্য আদর্শ কৌশলগুলির মধ্যে একটি। তবে এটির কিছুটা পিছিয়ে পড়া এবং ভুল রিপোর্টের ঝুঁকিও রয়েছে। ভবিষ্যতে আরও সূচক এবং উপায় প্রবর্তন করে এই কৌশলটি অপ্টিমাইজ এবং উন্নত করা যেতে পারে, যাতে এটি আরও জটিল বাজারের পরিবেশে স্থিতিশীলভাবে কাজ করতে পারে।
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// *** USE AT YOUR OWN RISK ***
//
strategy("EMA Strategy", shorttitle = "EMA Strategy", 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 = 13, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = close, title = "Slow MA Source")
maSlowLength = input(defval = 48, 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 = 25, title = "Initial Stop Loss Points", minval = 1)
useTS = input(defval = true, title = "Use Trailing Stop?")
tslPoints = input(defval = 120, title = "Trail Points", minval = 1)
useTSO = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset = input(defval = 20, 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.08)