اس حکمت عملی کو کثیر اشارے کے انضمام پر مبنی رجحان سے باخبر رہنے کی حکمت عملی کہا جاتا ہے۔ اس حکمت عملی میں تین اشارے آر ایس آئی ، اے ڈی ایکس اور ایم اے سی ڈی کا استعمال کیا جاتا ہے ، جو بڑھتے ہوئے رجحان کی تصدیق کے بعد زیادہ کام کرتے ہیں ، اور گرنے والے رجحان کی تصدیق کے بعد غیر مساوی ہوجاتے ہیں۔
RSI اشارے نے اوورلوڈ اور اوورلوڈ کی حالت کا فیصلہ کیا۔ RSI پر 30 کا نشانہ اوورلوڈ ختم ہونے کا مطلب ہے ، اور اس پر غور کرنا چاہئے۔ RSI کے نیچے 70 کا نشانہ اوورلوڈ ختم ہونے کا مطلب ہے ، اور اس پر غور کرنا چاہئے۔
ADX اشارے رجحان کی طاقت کا تعین کرتا ہے۔ ADX کی قیمت میں 25 سے تجاوز کرنے کا مطلب رجحان کی حالت میں داخل ہونا ہے ، 25 سے تجاوز کرنے کا مطلب رجحان کا خاتمہ ہے۔
MACD اشارے قلیل مدتی رجحانات کا تعین کرتا ہے۔ DIFF پر DEA کے ذریعے مختصر لائنوں میں اضافہ ، زیادہ کرنے پر غور کریں۔ DIFF پر DEA کے ذریعے مختصر لائنوں میں کمی ، برابر پوزیشنوں پر غور کریں۔
جب RSI ، ADX اور MACD تینوں اشارے ایک ساتھ مل کر ایک سے زیادہ سگنل دکھاتے ہیں تو ، زیادہ کام کریں۔ جب تینوں اشارے ایک سے زیادہ رجحان کے اختتام کو ظاہر کرتے ہیں تو ، اس کی جگہ لے لی جائے۔
اس حکمت عملی کا فائدہ یہ ہے کہ کثیر اشارے کی تصدیق ، جعلی سگنل کی روک تھام کو مؤثر طریقے سے روک سکتی ہے۔ تاہم ، اشارے کے پیرامیٹرز کو انفرادی طور پر بہتر بنانے کی ضرورت ہے ، اور نقصان کی روک تھام کی حکمت عملی ناگزیر ہے۔
مجموعی طور پر ، اشارے کے انضمام کے استعمال سے فیصلہ سازی میں بہتری آتی ہے ، لیکن تاجر کو حکمت عملی کے پیرامیٹرز کو درست کرنے اور اس کی تصدیق کرنے کے لئے بصیرت کو برقرار رکھنے کی ضرورت ہے۔
/*backtest
start: 2023-09-05 00:00:00
end: 2023-09-08 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// RSI
//@version=3
// strategy("Femi Strategy", overlay=true)
strategy("Femi Strategy", overlay=false)
RSIlength = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, RSIlength)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)
// ADX
//@version=3
adxlen = input(14)
dilen = input(14)
adxThreshold = input( 25 )
dirmov(len) =>
up = change(high)
down = -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 = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
// MACD
//@version=3
MACDZero = input(0)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
source = close
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
if (not na(vrsi))
if (crossover(delta, MACDZero))
strategy.entry("FEMIMACDLE", strategy.long, comment="FEMIMACDLE")
else
strategy.cancel(id="FEMIMACDLE")
if (crossunder(vrsi, overSold))
strategy.entry("FEMIRSILE", strategy.long, comment="FEMIRSILE")
else
strategy.cancel(id="FEMIRSILE")
// if(crossover(sig, adxThreshold)) // crossover(sig, adxThreshold) crossover(delta, MACDZero) crossunder(vrsi, overSold)
// strategy.entry("FEMIADXLE", strategy.long, comment="FEMIADXLE")
// else
// strategy.cancel(id="FEMIADXLE")
// if (crossover(source, lower))
// strategy.entry("FEMIBBLE", strategy.long, comment="FEMIBBLE")
// else
// strategy.cancel(id="FEMIBBLE")
// if(crossunder(sig, adxThreshold))
// strategy.cancel(id="FEMILE")
// strategy.exit(id="FEMILE")
// if (crossunder(delta, MACDZero))
// strategy.entry("FEMIMACDSE", strategy.short, comment="FEMIMACDSE")
if (crossover(vrsi, overBought))
// strategy.entry("FEMIRSISE", strategy.short, comment="FEMIRSISE")
strategy.close("FEMIRSILE")
strategy.close("FEMIMACDLE")
strategy.close("FEMIADXLE")
strategy.close("FEMIBBLE")
if (crossunder(sig, adxThreshold) and crossunder(delta, MACDZero) and crossunder(source, upper)) // crossover(delta, MACDZero) crossover(vrsi, overSold) crossover(sig, adxThreshold)
strategy.close("FEMIRSILE")
strategy.close("FEMIMACDLE")
strategy.close("FEMIADXLE")
strategy.close("FEMIBBLE")
// if(crossunder(source, upper))
// strategy.close("FEMIRSILE")
// strategy.close("FEMIMACDLE")
// strategy.close("FEMIADXLE")
// strategy.close("FEMIBBLE")
// strategy.entry("FEMIADXSE", strategy.short, comment="FEMIADXSE")
// else
// strategy.cancel(id="FEMISE")
// plot(sig, color=red, title="ADX", linewidth=2, style=areabr)
// plot(adxThreshold, color=blue, title="ADX")
// plot(vrsi, color=green, title="RSI", linewidth=2, style=areabr)
// plot(overSold, color=blue, title="RSI")
// plot(overBought, color=red, title="RSI")
// plot(delta, color=green, title="MACD", linewidth=2, style=areabr)
// plot(MACDZero, color=blue, title="MACD")
// plot(overBought, color=red, title="MACD")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)