
یہ حکمت عملی QQE اشارے اور RSI اشارے پر مبنی ہے ، جس میں RSI اشارے کی ہموار حرکت پذیر اوسط اور متحرک اتار چڑھاؤ کی شدت کا حساب لگایا جاتا ہے ، جس سے کثیر خلائی سگنل کی گنجائش پیدا ہوتی ہے۔ جب RSI اشارے کا ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامنٹ ٹورنامن
یہ حکمت عملی آر ایس آئی اور کیو کیو ای اشارے کی بنیاد پر کثیر خلائی سگنل کی تعمیر کرتی ہے ، جس میں رجحان کی گرفت اور اتار چڑھاؤ کی گرفت کی خصوصیات ہیں۔ حکمت عملی کی منطق واضح ہے ، اس میں کم پیرامیٹرز ہیں ، جو مزید اصلاح اور بہتری کے لئے موزوں ہیں۔ تاہم ، حکمت عملی میں کچھ خطرات بھی موجود ہیں ، جیسے ریٹرو کنٹرول ، پیرامیٹرز کی ترتیب وغیرہ کو مزید بہتر بنانے کی ضرورت ہے۔ مستقبل میں حکمت عملی کو بہتر بنانے کے لئے حکمت عملی کی استحکام اور منافع بخش صلاحیت کو بڑھانے کے لئے نقصانات ، پیرامیٹرز کی اصلاح ، سگنل کی فراوانی اور مختلف مارکیٹ کی موافقت وغیرہ سے حکمت عملی کو بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-05-21 00:00:00
end: 2024-05-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=4
// modified by swigle
// thanks colinmck
strategy("QQE signals bot", overlay=true)
RSI_Period = input(14, title='RSI Length')
SF = input(5, title='RSI Smoothing')
QQE = input(4.236, title='Fast QQE Factor')
ThreshHold = input(10, title="Thresh-hold")
src = close
Wilders_Period = RSI_Period * 2 - 1
Rsi = rsi(src, RSI_Period)
RsiMa = ema(Rsi, SF)
AtrRsi = abs(RsiMa[1] - RsiMa)
MaAtrRsi = ema(AtrRsi, Wilders_Period)
dar = ema(MaAtrRsi, Wilders_Period) * QQE
longband = 0.0
shortband = 0.0
trend = 0
DeltaFastAtrRsi = dar
RSIndex = RsiMa
newshortband = RSIndex + DeltaFastAtrRsi
newlongband = RSIndex - DeltaFastAtrRsi
longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ? max(longband[1], newlongband) : newlongband
shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ? min(shortband[1], newshortband) : newshortband
cross_1 = cross(longband[1], RSIndex)
trend := cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1)
FastAtrRsiTL = trend == 1 ? longband : shortband
// Find all the QQE Crosses
QQExlong = 0
QQExlong := nz(QQExlong[1])
QQExshort = 0
QQExshort := nz(QQExshort[1])
QQExlong := FastAtrRsiTL < RSIndex ? QQExlong + 1 : 0
QQExshort := FastAtrRsiTL > RSIndex ? QQExshort + 1 : 0
//Conditions
qqeLong = QQExlong == 1 ? FastAtrRsiTL[1] - 50 : na
qqeShort = QQExshort == 1 ? FastAtrRsiTL[1] - 50 : na
// Plotting
plotshape(qqeLong, title="QQE long", text="Long", textcolor=color.white, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny)
plotshape(qqeShort, title="QQE short", text="Short", textcolor=color.white, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny)
// trade
//if qqeLong > 0
strategy.entry("buy long", strategy.long, 100, when=qqeLong)
if qqeShort > 0
strategy.close("buy long")
// strategy.exit("close_position", "buy long", loss=1000)
// strategy.entry("sell", strategy.short, 1, when=strategy.position_size > 0)