
ওভারভিউ
এই কৌশলটি একটি ট্রেন্ড ট্র্যাকিং কৌশল যা ব্রেকআউট এবং ফ্রিকোয়েন্সি ফিল্টারিংয়ের উপর ভিত্তি করে এবং কেবলমাত্র একাধিক ট্রেড করে। কৌশলটির মূল ধারণাটি হ’ল বর্তমান ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য ইএমএ সূচকগুলি ব্যবহার করা, যখন দামগুলি একটি নির্দিষ্ট ব্যাপ্তির মধ্যে সর্বোচ্চ মূল্য অতিক্রম করে তখন মাল্টিসিগন্যাল তৈরি করা, এবং ফ্রিকোয়েন্সি ফিল্টার ব্যবহার করে ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণ করা, যাতে খুব বেশি ঘন ঘন অবস্থান খোলা না হয়। কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস পয়েন্টও সেট করে এবং প্রবণতা সমাপ্তির সময় পজিশনটি বন্ধ করে দেয়।
কৌশল নীতি
- বর্তমান ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য EMA সূচক গণনা করা হয়। যখন ক্লোজিং প্রাইস EMA এর উপরে থাকে, তখন বর্তমান ট্রেন্ডটি বহুদিকের বলে মনে করা হয়।
- একটি নির্দিষ্ট পরিসরের মধ্যে সর্বোচ্চ মূল্য গণনা করা হয়, একটি ব্রেকিং শর্ত হিসাবে। যখন বন্ধের দাম সবচেয়ে কম প্রত্যাহারের সময় বা দীর্ঘতম প্রত্যাহারের সময়ের মধ্যে সর্বোচ্চ মূল্যকে অতিক্রম করে এবং বর্তমান প্রবণতাটি বহুভুজ হয়, তখন একটি মাল্টিসিগন্যাল তৈরি করা হয়।
- একটি ফ্রিকোয়েন্সি ফিল্টার চালু করুন যাতে ক্রমাগত খোলার সর্বনিম্ন সময়সীমা নিয়ন্ত্রণ করা যায় যাতে লেনদেনের উচ্চ ফ্রিকোয়েন্সি এড়ানো যায়।
- স্টপ লস পয়েন্ট সেট করুন, যখন দাম স্টপ লস মূল্যের নীচে যায় তখন পজিশন বন্ধ করুন, ঝুঁকি নিয়ন্ত্রণ করুন।
- প্রবণতা শেষের সংকেত সংজ্ঞায়িত করুন, যখন বন্ধের দাম ইএমএর নীচে নেমে আসে, তখন প্রবণতা শেষ বলে মনে করা হয়, এই মুহুর্তে যদি একাধিক পয়েন্ট থাকে তবে এটি বন্ধ হয়ে যায়।
কৌশলগত সুবিধা
- ট্রেন্ড ট্র্যাকিংঃ ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য ইএমএ নির্দেশক ব্যবহার করুন এবং ট্রেন্ড অনুসারে ট্রেড করুন, যা কৌশলগত উপার্জন বাড়াতে সহায়তা করে।
- ব্রেকিং নিশ্চিতকরণঃ মূল্য ব্রেকিংকে প্রবেশের সংকেত হিসাবে ব্যবহার করে, প্রবণতার শুরুতে সময়মতো প্রবেশ করা এবং আরও বেশি লাভের জায়গা ক্যাপচার করা যায়।
- ফ্রিকোয়েন্সি কন্ট্রোলঃ ফ্রিকোয়েন্সি ফিল্টার প্রবর্তন করুন, ধারাবাহিকভাবে খোলা পজিশনের সময়কাল নিয়ন্ত্রণ করুন, খুব ঘন ঘন লেনদেন এড়াতে, লেনদেনের ব্যয় এবং ঝুঁকি হ্রাস করুন।
- স্টপ প্রটেকশনঃ একটি স্টপ পয়েন্ট সেট করুন, যখন দামের বিপরীতমুখী ওঠানামা একটি নির্দিষ্ট পরিমাণে পৌঁছে যায় তখন সময়মতো বন্ধ হয়ে যায়, কার্যকরভাবে নেমে যাওয়ার ঝুঁকি নিয়ন্ত্রণ করে।
- ডায়নামিক প্লেইনঃ প্রবণতা সমাপ্তির সংকেত অনুসারে গতিশীল প্লেইন, প্রবণতা বিপরীত হওয়ার ফলে ক্ষতি এড়াতে সময়মত ইতিমধ্যে প্রাপ্তি লক করতে সক্ষম।
কৌশলগত ঝুঁকি
- প্যারামিটার সংবেদনশীলতা: প্যারামিটার নির্বাচনের জন্য কৌশলটির কার্যকারিতা সংবেদনশীল, বিভিন্ন প্যারামিটার সেটিংয়ের ফলে কৌশলটির কার্যকারিতায় বড় পার্থক্য হতে পারে। প্যারামিটারগুলির জন্য পর্যাপ্ত পরিমাণে পুনরায় পরীক্ষা এবং অপ্টিমাইজেশন প্রয়োজন।
- ব্রেকআউট ব্যর্থতাঃ মূল্যের ব্রেকআউট প্রবণতা অব্যাহত রাখার নিশ্চয়তা দেয় না, এবং ব্রেকআউট ব্যর্থতার ঘটনা ঘটতে পারে, যার ফলে কৌশলটি ধারাবাহিকভাবে ক্ষতিগ্রস্থ হতে পারে।
- প্রবণতা সনাক্তকরণঃ কৌশলটি EMA সূচকগুলির উপর নির্ভর করে যা প্রবণতা নির্ধারণ করে, তবে EMA সূচকগুলির মধ্যে বিলম্ব বা ভুল বিচার হতে পারে যা কৌশলটির নির্ভুলতার উপর প্রভাব ফেলে।
- ঘন ঘন লেনদেনঃ যদিও কৌশলটি একটি ফ্রিকোয়েন্সি ফিল্টার প্রবর্তন করে, তবে বাজারের ব্যাপক অস্থিরতার সময় ঘন ঘন পজিশন খোলার এবং খোলার ঘটনা ঘটতে পারে, যা লেনদেনের ব্যয় বাড়িয়ে তোলে।
- স্টপ লস ঝুঁকিঃ স্টপ লস পয়েন্টের সেটআপটি কৌশলটির সর্বাধিক প্রত্যাহারকে পুরোপুরি এড়াতে পারে না এবং চরম পরিস্থিতিতে এখনও বড় ক্ষতির সম্ভাবনা রয়েছে।
কৌশল অপ্টিমাইজেশনের দিকনির্দেশনা
- প্যারামিটার অপ্টিমাইজেশানঃ কৌশলটির স্থিতিশীলতা এবং উপার্জন বাড়ানোর জন্য সর্বোত্তম প্যারামিটার সমন্বয় খুঁজতে কৌশলটির মূল প্যারামিটারগুলি যেমন ইএমএ দৈর্ঘ্য, পুনরাবৃত্তির দৈর্ঘ্য, স্টপ লস শতাংশ ইত্যাদির অপ্টিমাইজেশন।
- সিগন্যাল ফিল্টারিংঃ একটি ব্রেকথ্রু সিগন্যাল তৈরির পরে, অন্যান্য প্রযুক্তিগত সূচক বা শর্তগুলি সংকেতটির দ্বিতীয় নিশ্চিতকরণের জন্য প্রবর্তন করা যেতে পারে, সংকেতের গুণমান উন্নত করতে এবং ভুল বিচার এবং মিথ্যা সংকেত হ্রাস করতে পারে।
- প্রবণতা নির্ণয়ঃ আপনি অন্যান্য প্রবণতা নির্ণয় সূচক যেমন MACD, DMI ইত্যাদি ব্যবহার করে চেষ্টা করতে পারেন, বা একাধিক সূচক একসাথে প্রবণতা নির্ণয় করতে পারেন, যা প্রবণতা সনাক্তকরণের নির্ভুলতা উন্নত করে।
- ডায়নামিক স্টপঃ বাজারের ওঠানামা অনুযায়ী ডায়নামিকভাবে স্টপ পয়েন্টগুলি সামঞ্জস্য করুন, উদাহরণস্বরূপ, এটিআর সূচক ব্যবহার করে ডায়নামিক স্টপ মূল্য গণনা করুন বা ঝুঁকি নিয়ন্ত্রণের জন্য ট্র্যাকিং স্টপ কৌশল প্রবর্তন করুন।
- পজিশন ম্যানেজমেন্টঃ পজিশন ম্যানেজমেন্ট কৌশলকে অনুকূলিতকরণ করুন, বাজারের ওঠানামা এবং অ্যাকাউন্টের তহবিলের পরিস্থিতি অনুসারে পজিশন আকারকে গতিশীলভাবে সামঞ্জস্য করুন, একক লেনদেনের ঝুঁকি ফাঁক নিয়ন্ত্রণ করুন, তহবিলের ব্যবহারের দক্ষতা বাড়ান।
সারসংক্ষেপ
এই কৌশলটি একটি ট্রেন্ড ট্র্যাকিং কৌশল যা ব্রেকআউট এবং ফ্রিকোয়েন্সি ফিল্টারিংয়ের উপর ভিত্তি করে, ইএমএ সূচকগুলির মাধ্যমে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে, দামের ব্রেকআউটকে প্রবেশের সংকেত হিসাবে ব্যবহার করে, এবং ফ্রিকোয়েন্সি ফিল্টারটি ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণ করে এবং স্টপ লস কন্ট্রোল ঝুঁকি সেট করে। কৌশলটির সুবিধা হ’ল ট্রেন্ড ট্র্যাকিং, ব্রেকআউট নিশ্চিতকরণ, ফ্রিকোয়েন্সি নিয়ন্ত্রণ, স্টপ লস সুরক্ষা এবং গতিশীল সমান্তরাল, তবে প্যারামিটার সংবেদনশীলতা, ব্রেকআউট ব্যর্থতা, ট্রেন্ড ট্রেন্ড সনাক্তকরণ, ঘন ঘন ট্রেডিং এবং স্টপ লস ঝুঁকির মতো সম্ভাব্য ঝুঁকিও রয়েছে। কৌশলটি আরও অপ্টিমাইজ করার জন্য, প্যারামিটার অপ্টিমাইজেশন, সংকেত ফিল্টারিং, প্রব্রেকআউট, গতিশীল স্টপ লস এবং ইঞ্চি ম্যানেজমেন্ট ইত্যাদি থেকে কৌশলটির স্থিতিশীল
কৌশল সোর্স কোড
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend Following with Breakout and Frequency Filter (Long Only)", overlay=true)
// 输入参数
emaLength = input.int(50, title="EMA长度")
lookbackPeriodMin = input.int(80, title="最短回溯期")
lookbackPeriodMax = input.int(120, title="最长回溯期")
stopLossPct = input.float(2, title="止损百分比") / 100 // 止损百分比
minHoldBars = input.int(10, title="最小持仓K线数量") // 最小持仓K线数量
// 计算EMA
ema = ta.ema(close, emaLength)
// 计算最高价和最低价
highestHigh = ta.highest(high, lookbackPeriodMax)
lowestLow = ta.lowest(low, lookbackPeriodMax)
// 定义趋势方向
isBullish = close > ema
// 定义突破信号
breakoutCondition = (ta.crossover(close, highestHigh[lookbackPeriodMin]) or ta.crossover(close, highestHigh[lookbackPeriodMax])) and isBullish
// 计算止损点
stopLossLevelLong = close * (1 - stopLossPct)
// 绘制EMA
plot(ema, title="EMA", color=color.blue)
// 记录上次开仓时间
var float lastEntryTime = na
// 策略执行并标注信号
if (breakoutCondition and (na(lastEntryTime) or (time - lastEntryTime) > minHoldBars * timeframe.multiplier))
strategy.entry("做多", strategy.long)
label.new(bar_index, high, text="买入", style=label.style_label_up, color=color.green, textcolor=color.white)
strategy.exit("止损", from_entry="做多", stop=stopLossLevelLong)
lastEntryTime := time
// 定义趋势结束信号
exitCondition = close < ema
if (exitCondition and (strategy.position_size > 0) and (time - lastEntryTime) > minHoldBars * timeframe.multiplier)
strategy.close("做多")
label.new(bar_index, low, text="卖出", style=label.style_label_down, color=color.red, textcolor=color.white)