এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য প্রবণতার দিকনির্দেশনা এবং ওভার-বিক্রয় ওভার-বিক্রয় অঞ্চলগুলি সনাক্ত করতে একাধিক প্রযুক্তিগত সূচক ব্যবহার করে।
প্রধান সূচকগুলো হলঃ
গড় দিক নির্দেশক সূচক (ADX): প্রবণতা শক্তি বিচার
তুলনামূলকভাবে দুর্বল সূচক (আরএসআই): ওভারবয় ওভারসোল্ড
সানগ্লাস গড় (এসএমএ): স্বল্পমেয়াদী প্রবণতা নির্ণয় করা
এক্সট্রিম এসএআর সূচক: দীর্ঘ ও স্বল্পমেয়াদী প্রবণতা নির্ণয় করা
চ্যানেল ব্রেকঃ ট্রেন্ড ব্রেকিং
লেনদেনের লজিকঃ
ADX এর মতে, প্রবণতা বিদ্যমান এবং যথেষ্ট শক্তিশালী
এসএআর-এর দীর্ঘ ও স্বল্পমেয়াদী প্রবণতা
আরএসআই ওভার-বই ওভার-সোল্ডের পরিধি চিহ্নিত করে
দাম এসএমএ গড় লাইন অতিক্রম করলে প্রবেশ করুন
মূল্য চ্যানেল ভেঙে প্রবেশ
একাধিক সূচক একে অপরকে যাচাই করে বিচার সঠিকতা বৃদ্ধি করে, বিভিন্ন কৌশল সমন্বয় একটি সিস্টেম ট্রেডিং সিস্টেম গঠন করে।
সিগন্যালের গুণগত মান উন্নত করতে মাল্টিমিটার প্যারেন্টিং
বিভিন্ন কৌশল সমন্বয়, পদ্ধতিগত ভর্তি
ADX ট্রেন্ড চিহ্নিত করেছে, আরএসআই ওভারবয় ওভারসোল্ড করেছে
এসএআর ট্রেন্ডিং, এসএমএ এবং চ্যানেলের মাধ্যমে প্রবেশ করে
মাল্টি-প্যারামিটার সেটিং, পুনরাবৃত্তি পরীক্ষার অপ্টিমাইজেশান প্রয়োজন
সংমিশ্রণ শর্তের কম ফ্রিকোয়েন্সি
ইঙ্গিতগুলি যখন দ্বন্দ্বের সংকেত দেয় তখন এটি পরিচালনা করা কঠিন
এই কৌশলটি বিভিন্ন ধরণের সূচকগুলির সুবিধা গ্রহণ করে এবং একটি শক্তিশালী ব্যবসায়ের ব্যবস্থা তৈরি করে। তবে এটির জন্য প্যারামিটারগুলি অনুকূলিতকরণ করা দরকার যাতে ব্যবসায়ের ফ্রিকোয়েন্সি যুক্তিসঙ্গত হয়। সামগ্রিকভাবে, কৌশলটি শক্তিশালী প্রবণতা সনাক্তকরণের সাথে কার্যকরভাবে প্রবেশের সাথে একত্রিত হয়।
/*backtest
start: 2023-09-12 00:00:00
end: 2023-09-13 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// strategy("Combined Strategy", overlay=true, default_qty_value=100, initial_capital=1000, margin_long=0.1)
adxlen = input(7, title="ADX Smoothing")
dilen = input(7, title="DI Length")
dirmov(len) =>
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
// The same on Pine Script™
pine_supertrend(factor, atrPeriod) =>
src = hl2
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand[1])
prevUpperBand = nz(upperBand[1])
lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
int direction = na
float superTrend = na
prevSuperTrend = superTrend[1]
if na(atr[1]) and ta.rsi(close, 21) < 66 and ta.rsi(close,3) > 80 and ta.rsi(close, 28) > 49 and sig > 20
direction := 1
else if prevSuperTrend == prevUpperBand
direction := close > upperBand ? -1 : 1
else
direction := close < lowerBand ? 1 : -1
superTrend := direction == -1 ? lowerBand : upperBand
[superTrend, direction]
[pineSupertrend, pineDirection] = pine_supertrend(3, 10)
upTrend = pineDirection < 0
downTrend = pineDirection > 0
// Define the 20-period SMA
sma20 = ta.sma(close, 20)
a = ta.rsi(close,14)
OB = input(70)
OS = input(30)
os = a > OB
ob = a < OS
if upTrend and close > pineSupertrend and close > sma20 and os
strategy.entry("Buy", strategy.long)
if ta.crossunder(close, sma20) or ob
strategy.close_all()
//define when to breakout of channel
//("ChannelBreakOutStrategy", overlay=true)
length = input.int(title="Length", minval=1, maxval=1000, defval=5)
upBound = ta.highest(high, length)
downBound = ta.lowest(low, length)
if (not na(close[length]))
strategy.entry("ChBrkLE", strategy.long, stop=upBound + syminfo.mintick, comment="ChBrkLE")
strategy.entry("ChBrkSE", strategy.short, stop=downBound - syminfo.mintick, comment="ChBrkSE")