
এই কৌশলটি আরএসআই সূচকগুলির ওভারহোল্ড বিপর্যয়কে গণনা করে বাজারের ওভারহোল্ড প্রবণতা নির্ধারণ করে এবং লেনদেনের সিদ্ধান্ত নেয়। বিশেষত, এটি আরএসআইয়ের নিম্নতম নিম্নতম এবং দামের উচ্চতম নিম্নতম গঠনের সময় লুকানো মাল্টিহেড সংকেত হিসাবে বিচার করে এবং আরএসআইয়ের উচ্চতম উচ্চতম এবং দামের উচ্চতম গঠনের সময় লুকানো ওভারহেড সংকেত হিসাবে বিচার করে। এই সংকেতগুলির উপর ভিত্তি করে বাজারের সম্ভাব্য ওভারহোল্ড প্রবণতা নির্ধারণ করে এবং লেনদেন করে।
এই কৌশলটি মূলত আরএসআই সূচকের মাল্টি-হোল্ড ডিসক্রিপশন তত্ত্বের উপর ভিত্তি করে। যখন আরএসআই এবং দামের বিপরীত বিপরীত হয়, তখন বাজারের সম্ভাব্য বিপরীতের পূর্বাভাস দেওয়া হয়। নিম্নলিখিত চারটি পরিস্থিতিতে বিভক্তঃ
স্বাভাবিক মাল্টি-হেড সংকেত: আরএসআই উচ্চতর নিম্ন এবং দাম নিম্নতর নিম্ন গঠন করে। এটি নির্দেশ করে যে ক্রেতারা আরএসআইকে উচ্চতর করেছে কিন্তু এটি পুরোপুরি মূল্যের প্রতিফলন করেনি, যা মাল্টি-হেড শক্তি বাড়ানোর ইঙ্গিত দেয়
লুকানো মাল্টিহেড সংকেত: আরএসআই আরও নিম্ন নিম্ন এবং দামের উচ্চতর নিম্ন গঠন করে। এটি নির্দেশ করে যে বিক্রয় তালিকাটি আরএসআইকে কমিয়ে দিয়েছে তবে দামের উপর পুরোপুরি প্রতিফলিত হয়নি, যা মাল্টিহেড শক্তি বাড়ানোর ইঙ্গিত দেয়।
স্বাভাবিক শূন্যপদ সংকেত: আরএসআই নিম্ন উচ্চতা গঠন করে, দাম উচ্চ উচ্চতা গঠন করে। এটি নির্দেশ করে যে বিক্রয় শুল্ক দাম বাড়িয়ে দিয়েছে তবে আরএসআইতে পুরোপুরি প্রতিফলিত হয়নি, শূন্যপদ শক্তি বাড়ানোর ইঙ্গিত দেয়।
লুকানো শিরোনাম সংকেতঃ আরএসআই উচ্চতর উচ্চতা গঠন করে, দাম উচ্চতর উচ্চতা গঠন করে। এটি নির্দেশ করে যে ক্রেতারা আরএসআইকে উচ্চতর করেছে কিন্তু এটি পুরোপুরি মূল্যের প্রতিফলন করেনি, যা শিরোনাম শক্তি বাড়ানোর ইঙ্গিত দেয়।
উপরোক্ত মতবিরোধের ভিত্তিতে, বাজারের সম্ভাব্য ওভারহোল প্রবণতা এবং ক্রেতা ও বিক্রেতার শক্তি বৃদ্ধির উপর ভিত্তি করে ট্রেডিং কৌশল তৈরি করুন।
এই কৌশলটি মূলত আরএসআইয়ের পল্টোফোরিক বিভাজনের উপর নির্ভর করে বাজারের সম্ভাব্য পল্টোফোরিক প্রবণতা বিচার করার জন্য, দামের আন্দোলনের মধ্যে ক্রয়-বিক্রয় পাত্রের আপেক্ষিক শক্তি পরিবর্তনগুলি ক্যাপচার করে, পূর্বাভাসগুলি বিপরীত ট্রেডিং করে। এর একটি নির্দিষ্ট পূর্ববর্তী পূর্বাভাস ফাংশন রয়েছে। তবে একটি নির্দিষ্ট শব্দ সংকেত ঝুঁকিও রয়েছে। প্যারামিটার অপ্টিমাইজেশন, সূচক সমন্বয় এবং মেশিন লার্নিং ইত্যাদির মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Divergence Indicator")
len = input.int(title="RSI Period", minval=1, defval=20)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=5)
lbL = input(title="Pivot Lookback Left", defval=5)
rangeUpper = input(title="Max of Lookback Range", defval=60)
rangeLower = input(title="Min of Lookback Range", defval=5)
plotBull = input(title="Plot Bullish", defval=true)
plotHiddenBull = input(title="Plot Hidden Bullish", defval=true)
plotBear = input(title="Plot Bearish", defval=true)
plotHiddenBear = input(title="Plot Hidden Bearish", defval=true)
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 80)
hiddenBearColor = color.new(color.red, 80)
textColor = color.white
noneColor = color.new(color.white, 100)
osc = ta.rsi(src, len)
plot(osc, title="RSI", linewidth=2, color=#2962FF)
hline(50, title="Middle Line", color=#787B86, linestyle=hline.style_dotted)
obLevel = hline(70, title="Overbought", color=#787B86, linestyle=hline.style_dotted)
osLevel = hline(30, title="Oversold", color=#787B86, linestyle=hline.style_dotted)
fill(obLevel, osLevel, title="Background", color=color.rgb(33, 150, 243, 90))
plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(ta.pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
bars = ta.barssince(cond == true)
rangeLower <= bars and bars <= rangeUpper
//------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc[lbR] > ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])
// Price: Lower Low
priceLL = low[lbR] < ta.valuewhen(plFound, low[lbR], 1)
// bull : 상승 Condition : 조건
bullCond = plotBull and priceLL and oscHL and plFound // 상승다이버전스?
strategy.entry("상승 다이버전스 진입", strategy.long, when = bullCond)
// strategy.close("상승 다이버전스 진입", when = ta.crossover(osc, 70))
plot(
plFound ? osc[lbR] : na,
offset=-lbR,
title="Regular Bullish",
linewidth=2,
color=(bullCond ? bullColor : noneColor)
)
plotshape(
bullCond ? osc[lbR] : na,
offset=-lbR,
title="Regular Bullish Label",
text=" Bull ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low
oscLL = osc[lbR] < ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])
// Price: Higher Low
priceHL = low[lbR] > ta.valuewhen(plFound, low[lbR], 1)
hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound
strategy.entry("히든 상승 다이버전스 진입", strategy.long, when = hiddenBullCond)
// strategy.close("히든 상승 다이버전스 진입", when = ta.crossover(osc, 70))
plot(
plFound ? osc[lbR] : na,
offset=-lbR,
title="Hidden Bullish",
linewidth=2,
color=(hiddenBullCond ? hiddenBullColor : noneColor)
)
plotshape(
hiddenBullCond ? osc[lbR] : na,
offset=-lbR,
title="Hidden Bullish Label",
text=" H Bull ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High
oscLH = osc[lbR] < ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])
// Price: Higher High
priceHH = high[lbR] > ta.valuewhen(phFound, high[lbR], 1)
// bear : 하락
bearCond = plotBear and priceHH and oscLH and phFound
strategy.entry("하락 다이버전스 진입", strategy.short, when = bearCond)
// strategy.close("하락 다이버전스 진입", when = ta.crossunder(osc, 50))
plot(
phFound ? osc[lbR] : na,
offset=-lbR,
title="Regular Bearish",
linewidth=2,
color=(bearCond ? bearColor : noneColor)
)
plotshape(
bearCond ? osc[lbR] : na,
offset=-lbR,
title="Regular Bearish Label",
text=" Bear ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High
oscHH = osc[lbR] > ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])
// Price: Lower High
priceLH = high[lbR] < ta.valuewhen(phFound, high[lbR], 1)
hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound
strategy.entry("히든 하락 다이버전스 진입", strategy.short, when = hiddenBearCond)
// strategy.close("히든 하락 다이버전스 진입", when = ta.crossunder(osc, 50))
plot(
phFound ? osc[lbR] : na,
offset=-lbR,
title="Hidden Bearish",
linewidth=2,
color=(hiddenBearCond ? hiddenBearColor : noneColor)
)
plotshape(
hiddenBearCond ? osc[lbR] : na,
offset=-lbR,
title="Hidden Bearish Label",
text=" H Bear ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)