
প্রবণতা ফিল্টার চলমান গড় লাইন ক্রস পরিমাণ কৌশল একটি মাঝারি-দীর্ঘ লাইন পরিমাণ ট্রেডিং কৌশল। এই কৌশলটি দ্রুত চলমান গড় এবং ধীর চলমান গড় লাইন ক্রস দ্বারা বাজারের প্রবণতা দিক বিচার করে, কার্যকর প্রবণতা বিচার করে প্রবেশের জন্য। একই সময়ে, এই কৌশলটি একটি দীর্ঘ সময়ের চলমান গড় লাইনকে প্রবণতা ফিল্টার হিসাবে সেট করে, যখন দামটি এই চলমান গড় লাইনটি ভেঙে দেয় তখনই কার্যকর ট্রেডিং সংকেত তৈরি হতে পারে।
এই কৌশলটি মূলত চলমান গড়ের ক্রস নীতির উপর ভিত্তি করে তৈরি করা হয়েছে। বিশেষত, দুটি পৃথক সময়ের চলমান গড় পৃথকভাবে গণনা করা হয়, সাধারণত 20 তম লাইন এবং 50 তম লাইন হিসাবে সেট করা হয়। 20 তম লাইনটি নীচে থেকে 50 তম লাইনটি ভেঙে গেলে একটি কেনার সংকেত উত্পন্ন হয়; যখন 20 তম লাইনটি 50 তম লাইনটি উপরে থেকে নীচে ভেঙে যায় তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এই সহজ ক্রস সংকেতগুলি মাঝারি-দীর্ঘ লাইনের একটি ব্রেকআউট ধরতে পারে বলে মনে করা হয়।
উপরন্তু, এই কৌশলটি 200-দিনের চলমান গড়কে সামগ্রিক প্রবণতার বিচারক হিসাবে সেট করে। এই সহজ ক্রস সংকেতগুলি কেবলমাত্র যখন দাম 200-দিনের লাইনটি অতিক্রম করে তখনই কার্যকর বলে বিবেচিত হয়। এটি একটি প্রবণতা ফিল্টারিং প্রক্রিয়া গঠন করে যা সমন্বয় বাজারে প্রচুর পরিমাণে অকার্যকর সংকেত তৈরি করা এড়াতে পারে।
মধ্য ও দীর্ঘ লাইন অপারেটর, খুব ঘন ঘন লেনদেন এড়াতে, লেনদেনের খরচ এবং স্লাইড পয়েন্ট ঝুঁকি কমাতে।
সচল সমান্তরাল ক্রস বিচার স্পষ্ট এবং সহজে বোঝা যায়।
প্রবণতা ফিল্টারিং সিস্টেমটি বেশিরভাগ অকার্যকর সংকেতগুলিকে ফিল্টার করে এবং বিজয়ী হারকে উন্নত করে।
বিভিন্ন জাতের এবং সময়কালের জন্য নমনীয়ভাবে চলমান গড়ের প্যারামিটারগুলি সামঞ্জস্য করা যায়।
স্টপ লস স্টপ কন্ট্রোলার একক ক্ষতি নিয়ন্ত্রণ করতে পারে।
যখন দাম গড়ের কাছাকাছি থাকে, তখন একাধিক অকার্যকর সংকেত তৈরি হতে পারে যার ফলে অত্যধিক লেনদেন হয়।
দীর্ঘমেয়াদী গড় বাজার থেকে পিছিয়ে যেতে পারে এবং প্রবণতা পাল্টাতে পারে।
একটি চলমান গড় গড় সূচক গঠনের জন্য দীর্ঘতর ঐতিহাসিক তথ্য প্রয়োজন, নতুন জাত বা সংক্ষিপ্ত সময়কাল প্রয়োগ করা যায় না।
নীতির প্যারামিটারগুলি পুনরাবৃত্তি পরীক্ষা এবং অপ্টিমাইজেশনের প্রয়োজন, এবং ভুল সেটিংটি নীতিটি ব্যর্থ হতে পারে।
ঝুঁকি মোকাবেলার উপায়ঃ
দীর্ঘমেয়াদী গড় ব্যবহার করুন, অথবা প্রবণতা ফিল্টার শর্ত যুক্ত করুন।
অন্যান্য সূচকগুলির সাথে মিলিত হয়ে বড় প্রবণতা নির্ণয় করুন, যেমন শক্তি সূচক, অস্থিরতা সূচক ইত্যাদি।
চলমান গড় সময়কালের পরামিতিগুলির স্বনির্ধারণযোগ্যতা বাড়ানো।
প্যারামিটার অপ্টিমাইজেশান এবং ফিডব্যাক মেশিন যুক্ত করুন, এবং প্যারামিটারগুলিকে গতিশীলভাবে সামঞ্জস্য করুন।
বিভিন্ন ধরনের চলমান গড় চেষ্টা করুন, যেমন লিনিয়ার ওয়েট চলমান গড়।
যোগ করা হয়েছে স্বনির্ধারিত মোবাইল গড়পড়তা চক্র ফাংশন।
প্রবণতা বিভাগের জন্য ওলট-পালট হার শ্রেণীর সূচকগুলির সাথে মিলিত হয়ে, চলমান গড় লাইন ক্রসিংয়ের কার্যকারিতা উন্নত করা হয়েছে।
মেশিন লার্নিং অ্যালগরিদম যোগ করা হয়েছে, যার ফলে কৌশলগত প্যারামিটারগুলির স্বয়ংক্রিয় অপ্টিমাইজেশান সম্ভব হয়েছে।
বিভিন্ন প্রজাতির মধ্যে সম্পর্ককে কাজে লাগানোর জন্য বিভিন্ন প্রজাতির সমন্বয় কৌশল আবিষ্কার করুন।
প্রবণতা ফিল্টারিং মোবাইল গড় লাইন ক্রস কৌশল সামগ্রিকভাবে একটি সহজ এবং ব্যবহারিক মধ্য-লম্বা লাইন পরিমাণ কৌশল। এটি মধ্য-লম্বা লাইন প্রবণতা বিচার করে এবং তারপরে প্রবণতা ফিল্টারিংয়ের সাথে কাজ করে যাতে অকার্যকর সংকেত হ্রাস করা যায়। এই কৌশলটি সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায় এবং এটি পরিমাণযুক্ত ব্যবসায়ের জন্য উপযুক্ত। এর সম্ভাব্য উন্নতির জায়গাটি হ’ল মোবাইল গড় লাইনের অপ্টিমাইজেশন এবং অন্যান্য সূচক এবং মেশিন লার্নিং অ্যালগরিদমের সাথে সংহতকরণ। একটি মৌলিক কৌশল হিসাবে, এটি আরও উন্নত পরিমাণযুক্ত ট্রেডিং সুবিধার অ্যালগরিদমের জন্য ট্রেডিং সংকেত সরবরাহ করতে পারে।
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
////////////////////////////////////////////////////////////////////////////////
// Booz Strategy
// Developed for Godstime
// Version 1.1
// 11/28/2021
////////////////////////////////////////////////////////////////////////////////
//@version=4
strategy("Booz Strategy", "", true)
// ----------------------------- Inputs ------------------------------------- //
source_ma_type = input("EMA", "Source MA Type", options=["SMA", "EMA"])
source_ma_length = input(50, "Source MA Length")
fast_ma_length = input(20, "Fast MA Length")
slow_ma_length = input(50, "Slow MA Length")
use_trend_filter = input(true, "Trend Filter")
trend_filter_ma_type = input("EMA", "Trend Filter MA Type", options=["SMA", "EMA"])
trend_filter_ma_length = input(200, "Trend Filter MA Period")
show_mas = input(true, "Show MAs")
swing_trading_mode = input(false, "Swing Trading")
// -------------------------- Calculations ---------------------------------- //
fast_ma = ema(close, fast_ma_length)
slow_ma = ema(close, slow_ma_length)
source_ma = source_ma_type == "EMA"? ema(close, source_ma_length):
sma(close, source_ma_length)
trend_filter_ma = trend_filter_ma_type == "EMA"? ema(close, trend_filter_ma_length):
sma(close, trend_filter_ma_length)
// --------------------------- Conditions ----------------------------------- //
uptrend = not use_trend_filter or close > trend_filter_ma
buy_cond = crossover(fast_ma, slow_ma) and uptrend
downtrend = not use_trend_filter or close < trend_filter_ma
sell_cond = crossunder(fast_ma, slow_ma) and downtrend
// ---------------------------- Plotting ------------------------------------ //
bgcolor(use_trend_filter and downtrend? color.red: use_trend_filter? color.green: na)
plot(show_mas? fast_ma: na, "Fast MA", color.green)
plot(show_mas? slow_ma: na, "Slow MA", color.red)
plot(show_mas? source_ma: na, "Source MA", color.purple)
plot(show_mas? trend_filter_ma: na, "Trend Filter MA", color.blue)
// ---------------------------- Trading ------------------------------------ //
// Inputs
sl_perc = input(1.0, "Stop Loss (in %)", group="Backtest Control")/100
tp_perc = input(1.0, "Take Profit (in %)", group="Backtest Control")/100
leverage = input(10, "Leverage", maxval=100, group="Backtest Control")
bt_start_time = input(timestamp("2021 01 01"), "Backtest Start Time", input.time, group="Backtest Control")
bt_end_time = input(timestamp("2021 12 31"), "Backtest End Time", input.time, group="Backtest Control")
// Trading Window
in_trading_window = true
trade_qty = 1
// Long Side
strategy.entry("Long Entry", strategy.long, trade_qty, when=buy_cond and in_trading_window)
long_tp = strategy.position_avg_price * (1 + tp_perc)
long_sl = strategy.position_avg_price * (1 - sl_perc)
if not swing_trading_mode
strategy.exit("Long Exit", "Long Entry", limit=long_tp, stop=long_sl)
// Short Side
strategy.entry("Short Entry", strategy.short, trade_qty, when=sell_cond and in_trading_window)
short_tp = strategy.position_avg_price * (1 - tp_perc)
short_sl = strategy.position_avg_price * (1 + sl_perc)
if not swing_trading_mode
strategy.exit("Short Exit", "Short Entry", limit=short_tp, stop=short_sl)
// End of trading window close
strategy.close_all(when=not in_trading_window)