
ট্রেন্ড ট্র্যাকিং ইএমএ কৌশলটি ইএমএ সূচকগুলির উপর ভিত্তি করে একটি ট্রেন্ড ট্র্যাকিং কৌশল। এই কৌশলটি নির্দিষ্ট সময়ের জন্য ইএমএ লাইন গণনা করে, দামের প্রবণতা দিকটি নির্ধারণ করে এবং প্রবণতা অনুসরণ করে। যখন দাম ইএমএ লাইন অতিক্রম করে তখন ফাঁকা করা হয় এবং যখন দাম ইএমএ লাইন অতিক্রম করে তখন অতিরিক্ত করা হয়।
এই কৌশলটি মূলত ইএমএ সূচকের উপর ভিত্তি করে মূল্যের প্রবণতা নির্ধারণ করে। ইএমএ সূচকটি হ’ল দামের একটি সূচকীয় সমতল চলমান গড়, যা সাম্প্রতিক দামকে আরও বেশি ওজন দেয় এবং দামের পরিবর্তনের প্রতি আরও দ্রুত প্রতিক্রিয়া জানায়। কৌশলটি ইএমএ চক্রের মধ্যে গড় দাম গণনা করে, একটি মসৃণ কার্ভ উত্পাদন করে। যখন দাম নীচে থেকে ইএমএ লাইনটি অতিক্রম করে, তখন দাম বাড়তে শুরু করে, এটি একটি bullish সংকেত; যখন দাম উপরে থেকে নীচে থেকে ইএমএ লাইনটি অতিক্রম করে, তখন দামটি হ্রাস পেতে শুরু করে, এটি একটি bearish সংকেত।
এই নীতি অনুসারে, এই কৌশলটি EMA অতিক্রম করার সময় শূন্য হয় এবং EMA অতিক্রম করার সময় অতিরিক্ত হয়, EMA লাইন অনুসরণ করে দামের প্রবণতার পরিবর্তনগুলি অনুসরণ করে। বিশেষত, এটি কোডে একটি 8 চক্রের EMA লাইন গণনা করে, EMA লাইন অতিক্রম করার সময় শূন্য পজিশনটি বন্ধ করে দেয় এবং EMA লাইন অতিক্রম করার সময় পজিশনটি বন্ধ করে দেয়। এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করে।
টিউনিং পয়েন্ট মিস করার ঝুঁকি থাকতে পারে। যখন দাম দ্রুত বিপরীত হয়, ইএমএ লাইনটি সামঞ্জস্য করতে কিছু সময় নেয় এবং এটি সেরা প্রবেশের সময়টি মিস করতে পারে। সমাধানটি অন্যান্য সূচকগুলির সাথে মিলিতভাবে টিউনিং পয়েন্টটি বিচার করা।
ক্ষতি বাড়ানোর ঝুঁকি রয়েছে। ইএমএ লাইনটি একটি প্রবণতা ট্র্যাকিংয়ের ভূমিকা পালন করে, টিউনিং পয়েন্টটি সঠিকভাবে নির্ধারণ করা যায় না। যদি দামটি বিপরীত হয় তবে এটি আরও বড় ক্ষতির কারণ হতে পারে। সমাধানটি যুক্তিসঙ্গত স্টপ লস সেট করা।
ট্রেডিং ফ্রিকোয়েন্সি খুব বেশি বা খুব কম হতে পারে। ইএমএ চক্রের পরিবর্তে, প্রডাকশন কৌশলগুলির ট্রেডিং ফ্রিকোয়েন্সিও আলাদা। চক্রটি খুব সংক্ষিপ্ত হতে পারে এবং খুব বেশি সময় ধরে ব্যবসায়ের সুযোগ হারাতে পারে। সমাধানটি হ’ল বিভিন্ন ইএমএ প্যারামিটার পরীক্ষা করা এবং সর্বোত্তম চক্রটি সন্ধান করা।
ইএমএ প্যারামিটারগুলিকে অনুকূলিত করুন এবং সর্বোত্তম ভারসাম্য খুঁজে বের করুন। ধাপে ধাপে অপ্টিমাইজেশনের মাধ্যমে সর্বোত্তম ইএমএ চক্রের মান নির্ধারণ করা যেতে পারে।
টুনিং পয়েন্ট নির্ধারণের জন্য অন্যান্য সূচক যুক্ত করুন। উদাহরণস্বরূপ, আরএসআই এবং অন্যান্য ওভারব্লড ওভারসোল্ড সূচকগুলির সংমিশ্রণে, দামের বক্ররেখা আরও ভালভাবে নির্ধারণ করা যেতে পারে।
অপ্টিমাইজ করা স্টপ স্ট্র্যাটেজি, সর্বোত্তম স্টপ পয়েন্ট খুঁজুন। ব্যাক-টেস্টিংয়ের মাধ্যমে বিভিন্ন স্টপ পয়েন্ট পরীক্ষা করা যায়, সর্বাধিক লাভের লকিং স্টপ অবস্থান খুঁজে পাওয়া যায়।
অপ্টিমাইজড জাত নির্বাচন। বিভিন্ন জাতের বৈশিষ্ট্য অনুসারে ইএমএ চক্রের প্যারামিটারগুলিকে সর্বোত্তম প্রভাবের জন্য সামঞ্জস্য করুন।
ট্রেন্ড ট্র্যাকিং ইএমএ কৌশলটি একটি খুব সাধারণ সূচক-ভিত্তিক ট্রেন্ড ট্র্যাকিং কৌশল। এটি সহজ, সহজ, সহজেই বাস্তবায়নযোগ্য এবং শিক্ষানবিসদের জন্য উপযুক্ত। এটি একই সাথে স্কেলযোগ্য, অন্যান্য সূচক বা অপ্টিমাইজেশান প্যারামিটার যুক্ত করে কৌশলটির কার্যকারিতা আরও বাড়িয়ে তুলতে পারে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, কৌশলটি একটি খুব ব্যবহারিক ট্রেন্ড ট্র্যাকিং সরঞ্জাম হতে পারে।
/*backtest
start: 2022-10-09 00:00:00
end: 2023-10-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "EMA Close Strategy", shorttitle = "EMA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
EmaSource = input(defval = close, title = "EMA Source")
EmaLength = input(defval = 8, title = "EMA Period", minval = 1)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
stopLoss = input(30, title = "Stop loss percentage(0.1%)")
UseStopLoss = input(true,"UseStopLoss")
window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false
EMA = ema(EmaSource,EmaLength)
plot(EMA, title = "EMA", color = green, linewidth = 2, style = line, transp = 50)
long = crossunder(EMA, close)
short= crossover(EMA, close)
if (long)
strategy.entry("LongId", strategy.long, when=window())
if (short)
strategy.entry("ShortId", strategy.short, when=window())
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)