
ڈبل ریٹرو انڈیکس حکمت عملی ایک مجموعہ حکمت عملی ہے جو 123 ریٹرو انڈیکس اور رشتہ دار متحرک انڈیکس (RMI) حکمت عملی کو جوڑتی ہے۔ اس کا مقصد ڈبل سگنل کا استعمال کرکے تجارتی فیصلوں کی درستگی کو بہتر بنانا ہے۔
اس حکمت عملی کے دو حصے ہیں:
123 واپسی کی حکمت عملی
رشتہ دار متحرک انڈیکس (RMI) حکمت عملی
اس مجموعہ کی حکمت عملی صرف تب ہی تجارت کا اشارہ دیتی ہے جب 123 ریورس اور آر ایم آئی ڈبل سگنل ایک ہی سمت میں بھیجے جاتے ہیں۔ اس سے غلط تجارت کے مواقع کو مؤثر طریقے سے کم کیا جاسکتا ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
ان خطرات کو کم کرنے کے لئے، پیرامیٹرز کے مجموعے کو ایڈجسٹ کریں اور اشارے کے حساب کے طریقہ کار کو بہتر بنائیں.
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
ڈبل ریٹرننگ انڈیکس حکمت عملی ڈبل سگنل فلٹرنگ اور پیرامیٹرز کی اصلاح کے ذریعہ ، تجارت کے فیصلوں کی درستگی کو مؤثر طریقے سے بڑھا سکتی ہے ، اور غلط سگنل کے امکانات کو کم کرتی ہے۔ یہ ہلچل کے حالات کے لئے موزوں ہے ، اور ریٹرننگ کے مواقع کو کھینچ سکتی ہے۔ اس حکمت عملی سے پیرامیٹرز کو ایڈجسٹ کرنے اور اشارے کے حساب کتاب کے طریقہ کار کو بہتر بنانے کے ذریعہ اثر و رسوخ اور laps کے خطرے کو مزید بڑھا دیا جاسکتا ہے۔
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 07/06/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Relative Momentum Index (RMI) was developed by Roger Altman. Impressed
// with the Relative Strength Index's sensitivity to the number of look-back
// periods, yet frustrated with it's inconsistent oscillation between defined
// overbought and oversold levels, Mr. Altman added a momentum component to the RSI.
// As mentioned, the RMI is a variation of the RSI indicator. Instead of counting
// up and down days from close to close as the RSI does, the RMI counts up and down
// days from the close relative to the close x-days ago where x is not necessarily
// 1 as required by the RSI). So as the name of the indicator reflects, "momentum" is
// substituted for "strength".
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
RMI(Length,BuyZone, SellZone) =>
pos = 0.0
xMU = 0.0
xMD = 0.0
xPrice = close
xMom = xPrice - xPrice[Length]
xMU := iff(xMom >= 0, nz(xMU[1], 1) - (nz(xMU[1],1) / Length) + xMom, nz(xMU[1], 1))
xMD := iff(xMom <= 0, nz(xMD[1], 1) - (nz(xMD[1],1) / Length) + abs(xMom), nz(xMD[1], 0))
RM = xMU / xMD
nRes = 100 * (RM / (1+RM))
pos:= iff(nRes < BuyZone, 1,
iff(nRes > SellZone, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Relative Momentum Index", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Relative Momentum Index ----")
LengthRMI = input(20, minval=1)
BuyZone = input(40, minval=1)
SellZone = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRMI = RMI(LengthRMI,BuyZone, SellZone)
pos = iff(posReversal123 == 1 and posRMI == 1 , 1,
iff(posReversal123 == -1 and posRMI == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )