اس حکمت عملی میں ٹریڈنگ سگنل پیدا کرنے کے لئے رجحان کی سمت اور اوورلوڈ اوور سیل علاقوں کی شناخت کے لئے متعدد تکنیکی اشارے کا استعمال کیا گیا ہے۔
اہم اشارے میں شامل ہیں:
اوسط سمت انڈیکس ((ADX): رجحان کی طاقت کا اندازہ لگانا
نسبتاً کمزور اشارے (آر ایس آئی): زیادہ خریدنے اور زیادہ فروخت کرنے کا فیصلہ
سمیٹ اوسط (ایس ایم اے): مختصر مدت کے رجحانات کا اندازہ لگانا
انتہائی تیز رفتار SAR: طویل مدتی رجحانات کا اندازہ لگانا
چینل توڑنے: رجحان توڑنے
ٹرانزیکشن لاجسٹکس:
ADX کا کہنا ہے کہ رجحان موجود ہے اور کافی مضبوط ہے
SAR کا کہنا ہے کہ طویل اور قلیل مدتی رجحانات متفق ہیں
RSI اوورلوڈ اور اوورلوڈ زون کی شناخت کرتا ہے
جب قیمت SMA میڈین لائن کو توڑتی ہے تو داخل ہوتا ہے
جب قیمتوں میں کمی واقع ہوتی ہے تو داخلہ
متعدد اشارے ایک دوسرے کی توثیق کرتے ہیں جس سے فیصلے کی درستگی میں اضافہ ہوتا ہے ، اور مختلف حکمت عملیوں کا مجموعہ ایک منظم تجارتی نظام تشکیل دیتا ہے۔
ملٹی میٹرکس کا مجموعہ ، سگنل کے معیار کو بہتر بناتا ہے
مختلف حکمت عملیوں کا مجموعہ، منظم داخلے
ADX نے رجحانات کی نشاندہی کی ، RSI نے اوور خریدنے اور اوور فروخت کرنے کا فیصلہ کیا
SAR رجحانات پر قبضہ کرتا ہے، SMA اور چینل داخل ہوتا ہے
ایک سے زیادہ پیرامیٹرز کی ترتیب، بار بار ٹیسٹ کی اصلاح کی ضرورت ہے
کم تعدد کے ساتھ جوڑے کی شرائط
جب اشارے تنازعہ سگنل پیدا کرتے ہیں تو اس کا انتظام کرنا مشکل ہوتا ہے
اس حکمت عملی میں مختلف اشارے کی طاقت کا بھرپور استعمال کیا گیا ہے تاکہ ایک مضبوط تجارتی نظام تشکیل دیا جاسکے۔ تاہم ، پیرامیٹرز کو بہتر بنانے کی ضرورت ہے تاکہ یہ یقینی بنایا جاسکے کہ تجارت کی فریکوئنسی مناسب ہے۔ مجموعی طور پر ، حکمت عملی میں مضبوط رجحانات کی نشاندہی اور موثر اندراج شامل ہے۔
/*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")