
এটি একটি ডাবল-ইভিনিউ সিস্টেমের উপর ভিত্তি করে একটি প্রবণতা ট্র্যাকিং কৌশল যা গতিশীল স্টপ লস এবং ইভিনিউ ফিল্টার যুক্ত করে। এই কৌশলটি বাজারের প্রবণতা ক্যাপচার করার জন্য দুটি পৃথক সময়কালের চলমান গড় ব্যবহার করে এবং একই সাথে ট্রেডিংয়ের দিকনির্দেশকে সীমাবদ্ধ করার জন্য ইভিনিউ ফিল্টার করে এবং নমনীয় স্টপ লস সেটিং বিকল্প সরবরাহ করে। এই পদ্ধতিটি মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করার জন্য এবং গতিশীল ঝুঁকি পরিচালনার মাধ্যমে তহবিলকে সুরক্ষিত করার জন্য তৈরি করা হয়েছে।
এই কৌশলটির মূল নীতিগুলো হলঃ
দ্বৈত সমরেখার সিস্টেমঃ দুটি চলমান গড় ব্যবহার করা হয়, একটি প্রধান সংকেত লাইন হিসাবে (সংক্ষিপ্ত সময়কাল) এবং অন্যটি ফিল্টার হিসাবে (দীর্ঘ সময়কাল) ।
প্রবণতা নিশ্চিতকরণঃ শুধুমাত্র যখন দাম এবং প্রধান গড় লাইন ফিল্টার গড় লাইনের একই দিকে থাকে তখনই পজিশন খোলার বিষয়টি বিবেচনা করা হয়। এটি ট্রেডিংয়ের দিকটি সামগ্রিক প্রবণতার সাথে সামঞ্জস্যপূর্ণ তা নিশ্চিত করতে সহায়তা করে।
প্রবেশের সংকেত: যখন দাম প্রধান গড় রেখা অতিক্রম করে এবং ফিল্টার শর্ত পূরণ করে তখন প্রবেশের সংকেত ট্রিগার করে।
ডায়নামিক স্টপঃ দুই ধরনের স্টপ বিকল্প দেওয়া হয় - শতাংশ ভিত্তিক ডায়নামিক স্টপ বা পূর্ববর্তী প্যাডের উচ্চ-নিম্ন পয়েন্টের উপর ভিত্তি করে স্থির স্টপ।
ফিক্সড স্টপঃ ফিক্সড স্টপ লেভেল ব্যবহার করুন যা প্রবেশ মূল্যের শতাংশের উপর ভিত্তি করে।
ভিজ্যুয়ালাইজেশনঃ গড়রেখা, প্রবেশ মূল্য, স্টপ লস এবং স্টপস্টপ স্তরগুলি চার্টগুলিতে আঁকুন যাতে ট্রেডিংটি স্বজ্ঞাতভাবে বিশ্লেষণ করা যায়।
ট্রেন্ড ট্র্যাকিংঃ দ্বি-সমান-লাইন সিস্টেম ব্যবহার করে, এই কৌশলটি মধ্যম ও দীর্ঘমেয়াদী প্রবণতাগুলিকে কার্যকরভাবে ক্যাপচার করতে এবং মুনাফা অর্জনের সুযোগ বাড়িয়ে তুলতে পারে।
ঝুঁকি ব্যবস্থাপনাঃ ডায়নামিক স্টপ লস অপশন কৌশলটিকে বাজার অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ঝুঁকি খোলার সমন্বয় করতে এবং তহবিল সুরক্ষার ক্ষমতা বাড়াতে সক্ষম করে।
নমনীয়তাঃ কৌশল ব্যবহারকারীদের বিভিন্ন ধরণের মুভিং এভারেজ (এসএমএ, ইএমএ, ডাব্লুএমএ) বেছে নিতে এবং বিভিন্ন ট্রেডিং স্টাইল এবং বাজারের পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য প্যারামিটারগুলি কাস্টমাইজ করতে দেয়।
ফিল্টারিং পদ্ধতিঃ দীর্ঘ চক্রের গড় লাইনকে ফিল্টার হিসাবে ব্যবহার করে, যা মিথ্যা বিরতি এবং বিপরীতমুখী ব্যবসায় হ্রাস করতে এবং কৌশলটির স্থিতিশীলতা বাড়াতে সহায়তা করে।
ভিজ্যুয়ালাইজেশনঃ চার্টে মূল মূল্য স্তর এবং গড় লাইন আঁকতে, ব্যবসায়ীরা কৌশলগত যুক্তি এবং বর্তমান বাজারের অবস্থাকে স্বজ্ঞাতভাবে বুঝতে পারে।
অটোমেটেড এক্সিকিউশনঃ কৌশলগুলি স্বয়ংক্রিয়ভাবে ট্রেডিং প্ল্যাটফর্মে কার্যকর করা যায়, যা মানুষের হস্তক্ষেপ এবং আবেগের প্রভাবকে হ্রাস করে।
পিছিয়ে পড়াঃ মুভিং এভারেজ মূলত পিছিয়ে পড়া সূচক, যা প্রবণতা পরিবর্তনের সময় দেরিতে প্রবেশ বা প্রস্থান করতে পারে।
অস্থির বাজার পারফরম্যান্সঃ ক্রস বা অস্থির বাজারে, কৌশলগুলি ঘন ঘন মিথ্যা সংকেত তৈরি করতে পারে, যার ফলে ধারাবাহিক ক্ষতি হয়।
প্যারামিটার সংবেদনশীলতা: কৌশলটির কার্যকারিতা পছন্দসই প্যারামিটারগুলির উপর নির্ভরশীল, এবং ভুল প্যারামিটার সেটগুলি অত্যধিক লেনদেন বা গুরুত্বপূর্ণ সুযোগগুলি মিস করতে পারে।
ফিক্সড স্টপ লিমিটঃ ফিক্সড শতাংশ স্টপ ব্যবহার করে একটি শক্তিশালী প্রবণতার মধ্যে লাভজনক ট্রেডিংকে অকালে শেষ করা যেতে পারে।
বাজারের অবস্থার পরিবর্তনঃ বিভিন্ন বাজারের পরিস্থিতিতে কৌশলগুলি উল্লেখযোগ্যভাবে ভিন্ন হতে পারে, যার জন্য নিয়মিত মূল্যায়ন এবং সমন্বয় প্রয়োজন।
স্লাইড পয়েন্ট এবং লেনদেনের খরচঃ প্রকৃত লেনদেনের ক্ষেত্রে, স্লাইড পয়েন্ট এবং লেনদেনের খরচ কৌশলটির লাভজনকতার উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে, বিশেষত উচ্চ-ফ্রিকোয়েন্সি লেনদেনের ক্ষেত্রে।
ডায়নামিক প্যারামিটার অ্যাডজাস্টমেন্টঃ বিভিন্ন বাজারের অস্থিরতা এবং প্রবণতা শক্তির সাথে খাপ খাইয়ে নেওয়ার জন্য স্ব-অনুকূলিত গড় লাইন চক্র এবং স্টপ লস শতাংশ অর্জন করা।
মাল্টি-টাইম ফ্রেম বিশ্লেষণঃ প্রবণতা তথ্যকে দীর্ঘ সময়ের মধ্যে একত্রিত করা যাতে প্রবেশাধিকার সিদ্ধান্তের সঠিকতা বৃদ্ধি পায় এবং মিথ্যা সংকেত হ্রাস পায়।
অস্থিরতা ফিল্টারঃ অস্থিরতার সূচকগুলি প্রবর্তন করুন (যেমন এটিআর), কম অস্থিরতার সময় ট্রেডিং স্থগিত করুন, বাজারের অস্থিরতার সময় ক্ষতি হ্রাস করুন।
প্রবণতা শক্তি নিশ্চিতকরণঃ প্রবণতা শক্তি মূল্যায়ন করার জন্য অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে মিলিত (যেমন ADX), শুধুমাত্র একটি শক্তিশালী প্রবণতার মধ্যে অবস্থান খুলুন।
ডায়নামিক স্টপঃ মুনাফার সম্ভাবনার সর্বাধিকীকরণের জন্য বাজারের অস্থিরতা বা প্রবণতা শক্তির উপর ভিত্তি করে একটি গতিশীল স্টপ ব্যবস্থা বাস্তবায়ন করা।
তহবিল ব্যবস্থাপনা অপ্টিমাইজেশানঃ অ্যাকাউন্টের আকার এবং বাজারের অস্থিরতার গতিশীলতার উপর ভিত্তি করে অবস্থানের আকারকে ঝুঁকি-লাভের অনুপাতের অনুকূলিতকরণের জন্য সামঞ্জস্য করুন।
মেশিন লার্নিং ইন্টিগ্রেশনঃ মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে প্যারামিটার নির্বাচন এবং প্রবেশের সময়কে অপ্টিমাইজ করা, কৌশলগুলির অভিযোজনযোগ্যতা এবং কার্যকারিতা উন্নত করা।
আবেগ বিশ্লেষণঃ বাজারের আবেগ সূচকগুলিকে একত্রিত করা, চরম আবেগের সময় কৌশলগত আচরণগুলিকে সামঞ্জস্য করা এবং অত্যধিক জনাকীর্ণ লেনদেন এড়ানো।
ডায়নামিক স্টপ এবং ফিল্টার সহ ডাবল ইয়ারলাইন ট্রেন্ড ক্যাপচার কৌশলটি একটি বিস্তৃত ট্রেন্ড ট্র্যাকিং সিস্টেম যা মাঝারি এবং দীর্ঘমেয়াদী বাজার প্রবণতা ক্যাপচার করার জন্য ডিজাইন করা হয়েছে। প্রধান সিগন্যাল ইয়ারলাইন এবং ফিল্টার ইয়ারলাইনের সাথে মিলিত হয়ে কৌশলটি কার্যকরভাবে ট্রেন্ডের দিকনির্দেশনা সনাক্ত করতে এবং ট্রেডিং সিগন্যাল তৈরি করতে সক্ষম। ডায়নামিক স্টপ বিকল্পটি নমনীয় ঝুঁকি ব্যবস্থাপনা সরবরাহ করে এবং ভিজ্যুয়ালাইজেশন বৈশিষ্ট্যটি কৌশলটির ব্যাখ্যাযোগ্যতা বাড়ায়।
যদিও এই কৌশলটির শক্তিশালী সম্ভাবনা রয়েছে, তবুও এর অন্তর্নিহিত ঝুঁকি রয়েছে, যেমন পিছিয়ে পড়া এবং বাজারের অবস্থার পরিবর্তনের প্রতি সংবেদনশীলতা। কৌশলটির স্থিতিশীলতা এবং অভিযোজনযোগ্যতা বাড়ানোর জন্য, আরও অপ্টিমাইজেশনের পরামর্শ দেওয়া হয়েছে, যেমন গতিশীল প্যারামিটার সমন্বয়, মাল্টি-টাইম ফ্রেম বিশ্লেষণের একীকরণ এবং অতিরিক্ত ফিল্টারিং প্রক্রিয়া প্রবর্তন।
সামগ্রিকভাবে, এই কৌশলটি ব্যবসায়ীদের জন্য একটি শক্ত ভিত্তি সরবরাহ করে, যা ব্যক্তিগত চাহিদা এবং বাজারের বৈশিষ্ট্য অনুসারে কাস্টমাইজ এবং উন্নত করা যায়। ক্রমাগত পর্যবেক্ষণ, প্রতিক্রিয়া এবং অপ্টিমাইজেশনের মাধ্যমে, এই কৌশলটি একটি নির্ভরযোগ্য ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে যা বিভিন্ন বাজারের পরিবেশে প্রযোজ্য।
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average Breakout with Filter and Dynamic Stop Loss", overlay=true)
// Параметры
maLength = input.int(14, "MA Length")
maType = input.string("SMA", "MA Type", options=["SMA", "EMA", "WMA"])
takeProfitPercent = input.float(1.0, "Take Profit (%)", step=0.1)
filterMaLength = input.int(50, "Filter MA Length")
filterMaType = input.string("SMA", "Filter MA Type", options=["SMA", "EMA", "WMA"])
useDynamicStopLoss = input.bool(false, "Use Dynamic Stop Loss")
dynamicStopLossPercent = input.float(1.0, "Dynamic Stop Loss (%)", step=0.1)
// Выбор типа основной скользящей средней
float ma = na
switch maType
"SMA" => ma := ta.sma(close, maLength)
"EMA" => ma := ta.ema(close, maLength)
"WMA" => ma := ta.wma(close, maLength)
// Выбор типа скользящей средней фильтра
float filterMa = na
switch filterMaType
"SMA" => filterMa := ta.sma(close, filterMaLength)
"EMA" => filterMa := ta.ema(close, filterMaLength)
"WMA" => filterMa := ta.wma(close, filterMaLength)
// Построение скользящих средних
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(filterMa, color=color.orange, linewidth=2, title="Filter Moving Average")
// Логика открытия позиций
longCondition = ta.crossover(close, ma) and close > filterMa
shortCondition = ta.crossunder(close, ma) and close < filterMa
var bool inPosition = false
var float entryPrice = na
var float takeProfitLevel = na
var float stopLossLevel = na
if (longCondition and not inPosition and strategy.position_size == 0)
entryPrice := close
takeProfitLevel := close * (1 + takeProfitPercent / 100)
if (useDynamicStopLoss)
stopLossLevel := close * (1 - dynamicStopLossPercent / 100)
else
stopLossLevel := low[1]
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=takeProfitLevel, stop=stopLossLevel)
// line.new(bar_index, entryPrice, bar_index + 1, entryPrice, color=color.blue, width=2)
// line.new(bar_index, takeProfitLevel, bar_index + 1, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
// line.new(bar_index, stopLossLevel, bar_index + 1, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
inPosition := true
if (shortCondition and not inPosition and strategy.position_size == 0)
entryPrice := close
takeProfitLevel := close * (1 - takeProfitPercent / 100)
if (useDynamicStopLoss)
stopLossLevel := close * (1 + dynamicStopLossPercent / 100)
else
stopLossLevel := high[1]
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=takeProfitLevel, stop=stopLossLevel)
// line.new(bar_index, entryPrice, bar_index + 1, entryPrice, color=color.blue, width=2)
// line.new(bar_index, takeProfitLevel, bar_index + 1, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
// line.new(bar_index, stopLossLevel, bar_index + 1, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
inPosition := true
// Проверка закрытия позиции по тейк-профиту или стоп-лоссу
if (strategy.position_size == 0)
inPosition := false
// Отображение текущих линий стоп-лосса и тейк-профита
// if (strategy.position_size > 0)
// line.new(bar_index[1], takeProfitLevel, bar_index, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
// line.new(bar_index[1], stopLossLevel, bar_index, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
// line.new(bar_index[1], entryPrice, bar_index, entryPrice, color=color.blue, width=2)
// if (strategy.position_size < 0)
// line.new(bar_index[1], takeProfitLevel, bar_index, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
// line.new(bar_index[1], stopLossLevel, bar_index, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
// line.new(bar_index[1], entryPrice, bar_index, entryPrice, color=color.blue, width=2)