وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ADX + RSI حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-27 16:27:39
ٹیگز:

جائزہ

یہ ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو ADX اور RSI اشارے کو جوڑتی ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے زیادہ خریدنے اور زیادہ فروخت کی سطح کی نشاندہی کرنے کے لئے RSI کا استعمال کرتی ہے ، اور جب رجحان غیر واضح ہوتا ہے تو تجارت کو فلٹر کرنے کے لئے رجحان کا تعین کرنے کے لئے ADX ، اس طرح رینج سے منسلک مارکیٹوں میں وپساؤ سے بچنے کے ل.

حکمت عملی منطق

  1. زیادہ خریدنے اور زیادہ فروخت کی سطح کی نشاندہی کرنے کے لئے 7 مدت کے RSI کا استعمال کریں
  • RSI 30 سے نیچے oversold سمجھا جاتا ہے
  • RSI 70 سے اوپر overbought سمجھا جاتا ہے
  1. رجحان کا تعین کرنے کے لئے ADX استعمال کریں
  • ADX 30 سے اوپر ایک مضبوط رجحان کا اشارہ کرتا ہے
  • ADX 30 سے نیچے کوئی رجحان نہیں بتاتا
  1. داخلے کے قواعد
  • طویل جب RSI < 30 اور ADX > 30
  • مختصر جب RSI > 70 اور ADX > 30 ہو
  1. منافع حاصل کریں اور نقصان کو روکیں
  • غیر اختیاری منافع لینے اور نقصان روکنے کے طریقے - بند یا سوئنگ پر مبنی
  • قریبی استعمال کی بندش کی قیمتیں
  • سوئنگ پر مبنی استعمال حالیہ سوئنگ اعلی / کم

فوائد کا تجزیہ

  1. آر ایس آئی مؤثر طریقے سے خرید / فروخت کے پھندوں سے بچنے کے لئے زیادہ خریدنے اور زیادہ فروخت کی سطح کی نشاندہی کرتا ہے

  2. اے ڈی ایکس نے وِپساؤ سے بچنے کے لئے رینج سے منسلک مارکیٹوں کو فلٹر کیا

  3. اختیاری منافع/سٹاپ نقصان کے طریقوں سے خطرات کو بہتر طریقے سے کنٹرول کرنے میں مدد ملتی ہے

  4. سادہ اور سمجھنے میں آسان ، ابتدائیوں کے لئے الگورتھم ٹریڈنگ سیکھنے کے لئے اچھا ہے

  5. پیرامیٹر کی اصلاح اور بہتر بنانے کے لئے بہت زیادہ گنجائش

خطرے کا تجزیہ

  1. RSI overbought/oversold میں pullbacks اور reversals ہو سکتے ہیں

  2. ADX رجحان کا تعین تاخیر کا شکار ہے ، رجحان کے موڑ کے مقامات کو یاد کر سکتا ہے

  3. غلط سٹاپ نقصان کی جگہ نقصانات کا باعث بن سکتی ہے

  4. سادگی کی وجہ سے زیادہ سے زیادہ اصلاح کا خطرہ

  5. بہتر کارکردگی کے لئے پیرامیٹر کی اصلاح کی ضرورت ہے

اصلاح کی ہدایات

  1. آر ایس آئی پیرامیٹرز اور زیادہ خریدنے / زیادہ فروخت کی سطح کو بہتر بنائیں

  2. بہترین ترتیب تلاش کرنے کے لئے مختلف ADX ادوار کی جانچ کریں

  3. منافع/سٹاپ نقصان کے مختلف طریقوں کا تجربہ کریں

  4. مخالف رجحان کی تجارت سے بچنے کے لئے رجحان فلٹر شامل کریں

  5. کارکردگی کو بہتر بنانے کے لئے دیگر اشارے کے ساتھ مل کر

خلاصہ

یہ حکمت عملی رجحانات کی نشاندہی کرنے اور وِپساؤ سے بچنے کے لئے کلاسیکی آر ایس آئی اور اے ڈی ایکس اشارے کی طاقتوں کو یکجا کرتی ہے۔ بہتر کارکردگی حاصل کرنے کے لئے اس میں اصلاح کی بہت گنجائش ہے۔ مجموعی طور پر ، یہ ابتدائی کی تعارفی الگورتھم ٹریڈنگ حکمت عملی کے طور پر اچھی طرح سے کام کرتا ہے ، اور اسے زیادہ پیچیدہ تجارتی نظاموں میں بھی شامل کیا جاسکتا ہے۔


/*backtest
start: 2023-09-19 00:00:00
end: 2023-09-26 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tweakerID

// This is a strategy that uses the 7 Period RSI to buy when the indicator is shown as oversold (OS) and sells when 
// the index marks overbought (OB). It also uses the ADX to determine whether the trend is ranging or trending
// and filters out the trending trades. Seems to work better for automated trading when the logic is inversed (buying OB 
// and selling the OS) wihout stop loss.

//@version=4
strategy("ADX + RSI Strat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, commission_value=0.04, calc_on_every_tick=false)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))


//SL & TP Inputs
i_SL=input(false, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLookback=input(20, title="Swing Lo/Hi Lookback")
i_SLExpander=input(defval=0, step=.2, title="SL Expander")
i_TPExpander=input(defval=0, step=.2, title="TP Expander")
i_reverse=input(true, title="Reverse Trades")

//SL & TP Calculations
SwingLow=lowest(i_SwingLookback)
SwingHigh=highest(i_SwingLookback)
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0))*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0))*i_SLExpander)
lTP=strategy.position_avg_price + (strategy.position_avg_price-(valuewhen(bought, SwingLow, 0))+((valuewhen(bought, atr(14), 0))*i_TPExpander))
sTP=strategy.position_avg_price - (valuewhen(bought, SwingHigh, 0)-strategy.position_avg_price)-((valuewhen(bought, atr(14), 0))*i_TPExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na
TP= islong ? lTP : isshort ? sTP : na

//RSI Calculations
RSI=rsi(close, 7)
OS=input(30, step=5)
OB=input(80, step=5)

//ADX Calculations
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
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)
adxlevel=input(30, step=5)


//Entry Logic
BUY = sig < adxlevel and (RSI < OS) 
SELL = sig < adxlevel and (RSI > OB) 

//Entries
strategy.entry("long", strategy.long, when=i_reverse?SELL:BUY)
strategy.entry("short", strategy.short, when=not i_reverse?SELL:BUY)
//Exits
if i_SL
    strategy.exit("longexit", "long", stop=SL, limit=TP)
    strategy.exit("shortexit", "short", stop=SL, limit=TP)

//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(i_SL ? TP : na, color=color.green, style=plot.style_cross, title="TP")
plotshape(BUY ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Setup")
plotshape(SELL ? 1 : na, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Setup")

مزید