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