یہ ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو ADX اور RSI اشارے کو جوڑتی ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے زیادہ خریدنے اور زیادہ فروخت کی سطح کی نشاندہی کرنے کے لئے RSI کا استعمال کرتی ہے ، اور جب رجحان غیر واضح ہوتا ہے تو تجارت کو فلٹر کرنے کے لئے رجحان کا تعین کرنے کے لئے ADX ، اس طرح رینج سے منسلک مارکیٹوں میں وپساؤ سے بچنے کے ل.
آر ایس آئی مؤثر طریقے سے خرید / فروخت کے پھندوں سے بچنے کے لئے زیادہ خریدنے اور زیادہ فروخت کی سطح کی نشاندہی کرتا ہے
اے ڈی ایکس نے وِپساؤ سے بچنے کے لئے رینج سے منسلک مارکیٹوں کو فلٹر کیا
اختیاری منافع/سٹاپ نقصان کے طریقوں سے خطرات کو بہتر طریقے سے کنٹرول کرنے میں مدد ملتی ہے
سادہ اور سمجھنے میں آسان ، ابتدائیوں کے لئے الگورتھم ٹریڈنگ سیکھنے کے لئے اچھا ہے
پیرامیٹر کی اصلاح اور بہتر بنانے کے لئے بہت زیادہ گنجائش
RSI overbought/oversold میں pullbacks اور reversals ہو سکتے ہیں
ADX رجحان کا تعین تاخیر کا شکار ہے ، رجحان کے موڑ کے مقامات کو یاد کر سکتا ہے
غلط سٹاپ نقصان کی جگہ نقصانات کا باعث بن سکتی ہے
سادگی کی وجہ سے زیادہ سے زیادہ اصلاح کا خطرہ
بہتر کارکردگی کے لئے پیرامیٹر کی اصلاح کی ضرورت ہے
آر ایس آئی پیرامیٹرز اور زیادہ خریدنے / زیادہ فروخت کی سطح کو بہتر بنائیں
بہترین ترتیب تلاش کرنے کے لئے مختلف ADX ادوار کی جانچ کریں
منافع/سٹاپ نقصان کے مختلف طریقوں کا تجربہ کریں
مخالف رجحان کی تجارت سے بچنے کے لئے رجحان فلٹر شامل کریں
کارکردگی کو بہتر بنانے کے لئے دیگر اشارے کے ساتھ مل کر
یہ حکمت عملی رجحانات کی نشاندہی کرنے اور وِپساؤ سے بچنے کے لئے کلاسیکی آر ایس آئی اور اے ڈی ایکس اشارے کی طاقتوں کو یکجا کرتی ہے۔ بہتر کارکردگی حاصل کرنے کے لئے اس میں اصلاح کی بہت گنجائش ہے۔ مجموعی طور پر ، یہ ابتدائی کی تعارفی الگورتھم ٹریڈنگ حکمت عملی کے طور پر اچھی طرح سے کام کرتا ہے ، اور اسے زیادہ پیچیدہ تجارتی نظاموں میں بھی شامل کیا جاسکتا ہے۔
/*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")