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