- বর্গক্ষেত্র
- ব্রেকআউট এবং ফ্রিকোয়েন্সি ফিল্টার (শুধুমাত্র দীর্ঘ) সহ ট্রেন্ড অনুসরণ
ব্রেকআউট এবং ফ্রিকোয়েন্সি ফিল্টার (শুধুমাত্র দীর্ঘ) সহ ট্রেন্ড অনুসরণ
লেখক:
চাওঝাং, তারিখঃ ২০২৪-০৫-২৮ ১৪ঃ০০ঃ২৪
ট্যাগঃ
ইএমএএও
সারসংক্ষেপ
এই কৌশলটি ব্রেকআউট এবং ফ্রিকোয়েন্সি ফিল্টারিংয়ের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল, কেবলমাত্র দীর্ঘ অবস্থান গ্রহণ করা। কৌশলটির মূল ধারণা হ'ল বর্তমান প্রবণতার দিক নির্ধারণের জন্য ইএমএ সূচকটি ব্যবহার করা, নির্দিষ্ট পরিসরের মধ্যে সর্বোচ্চ মূল্য থেকে দামটি ভেঙে গেলে একটি দীর্ঘ সংকেত উত্পন্ন করা এবং খুব ঘন ঘন অবস্থান খোলার এড়াতে ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণ করতে একটি ফ্রিকোয়েন্সি ফিল্টার ব্যবহার করা। কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য একটি স্টপ লস পয়েন্টও সেট করে এবং প্রবণতা শেষ হলে অবস্থানগুলি বন্ধ করে দেয়।
কৌশল নীতি
- বর্তমান প্রবণতা দিক নির্ধারণের জন্য EMA সূচক গণনা করুন। যখন বন্ধের মূল্য EMA এর উপরে থাকে, তখন এটিকে একটি উত্থান প্রবণতা বলে মনে করা হয়।
- একটি নির্দিষ্ট পরিসরের মধ্যে সর্বোচ্চ মূল্যকে ব্রেকআউট শর্ত হিসাবে গণনা করুন। যখন বন্ধের মূল্য সবচেয়ে কম বা দীর্ঘতম পুনর্বিবেচনার সময়ের মধ্যে সর্বোচ্চ মূল্য থেকে ভেঙে যায় এবং বর্তমান প্রবণতা উত্থানমুখী হয়, তখন একটি দীর্ঘ সংকেত উত্পন্ন হয়।
- ধারাবাহিক পজিশন খোলার মধ্যে সর্বনিম্ন ব্যবধানের সময় নিয়ন্ত্রণের জন্য একটি ফ্রিকোয়েন্সি ফিল্টার প্রবর্তন করুন যাতে অত্যধিক ট্রেডিং ফ্রিকোয়েন্সি এড়ানো যায়।
- স্টপ লস পয়েন্ট সেট করুন। যখন মূল্য স্টপ লস পয়েন্টের নিচে পড়ে, ঝুঁকি নিয়ন্ত্রণের জন্য অবস্থানটি বন্ধ করুন।
- প্রবণতা শেষ সংকেত সংজ্ঞায়িত করুন। যখন বন্ধের মূল্য EMA এর নীচে পড়ে, প্রবণতা শেষ বলে মনে করা হয়। যদি এই সময়ে একটি দীর্ঘ অবস্থান রাখা হয়, অবস্থান বন্ধ করুন।
কৌশলগত সুবিধা
- প্রবণতা অনুসরণ করাঃ প্রবণতার দিকনির্দেশনা নির্ধারণ এবং প্রবণতার সাথে ট্রেডিং করার জন্য EMA সূচক ব্যবহার করে, এটি কৌশল রিটার্ন উন্নত করতে সহায়তা করে।
- ব্রেকআউট নিশ্চিতকরণঃ প্রাইস ব্রেকআউটকে এন্ট্রি সিগন্যাল হিসেবে ব্যবহার করে ট্রেন্ডের শুরুতে সময়মতো এন্ট্রি করা যায়, যাতে আরও বেশি লাভের সম্ভাবনা থাকে।
- ফ্রিকোয়েন্সি নিয়ন্ত্রণঃ ধারাবাহিক পজিশন খোলার মধ্যে সময়ের ব্যবধান নিয়ন্ত্রণের জন্য একটি ফ্রিকোয়েন্সি ফিল্টার চালু করা অত্যধিক ট্রেডিং এড়ায় এবং ট্রেডিং খরচ এবং ঝুঁকি হ্রাস করে।
- স্টপ লস সুরক্ষাঃ যখন মূল্য একটি নির্দিষ্ট পরিমাণে বিপরীত দিকে চলে যায় তখন তাত্ক্ষণিকভাবে ক্ষতি বন্ধ করার জন্য একটি স্টপ লস পয়েন্ট সেট করা কার্যকরভাবে ডাউনসাইড ঝুঁকি নিয়ন্ত্রণ করে।
- গতিশীল পজিশন বন্ধঃ প্রবণতা শেষের সংকেতের উপর ভিত্তি করে গতিশীলভাবে পজিশন বন্ধ করা বিদ্যমান মুনাফার সময়মত লকিংয়ের অনুমতি দেয় এবং প্রবণতা বিপরীতের কারণে ক্ষতি এড়ায়।
কৌশলগত ঝুঁকি
- পরামিতি সংবেদনশীলতাঃ কৌশলটির কর্মক্ষমতা পরামিতি নির্বাচন তুলনামূলকভাবে সংবেদনশীল, এবং বিভিন্ন পরামিতি সেটিং কৌশল কর্মক্ষমতা উল্লেখযোগ্য পার্থক্য হতে পারে। পর্যাপ্ত ব্যাকটেস্টিং এবং পরামিতি অপ্টিমাইজেশান প্রয়োজন।
- ব্রেকআউট ব্যর্থতাঃ দামের ব্রেকআউট নিশ্চিত করে না যে প্রবণতা অবশ্যই অব্যাহত থাকবে, এবং ব্রেকআউট ব্যর্থতার ঘটনা হতে পারে, যার ফলে পরপর ক্ষতি হয়।
- প্রবণতা স্বীকৃতিঃ কৌশলটি প্রবণতা বিচার করার জন্য ইএমএ সূচকটির উপর নির্ভর করে, তবে ইএমএ সূচকটি বিলম্ব বা ভুল মূল্যায়ন হতে পারে, যা কৌশলটির নির্ভুলতাকে প্রভাবিত করে।
- ঘন ঘন ট্রেডিং: যদিও কৌশলটি একটি ফ্রিকোয়েন্সি ফিল্টার প্রবর্তন করে, বাজারের অস্থিরতা যখন উচ্চ হয় তখনও ঘন ঘন পজিশন খোলা এবং বন্ধ হতে পারে, যা ট্রেডিং খরচ বৃদ্ধি করে।
- স্টপ লস ঝুঁকিঃ স্টপ লস পয়েন্ট সেট করা সম্পূর্ণরূপে কৌশলটির সর্বাধিক ড্রাউনডাউন এড়াতে পারে না এবং চরম বাজারের পরিস্থিতিতে এখনও বড় ক্ষতি হতে পারে।
কৌশল অপ্টিমাইজেশান নির্দেশাবলী
- প্যারামিটার অপ্টিমাইজেশনঃ সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করতে এবং কৌশল স্থিতিশীলতা এবং লাভজনকতা উন্নত করতে EMA দৈর্ঘ্য, lookback সময়ের দৈর্ঘ্য, স্টপ লস শতাংশ ইত্যাদির মতো কৌশলটির মূল প্যারামিটারগুলি অপ্টিমাইজ করুন।
- সিগন্যাল ফিল্টারিংঃ ব্রেকআউট সিগন্যাল তৈরি হওয়ার পরে, সিগন্যালটি দ্বিতীয়বার নিশ্চিত করার জন্য অন্যান্য প্রযুক্তিগত সূচক বা শর্ত প্রবর্তন করা যেতে পারে, যা সিগন্যালের গুণমান উন্নত করে এবং ভুল বিচার এবং মিথ্যা সংকেত হ্রাস করে।
- প্রবণতা বিচারঃ অন্যান্য প্রবণতা বিচার সূচক যেমন এমএসিডি, ডিএমআই ইত্যাদি ব্যবহার করার চেষ্টা করুন, অথবা একাধিক সূচক একসাথে প্রবণতা বিচার করতে এবং প্রবণতা স্বীকৃতির নির্ভুলতা উন্নত করতে একত্রিত করুন।
- ডায়নামিক স্টপ লসঃ বাজারের অস্থিরতার শর্ত অনুসারে স্টপ লস পয়েন্টকে গতিশীলভাবে সামঞ্জস্য করুন, যেমন গতিশীল স্টপ লস মূল্য গণনা করতে ATR সূচক ব্যবহার করা বা ঝুঁকি আরও ভালভাবে নিয়ন্ত্রণ করার জন্য একটি ট্রেলিং স্টপ লস কৌশল প্রবর্তন করা।
- পজিশন ম্যানেজমেন্টঃ পজিশন ম্যানেজমেন্ট কৌশলকে অপ্টিমাইজ করা, বাজারের অস্থিরতা এবং অ্যাকাউন্ট মূলধনের অবস্থার অনুযায়ী পজিশনের আকারকে গতিশীলভাবে সামঞ্জস্য করা, একটি একক লেনদেনের ঝুঁকি এক্সপোজার নিয়ন্ত্রণ করা এবং মূলধন ব্যবহারের দক্ষতা উন্নত করা।
সংক্ষিপ্তসার
এই কৌশলটি ব্রেকআউট এবং ফ্রিকোয়েন্সি ফিল্টারিংয়ের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। এটি প্রবণতা দিক নির্ধারণের জন্য ইএমএ সূচক ব্যবহার করে, প্রবেশ সংকেত হিসাবে মূল্য ব্রেকআউট ব্যবহার করে, ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণের জন্য একটি ফ্রিকোয়েন্সি ফিল্টার প্রবর্তন করে এবং ঝুঁকি নিয়ন্ত্রণের জন্য একটি স্টপ লস পয়েন্ট সেট করে। কৌশলটির সুবিধাগুলি প্রবণতা অনুসরণ, ব্রেকআউট নিশ্চিতকরণ, ফ্রিকোয়েন্সি নিয়ন্ত্রণ, স্টপ লস সুরক্ষা এবং গতিশীল অবস্থান বন্ধের মধ্যে রয়েছে, তবে এতে প্যারামিটার সংবেদনশীলতা, ব্রেকআউট ব্যর্থতা, প্রবণতা স্বীকৃতি, ঘন ঘন ট্রেডিং এবং স্টপ লস ঝুঁকি যেমন সম্ভাব্য ঝুঁকি রয়েছে। কৌশলটি আরও অনুকূল করার জন্য, আমরা প্যারামিটার অপ্টিমাইজেশন, সংকেত ফিল্টারিং, প্রবণতা বিচার, গতিশীল স্টপ লস এবং অবস্থান পরিচালনা যেমন দিক থেকে শুরু করতে পারি কৌশলটির স্থিতিশীলতা এবং লাভ
/*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)
সম্পর্কিত
আরো