রিসোর্স লোড হচ্ছে... লোডিং...

ডায়নামিক ডুয়াল ইন্ডিকেটর মোমেন্টাম ট্রেন্ড কুইন্টেটিভ স্ট্র্যাটেজি সিস্টেম

লেখক:চাওঝাং, তারিখঃ ২০২৫-০১-১৭ ১৬ঃ৪০ঃ৫৫
ট্যাগঃআরএসআইএমএএটিআরটিপি/এসএল

 Dynamic Dual-Indicator Momentum Trend Quantitative Strategy System

সারসংক্ষেপ

এই কৌশলটি একটি পরিমাণগত ট্রেডিং সিস্টেম যা বাজারের প্রবণতা এবং ট্রেডিং সুযোগগুলি সনাক্ত করতে আপেক্ষিক শক্তি সূচক (আরএসআই) এবং চলমান গড় (এমএ) একত্রিত করে। ব্যবসায়ের সংকেতগুলির নির্ভরযোগ্যতা বাড়ানোর জন্য সিস্টেমটিতে ভলিউম এবং অস্থিরতা ফিল্টারগুলিও অন্তর্ভুক্ত রয়েছে। মূল ধারণাটি হ'ল গতি নিশ্চিত করার জন্য আরএসআই ব্যবহার করার সময় দ্রুত এবং ধীর চলমান গড়ের ক্রসওভারের মাধ্যমে প্রবণতার দিক নির্ধারণ করা, শেষ পর্যন্ত একটি সম্পূর্ণ ট্রেডিং সিদ্ধান্তের কাঠামো গঠন করা।

কৌশল নীতি

কৌশলটি একটি দ্বৈত সংকেত নিশ্চিতকরণ প্রক্রিয়া ব্যবহার করেঃ ১. ট্রেন্ড কনফার্মেশন লেয়ারঃ বাজারের প্রবণতা নির্ধারণের জন্য ফাস্ট মুভিং এভারেজ (ফাস্টএমএ) এবং স্লো মুভিং এভারেজ (স্লোএমএ) এর ক্রসওভার ব্যবহার করে। যখন দ্রুত লাইনটি ধীর লাইনের উপরে অতিক্রম করে, তখন একটি আপট্রেন্ড প্রতিষ্ঠিত হয়; যখন দ্রুত লাইনটি ধীর লাইনের নীচে অতিক্রম করে, তখন একটি ডাউনট্রেন্ড প্রতিষ্ঠিত হয়। 2. গতি নিশ্চিতকরণ স্তরঃ গতি নিশ্চিতকরণ সরঞ্জাম হিসাবে আরএসআই ব্যবহার করে। আপট্রেন্ডে, আরএসআই 50 এর নীচে হওয়া উচিত, যা আপট্রেন্ডের সম্ভাবনাকে নির্দেশ করে; ডাউনট্রেন্ডে, আরএসআই 50 এর উপরে হওয়া উচিত, যা ডাউনট্রেন্ডের সম্ভাবনাকে নির্দেশ করে। ৩. ট্রেডিং ফিল্টারঃ অপর্যাপ্ত তরলতা বা অস্থিরতা সহ সংকেতগুলি ফিল্টার করার জন্য ভলিউম এবং এটিআর অস্থিরতার জন্য সর্বনিম্ন থ্রেশহোল্ড সেট করে।

কৌশলগত সুবিধা

  1. বহুমাত্রিক সংকেত নিশ্চিতকরণঃ মিথ্যা সংকেতের সম্ভাবনা হ্রাস করার জন্য প্রবণতা এবং গতির সূচকগুলি একত্রিত করে।
  2. বিস্তৃত ঝুঁকি ব্যবস্থাপনাঃ শতকরা ভিত্তিতে ঝুঁকি নিয়ন্ত্রণ পয়েন্টগুলির সাথে স্টপ লস এবং লাভ গ্রহণের ফাংশনগুলিকে একীভূত করে।
  3. নমনীয় ফিল্টারিং প্রক্রিয়াঃ বাজারের অবস্থার উপর ভিত্তি করে ভলিউম এবং অস্থিরতা ফিল্টারগুলি সক্ষম বা নিষ্ক্রিয় করা যেতে পারে।
  4. স্বয়ংক্রিয় পজিশন ক্লোজিংঃ যখন রিভার্স সিগন্যালগুলি প্রতিরোধ করতে দেখা যায় তখন স্বয়ংক্রিয়ভাবে পজিশন বন্ধ করে দেয়।

কৌশলগত ঝুঁকি

  1. বিপজ্জনক বাজার ঝুঁকিঃ ব্যাপ্তি-সীমাবদ্ধ বাজারগুলিতে প্রায়শই মিথ্যা ব্রেকআউট সংকেত দেখা দিতে পারে।
  2. স্লিপিং ঝুঁকিঃ অস্থির বাজার অবস্থার সময়, প্রকৃত এক্সিকিউশন দামগুলি সিগন্যাল ট্রিগার দাম থেকে উল্লেখযোগ্যভাবে বিচ্যুত হতে পারে।
  3. পরামিতি সংবেদনশীলতাঃ কৌশল কর্মক্ষমতা পরামিতি সেটিংসের উপর অত্যন্ত নির্ভর করে, বিভিন্ন বাজারের পরিবেশে বিভিন্ন পরামিতি সংমিশ্রণের প্রয়োজন হতে পারে।

কৌশল অপ্টিমাইজেশান নির্দেশাবলী

  1. গতিশীল পরামিতি সমন্বয়ঃ বাজারের অস্থিরতার ভিত্তিতে গতিশীল গড় সময়কাল এবং আরএসআই প্রান্তিককে গতিশীলভাবে সামঞ্জস্য করার জন্য অভিযোজিত পরামিতি প্রক্রিয়া প্রবর্তন করুন।
  2. সিগন্যাল ওয়েটিং সিস্টেমঃ সিগন্যাল শক্তি স্কোরিং সিস্টেম স্থাপন করুন, যা সূচক কর্মক্ষমতা উপর ভিত্তি করে বিভিন্ন ওজন বরাদ্দ।
  3. বাজার পরিবেশের শ্রেণীবিভাগঃ বিভিন্ন বাজার অবস্থার অধীনে বিভিন্ন ট্রেডিং কৌশল ব্যবহার করার জন্য বাজার অবস্থা সনাক্তকরণ মডিউল যোগ করুন।
  4. উন্নত ঝুঁকি নিয়ন্ত্রণঃ বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে স্টপ-লস পজিশনগুলি সামঞ্জস্য করার জন্য গতিশীল স্টপ-লস প্রক্রিয়া প্রবর্তন করুন।

সংক্ষিপ্তসার

এই কৌশলটি প্রবণতা এবং গতির সূচকগুলির সমন্বিত ব্যবহারের মাধ্যমে একটি বিস্তৃত ট্রেডিং সিস্টেম স্থাপন করে। সিস্টেমের শক্তিগুলি এর বহু-স্তরীয় সংকেত নিশ্চিতকরণ প্রক্রিয়া এবং বিস্তৃত ঝুঁকি ব্যবস্থাপনা কাঠামোর মধ্যে রয়েছে। তবে, বাস্তব প্রয়োগের জন্য বাস্তব পরিস্থিতির উপর ভিত্তি করে কৌশল কর্মক্ষমতা এবং পরামিতি অপ্টিমাইজেশনের উপর বাজারের অবস্থার প্রভাবের প্রতি মনোযোগ প্রয়োজন। ক্রমাগত উন্নতি এবং অপ্টিমাইজেশনের মাধ্যমে, এই কৌশলটির বিভিন্ন বাজারের পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখার সম্ভাবনা রয়েছে।


/*backtest
start: 2024-01-17 00:00:00
end: 2025-01-16 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

// © Boba2601
//@version=5
strategy("RSI-MA Synergy", overlay=true, margin_long=100, margin_short=100)

// === Налаштування індикаторів ===
length_rsi = input.int(14, title="RSI Period", group="Індикатори")
fastMALength = input.int(9, title="Fast MA Length", group="Індикатори")
slowMALength = input.int(21, title="Slow MA Length", group="Індикатори")

// === Налаштування стоп-лосу і тейк-профіту ===
useStopLossTakeProfit = input.bool(true, title="Використовувати стоп-лос і тейк-профіт", group="Стоп-лос і Тейк-профіт")
stopLossPercent = input.float(2.0, title="Стоп-лос (%)", minval=0.1, step=0.1, group="Стоп-лос і Тейк-профіт")
takeProfitPercent = input.float(4.0, title="Тейк-профіт (%)", minval=0.1, step=0.1, group="Стоп-лос і Тейк-профіт")

// === Налаштування об'єму та волатильності ===
useVolumeFilter = input.bool(false, title="Використовувати фільтр об'єму", group="Об'єм та Волатильність")
volumeThreshold = input.int(50000, title="Мінімальний об'єм", group="Об'єм та Волатильність")
useVolatilityFilter = input.bool(false, title="Використовувати фільтр волатильності", group="Об'єм та Волатильність")
atrLength = input.int(14, title="Період ATR для волатильності", group="Об'єм та Волатильність")
volatilityThreshold = input.float(1.5, title="Мінімальна волатильність (ATR)", step=0.1, group="Об'єм та Волатильність")


// === Розрахунок індикаторів ===
rsiValue = ta.rsi(close, length_rsi)
fastMA = ta.sma(close, fastMALength)
slowMA = ta.sma(close, slowMALength)

// === Розрахунок об'єму та волатильності ===
averageVolume = ta.sma(volume, 20)
atrValue = ta.atr(atrLength)

// === Умови входу в позицію ===
longCondition = ta.crossover(fastMA, slowMA) and rsiValue < 50
if useVolumeFilter
    longCondition := longCondition and volume > volumeThreshold
if useVolatilityFilter
    longCondition := longCondition and atrValue > volatilityThreshold

shortCondition = ta.crossunder(fastMA, slowMA) and rsiValue > 50
if useVolumeFilter
    shortCondition := shortCondition and volume > volumeThreshold
if useVolatilityFilter
    shortCondition := shortCondition and atrValue > volatilityThreshold

// === Логіка входу та виходу з позиції ===
if (longCondition)
    strategy.entry("Long", strategy.long)
    if (useStopLossTakeProfit)
        stopLossPrice = close * (1 - stopLossPercent / 100)
        takeProfitPrice = close * (1 + takeProfitPercent / 100)
        strategy.exit("Exit Long", "Long", stop = stopLossPrice, limit = takeProfitPrice)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    if (useStopLossTakeProfit)
        stopLossPrice = close * (1 + stopLossPercent / 100)
        takeProfitPrice = close * (1 - takeProfitPercent / 100)
        strategy.exit("Exit Short", "Short", stop = stopLossPrice, limit = takeProfitPrice)

// === Закриття позицій за зворотнім сигналом ===
if (strategy.position_size > 0 and (ta.crossunder(fastMA, slowMA) or rsiValue > 50))
    strategy.close("Long", comment="Закрито по сигналу")

if (strategy.position_size < 0 and (ta.crossover(fastMA, slowMA) or rsiValue < 50))
    strategy.close("Short", comment="Закрито по сигналу")

সম্পর্কিত

আরো