
আর ১৪ চক্রের আরএসআই ব্যবহার করবেন না। এই কৌশলটি সরাসরি আরএসআই চক্রকে ৮-এ সংকুচিত করে এবং ১৪ পয়েন্টের গতিশীলতা হ্রাস করে, বিশেষত সংক্ষিপ্ত লাইনের বিস্ফোরণগুলি ধরার জন্য। ঐতিহ্যগত আরএসআই কৌশলগুলি অস্থির বাজারে বারবার মুখোমুখি হয়, এবং এই সংমিশ্রণটি উচ্চ-ফ্রিকোয়েন্সির ওঠানামায় আরও স্থিতিশীলভাবে কাজ করে।
মূল যুক্তিটি খুব সোজাঃ আরএসআই গতিশীলতার পরিবর্তন> 14 এ মাল্টিহেড সংকেত ট্রিগার করে, <-14 এ খালি হেড সংকেত ট্রিগার করে। একই সাথে, 13 টিরও বেশি চক্রের গড় পরিমাণের লেনদেনের প্রয়োজন হয়, যাতে এটি মিথ্যা বিরতি না হয়। এই নকশাটি 1-2 চক্রের আগে সহজ আরএসআই ওভার-বিক্রয় ওভার-বিক্রয় সংকেত থেকে শুরু হয়, যখন ট্রেন্ডটি শুরু হয় তখন সোনার মুহূর্তটি ধরা যায়।
স্টপ লস ৪.১৫%, স্টপ লস ১.৮৫% এবং রিস্ক-রিটার্নের অনুপাত ২.২৪ঃ১। এই অনুপাতটি স্কাল্পিং কৌশলটিতে একটি র্যাডিকাল, তবে ২.৫৫% মুভিং স্টপ লসের সাথে, প্রকৃত ঝুঁকি নিয়ন্ত্রণ আরও কঠোর।
মূল বিষয় হল মুভিং স্টপ ডিজাইন: যখনই দাম সুবিধাজনক দিকে চলে যায়, স্টপ লাইন সর্বোচ্চ/নিম্ন পয়েন্টের গতিশীল সমন্বয় অনুসরণ করে। এর মানে হল যে 4.15% স্টপ লক্ষ্যমাত্রা না পেয়েও বেশিরভাগ মুনাফা লক করা যায়। বাস্তব যুদ্ধে, অনেকগুলি লেনদেন 2-3% অবস্থানে মুভিং স্টপ দ্বারা আনা হয়, মুনাফা প্রত্যাহার এড়ানো যায়।
ট্রেডিং পরিমাণটি 13 টি চক্রের গড়ের চেয়ে বেশি হওয়া উচিত যাতে আপনি পজিশন খুলতে পারেন। এই নকশাটি 90% মিথ্যা সংকেতকে ফিল্টার করে। অনেক RSI কৌশলগুলি কম পরিমাণের পরিবেশে ঘন ঘন পজিশন খোলার জন্য ব্যবহৃত হয় এবং ফলস্বরূপ এটিকে ঘন ঘন আঘাত করা হয়।
13 চক্রের লেনদেনের গড় লাইনটি সাধারণ 20 চক্রের চেয়ে বেশি সংবেদনশীল এবং তহবিলের প্রবাহকে আরও দ্রুত সনাক্ত করতে পারে। 1x এর সংখ্যাটি উচ্চ বলে মনে হচ্ছে না, তবে 8 চক্রের আরএসআইয়ের দ্রুত প্রতিক্রিয়া সহ, সত্যিকারের বিপর্যয়ের সুযোগগুলি বের করার জন্য যথেষ্ট।
একাধিক প্রবেশের জন্য তিনটি শর্তের মধ্যে একটি পূরণ করতে হবেঃ আরএসআই গতিশীলতা> ১৪, আরএসআই ওভারসোল্ড অঞ্চল থেকে রিবাউন্ড, আরএসআই ওভারসোল্ড লাইন অতিক্রম করে। এই নকশাটি একক শর্তের চেয়ে আরও নমনীয় এবং বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নেয়।
ওভারব্লড লাইন ১০, ওভারব্লড লাইন ৯০, প্রচলিত ৩০/৭০ এর চেয়ে বেশি চরম। এটি করার সুবিধা হল মিথ্যা সংকেত হ্রাস করা, এবং খারাপ দিকটি হ’ল কিছু সুযোগ মিস করা হতে পারে। তবে স্কাল্পিং কৌশলগুলির জন্য, এটি মিস করা বা ভুল করা ভাল নয়।
এই কৌশলটি ক্রিপ্টোকারেন্সি, ফরেক্সের প্রধান মুদ্রা জোড়া এবং জনপ্রিয় শেয়ারের মতো উচ্চ ওঠানামা জাতের জন্য সবচেয়ে উপযুক্ত। নিম্ন ওঠানামা ব্লু-প্রিন্ট স্টক বা বন্ডের উপর একটি বড় ছাড় দেওয়া হবে।
সেরা সময় উইন্ডোটি হল ইউরোপীয় এবং আমেরিকান ট্রেডিং সময়ের ওভারল্যাপ, যখন তরলতা সবচেয়ে ভাল এবং লেনদেনের পরিমাণ ফিল্টার সবচেয়ে কার্যকর। এশিয়ান সময় কম লেনদেনের পরিমাণের কারণে সংকেতের গুণমান হ্রাস পায়।
পুনরাবৃত্তিমূলক তথ্য থেকে দেখা যায় যে এই কৌশলটি ক্রমাগত ক্ষতির ঝুঁকি নিয়ে আসে, বিশেষত যখন এটি একটি অনুভূমিকভাবে অস্থির বাজারে থাকে। 8 চক্রের আরএসআই খুব সংবেদনশীল এবং এটি একটি ব্যাপ্তিযুক্ত অস্থিরতার মধ্যে পুনরাবৃত্ত ক্ষতিগ্রস্থ হতে পারে।
একক ঝুঁকি অ্যাকাউন্টের 2% এর বেশি নয় এবং পরপর 3 টি স্টপ লস পরে ট্রেডিং বন্ধ করার পরামর্শ দেওয়া হয়। ঐতিহাসিক পুনরাবৃত্তি ভবিষ্যতের লাভের প্রতিনিধিত্ব করে না, বাস্তব-অক্ষের ট্রেডিংয়ের জন্য কঠোর তহবিল ব্যবস্থাপনা এবং মানসিক নিয়ন্ত্রণ প্রয়োজন।
/*backtest
start: 2024-09-29 00:00:00
end: 2025-09-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Bybit","currency":"ETH_USDT","balance":500000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MonkeyPhone
//@version=5
strategy("RSI Momentum Scalper", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills=true)
// Trading Mode Selection
tradeMode = input.string("Both", title="Trade Mode", options=["Both", "Long Only", "Short Only"])
// RSI Settings
rsiLength = input.int(8, title="RSI Length", minval=2, maxval=30)
rsiOverbought = input.int(90, title="RSI Overbought", minval=60, maxval=99)
rsiOversold = input.int(10, title="RSI Oversold", minval=1, maxval=40)
rsiMomentumThreshold = input.float(14, title="RSI Momentum Threshold", minval=1, maxval=15, step=0.5)
// Volume Settings
volMultiplier = input.float(1, title="Volume Multiplier", minval=1.0, maxval=3.0, step=0.1)
volLookback = input.int(13, title="Volume MA Length", minval=5, maxval=50)
// Exit Settings
takeProfitPercent = input.float(4.15, title="Take Profit %", minval=0.1, maxval=10.0, step=0.1)
stopLossPercent = input.float(1.85, title="Stop Loss %", minval=0.1, maxval=6.0, step=0.1)
trailingStopPercent = input.float(2.55, title="Trailing Stop %", minval=0.1, maxval=4.0, step=0.05)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
rsiMA = ta.sma(rsi, 3)
// Calculate RSI Momentum
rsiMomentum = rsi - rsi[1]
// Volume Analysis
volMA = ta.sma(volume, volLookback)
highVolume = volume > volMA * volMultiplier
// Entry Conditions - Long
bullishMomentum = rsiMomentum > rsiMomentumThreshold
oversoldBounce = rsi < rsiOversold and rsi > rsi[1]
bullishCross = ta.crossover(rsi, rsiOversold)
longCondition = (bullishMomentum or oversoldBounce or bullishCross) and highVolume and close > close[1]
// Entry Conditions - Short
bearishMomentum = rsiMomentum < -rsiMomentumThreshold
overboughtReversal = rsi > rsiOverbought and rsi < rsi[1]
bearishCross = ta.crossunder(rsi, rsiOverbought)
shortCondition = (bearishMomentum or overboughtReversal or bearishCross) and highVolume and close < close[1]
// Apply trade mode filter
longEntry = longCondition and (tradeMode == "Both" or tradeMode == "Long Only")
shortEntry = shortCondition and (tradeMode == "Both" or tradeMode == "Short Only")
// Entry Logic
strategy.entry("Long", strategy.long, when=longEntry and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when=shortEntry and strategy.position_size == 0)
// Declare and initialize trailing variables
var float highest_since_long = na
var float lowest_since_short = na
var float long_trailing_level = na
var float short_trailing_level = na
var float long_fixed_sl = na
var float long_tp = na
var float short_fixed_sl = na
var float short_tp = na
// Update trailing levels using ternary operators with math.max/min
highest_since_long := strategy.position_size > 0 ? math.max(na(highest_since_long[1]) ? math.max(high, strategy.position_avg_price) : highest_since_long[1], high) : na
lowest_since_short := strategy.position_size < 0 ? math.min(na(lowest_since_short[1]) ? math.min(low, strategy.position_avg_price) : lowest_since_short[1], low) : na
// Calculate exit levels
long_fixed_sl := strategy.position_size > 0 ? strategy.position_avg_price * (1 - stopLossPercent / 100) : na
long_tp := strategy.position_size > 0 ? strategy.position_avg_price * (1 + takeProfitPercent / 100) : na
long_trailing_level := strategy.position_size > 0 ? highest_since_long * (1 - trailingStopPercent / 100) : na
short_fixed_sl := strategy.position_size < 0 ? strategy.position_avg_price * (1 + stopLossPercent / 100) : na
short_tp := strategy.position_size < 0 ? strategy.position_avg_price * (1 - takeProfitPercent / 100) : na
short_trailing_level := strategy.position_size < 0 ? lowest_since_short * (1 + trailingStopPercent / 100) : na
// Effective stop loss levels
effective_long_sl = strategy.position_size > 0 ? math.max(long_fixed_sl, long_trailing_level) : na
effective_short_sl = strategy.position_size < 0 ? math.min(short_fixed_sl, short_trailing_level) : na
// Exit Logic
strategy.exit("Long Exit", "Long", limit=long_tp, stop=effective_long_sl, when=strategy.position_size > 0)
strategy.exit("Short Exit", "Short", limit=short_tp, stop=effective_short_sl, when=strategy.position_size < 0)
// Plot TP, fixed SL, and trailing SL levels on chart when in position
plot(strategy.position_size > 0 ? long_tp : na, title="Long TP", color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0 ? long_fixed_sl : na, title="Long Fixed SL", color=color.red, style=plot.style_linebr)
plot(strategy.position_size > 0 ? long_trailing_level : na, title="Long Trailing SL", color=color.orange, style=plot.style_linebr)
plot(strategy.position_size < 0 ? short_tp : na, title="Short TP", color=color.green, style=plot.style_linebr)
plot(strategy.position_size < 0 ? short_fixed_sl : na, title="Short Fixed SL", color=color.red, style=plot.style_linebr)
plot(strategy.position_size < 0 ? short_trailing_level : na, title="Short Trailing SL", color=color.orange, style=plot.style_linebr)
// Alerts
alertcondition(longEntry, title="Long Entry Alert", message="RSI Momentum Long Signal")
alertcondition(shortEntry, title="Short Entry Alert", message="RSI Momentum Short Signal")