ট্রেন্ড রাইডিং আরএসআই সুইং ক্যাপচার কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-02-04 10:48:38
ট্যাগঃ

img

সারসংক্ষেপ

ট্রেন্ড রাইডিং আরএসআই সুইং ক্যাপচার কৌশল হল একটি সুইং ট্রেডিং কৌশল যা বাজারের সুইংগুলি ক্যাপচার করার জন্য আরএসআই, এমএসিডি এবং ভলিউম বিশ্লেষণকে একত্রিত করে। এটি বাজারের প্রবণতাগুলিতে সমর্থন স্তরগুলি সনাক্ত করে এবং যখন অতিরিক্ত ক্রয় বা অতিরিক্ত বিক্রয় দৃশ্যকল্প উপস্থিত হয় তখন কম কিনতে এবং উচ্চ বিক্রয় করতে কাউন্টার-ট্রেন্ড অবস্থান নেয়।

নীতিমালা

এই কৌশলটির মূল সূচক হল RSI, MACD এবং ভলিউম। এর যুক্তি হলঃ

  1. RSI-এর প্রত্যাশিত বিপরীতমুখী অবস্থা নিশ্চিত করার জন্য RSI-এর অন্তর্ভুক্তি ওভারকুপেড বা ওভারসোল্ড জোনে হয়েছে কিনা তা বিচার করুন;

  2. ম্যাকড গোল্ডেন ক্রস এবং ডেথ ক্রস ব্যবহার করুন মূল্যের প্রবণতা এবং গতির পরিবর্তনগুলি পরিপূরক প্রবেশের শর্ত হিসাবে নির্ধারণ করতে;

  3. ভলিউম ব্রেকআউটকে সঠিকভাবে চিহ্নিত করতে এবং মিথ্যা সংকেত এড়াতে ব্যবহার করুন।

ট্রেডিং সিগন্যাল শুধুমাত্র তখনই তৈরি করা হয় যখন তিনটি শর্ত একই সাথে পূরণ করা হয়। লং বা শর্ট এর দিকটি মূল্যের ব্রেকআউটের দিকের উপর নির্ভর করে। এটি কার্যকরভাবে মিথ্যা ব্রেকআউটগুলি ফিল্টার করে এবং সংকেতের নির্ভরযোগ্যতা উন্নত করে।

সুবিধা

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

ঝুঁকি

কোন ট্রেডিং কৌশল বাজার ঝুঁকি সম্পূর্ণরূপে এড়াতে পারে না এবং এই কৌশল ব্যতিক্রম নয়। প্রধান ঝুঁকিগুলি কেন্দ্রীভূতঃ

  1. স্টপ লস আউট করা হচ্ছে। চরম বাজারের অবস্থার অধীনে, দামগুলি এক মুহুর্তে তীব্রভাবে পরিবর্তিত হতে পারে। যদি স্টপ লস স্তরটি সরাসরি প্রবেশ করে তবে বিশাল ক্ষতি হবে।

  2. অনুপযুক্ত প্যারামিটার সেটিং। অনুপযুক্ত আরএসআই, এমএসিডি প্যারামিটার সেটিংগুলি সংকেত মানের অবনতি এবং অত্যধিক ভুল সংকেতগুলির দিকে পরিচালিত করতে পারে।

উপরের ঝুঁকিগুলির প্রতিক্রিয়া হিসাবে, স্টপ লস অ্যালগরিদমগুলিকে স্টপ লস ট্র্যাকিং ইত্যাদি প্রবর্তন করে অপ্টিমাইজ করা অন্তর্ভুক্ত; এদিকে, স্থিতিশীলতা এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য মূল পরামিতিগুলির উপর বারবার ব্যাকটেস্টিং এবং অপ্টিমাইজেশন করা উচিত।

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

বর্তমান কৌশলগত কাঠামোর উপর ভিত্তি করে অপ্টিমাইজেশান প্রধান দিকঃ

  1. স্টপ লস স্তরের গতিশীল ট্র্যাকিং অর্জনের জন্য মেশিন লার্নিং অ্যালগরিদম প্রবর্তন করা, স্টপ লসের সাথে যুক্ত ঝুঁকিগুলি এড়ানো;

  2. সিগন্যালের গুণমান উন্নত করতে এবং অপ্রয়োজনীয় রিভার্স ট্রেড হ্রাস করতে বোলিংজার ব্যান্ড, কেডি এর মতো আরও ফিল্টার সূচক অন্তর্ভুক্ত করা;

  3. অপ্রত্যাশিত ঘটনার প্রভাবের উপর আরও ভাল নিয়ন্ত্রণের জন্য গতিশীলভাবে পজিশনের আকার সামঞ্জস্য করে মূলধন পরিচালনার কৌশলগুলিকে অনুকূল করা;

  4. ম্যানুয়াল টেস্টিং কাজের চাপ কমাতে স্বয়ংক্রিয়ভাবে সর্বোত্তম পরামিতিগুলি সনাক্ত করতে উন্নত ডেটা বিশ্লেষণ ব্যবহার করুন;

  5. অর্ডার প্রবাহের উপর ভিত্তি করে লেনদেনের সংকেত অন্তর্ভুক্ত করুন, কৌশল কার্যকারিতা বাড়ানোর জন্য গভীর স্তরের বাজারের ডেটা ব্যবহার করুন।

সিদ্ধান্ত

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


/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// SwingSync RSI Strategy
// This strategy combines RSI, MACD, and volume analysis to capture swing trading opportunities.
// It includes risk management features to protect your capital.
// Adjust the input parameters and backtest to optimize performance.// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © str0zzapreti

//@version=5
strategy('SwingSync RSI', overlay=true)
// Adjustable Parameters
// var custom_message = input.string('', title='Symbol')
ma_period = input.int(20, title='Moving Average Period')
stop_loss_percent = input.float(1, title='STOP LOSS (%)',step=0.1)
macd_fast_length = input(12, title='MACD Fast Length')
macd_slow_length = input(26, title='MACD Slow Length')
macd_signal_smoothing = input(9, title='MACD Signal Smoothing')
rsi_period = input(14, title='RSI Period')
rsi_overbought = input(70, title='RSI OVERBOUGHT LEVEL')
rsi_oversold = input(30, title='RSI OVERSOLD LEVEL')
volume_ma_period = input(20, title="Volume MA Period")
volume_threshold_percent = input(50, title="Volume Threshold (%)")
slippage = 0.5
risk_per_trade = input(1, title='Risk per Trade (%)')

// Calculating Indicators *
price = close
ma = ta.sma(price, ma_period)
rsi = ta.rsi(price, rsi_period)
vol_ma = ta.sma(volume, volume_ma_period)
[macdLine, signalLine, _] = ta.macd(price, macd_fast_length, macd_slow_length, macd_signal_smoothing)
volume_threshold = vol_ma * (1 + volume_threshold_percent / 100)

// Definitions
volumeCheck = volume > volume_threshold
longRsiCheck = rsi < rsi_overbought
longMovAvgCross = ta.crossover(price, ma)
longMovAvgCheck = price > ma
longMacdCross = ta.crossover(macdLine, signalLine)
longMacdCheck = macdLine > signalLine
shortRsiCheck = rsi > rsi_oversold
shortMovAvgCross = ta.crossunder(price, ma)
shortMovAvgCheck = price < ma
shortMacdCross = ta.crossunder(macdLine, signalLine)
shortMacdCheck = macdLine < signalLine

// Entry Conditions for Long and Short Trades
longCondition = volumeCheck and longRsiCheck and ((longMovAvgCross and longMacdCheck) or (longMacdCross and longMovAvgCheck)) 
shortCondition = volumeCheck and shortRsiCheck and  ((shortMovAvgCross and shortMacdCheck) or (shortMacdCross and shortMovAvgCheck)) 

// Tracking Last Trade Day
var int last_trade_day = na

if longCondition or shortCondition
    last_trade_day := dayofweek

// Calculate can_exit_trade based on day difference
can_exit_trade = dayofweek != last_trade_day

// Entry Orders
var float max_qty_based_on_equity = na
var float qty = na

if longCondition
    max_qty_based_on_equity := strategy.equity / price
    qty := (strategy.equity * risk_per_trade / 100) / price
    if qty > max_qty_based_on_equity
        qty := max_qty_based_on_equity
    strategy.entry('Long', strategy.long, 1)

if shortCondition
    max_qty_based_on_equity := strategy.equity / price
    qty := (strategy.equity * risk_per_trade / 100) / price
    if qty > max_qty_based_on_equity
        qty := max_qty_based_on_equity
    strategy.entry('Short', strategy.short, 1)

// Exit Conditions
exitLongCondition = ta.crossunder(price, ma) or rsi > rsi_overbought
exitShortCondition = ta.crossover(price, ma) or rsi < rsi_oversold

// Calculate take profit and stop loss levels
stopLossLevelLong = strategy.position_avg_price * (1 - stop_loss_percent / 100)
stopLossLevelShort = strategy.position_avg_price * (1 + stop_loss_percent / 100)

// Adjust for slippage
adjusted_stop_loss_long = stopLossLevelLong * (1 + slippage / 100)
adjusted_stop_loss_short = stopLossLevelShort * (1 - slippage / 100)

// Strategy Exit Orders for Long Positions
if strategy.position_size > 0 and can_exit_trade
    if (close < adjusted_stop_loss_long)
        strategy.close('Long', comment='Stop Loss Long')
    if exitLongCondition
        strategy.close('Long', comment='Exit Long')

// Strategy Exit Orders for Short Positions
if strategy.position_size < 0 and can_exit_trade
    if (close > adjusted_stop_loss_short)
        strategy.close('Short', comment='Stop Loss Short')
    if exitShortCondition
        strategy.close('Short', comment='Exit Short')

plot(ma)


আরো