ADX مومینٹم ٹرینڈ اسٹریٹیجی


تخلیق کی تاریخ: 2024-01-16 15:57:17 آخر میں ترمیم کریں: 2024-01-16 15:57:17
کاپی: 0 کلکس کی تعداد: 762
1
پر توجہ دیں
1617
پیروکار

ADX مومینٹم ٹرینڈ اسٹریٹیجی

جائزہ

یہ حکمت عملی مارکیٹ کے رجحانات کا تعین کرنے کے لئے ADX اشارے پر مبنی ہے ، جس میں ڈی ایم آئی اشارے کے ساتھ مل کر فاریکس ٹریڈنگ کی حکمت عملی کا تعین کرنے کے لئے ڈی ایم آئی اشارے کے ساتھ مل کر ، رجحان کی طاقت کا تعین کرنے کے لئے ADX اسکیلپنگ کا استعمال کرتے ہوئے ، غیر رجحان کی مارکیٹوں کو فلٹر کرنے کے لئے ADX کی کلیدی اقدار کا تعین کرنے کے لئے ، اور ٹریڈنگ سگنل کو فلٹر کرنے میں مدد کرنے کے لئے منتقل اوسط۔

حکمت عملی کا اصول

  1. ADX، DI+، DI- اشارے کا حساب لگائیں۔
  2. ADX اسکیلپنگ> 0 ، رجحان میں اضافے کی نشاندہی کرتا ہے۔ اہم قیمت 23 پر مقرر کی گئی ہے ، غیر رجحان والے بازاروں کو فلٹر کرنے کے لئے۔
  3. DI + DI- سے زیادہ ہے، جس سے ظاہر ہوتا ہے کہ کثیر سر قوت فضائی طاقت سے زیادہ ہے، زیادہ سگنل دیکھنے کے لئے
  4. جب آپ کو ایک متحرک اوسط فلٹر کو چالو کرتے ہیں تو ، کثیر سر سگنل صرف اس وقت پیدا ہوتا ہے جب اختتامی قیمت متحرک اوسط سے زیادہ ہو۔
  5. جب ADX کی سست روی ہوتی ہے تو ، رجحان کا خاتمہ ہوتا ہے۔

طاقت کا تجزیہ

  1. معاون ایم اے فلٹرنگ غیر رجحان مارکیٹ میں شور کی تجارت کو کم کرتی ہے۔
  2. ADX اسکیلپنگ کی بصیرت ، جو رجحانات کی ترقی کا درست اندازہ لگانے کے قابل ہے۔
  3. ڈی آئی فیصلے کی سمت ADX فیصلے کے ساتھ کام کرتی ہے ، جو رجحان ٹریڈنگ کے فیصلے کا ایک مکمل نظام تشکیل دیتی ہے۔
  4. واپسی اور نقصان کی شرح ایک سادہ منتقل اوسط حکمت عملی سے بہتر ہونے کا امکان ہے.

خطرے کا تجزیہ

  1. ADX اشاریہ مختلف پیرامیٹرز کو ترتیب دیتا ہے ، جس کے نتیجے میں بہت زیادہ فرق پڑتا ہے۔
  2. ڈی ایم آئی نے ابھی تک مکمل طور پر ہائی وے کی سمت کا تعین نہیں کیا ہے ، اور یہ غلط سگنل بھیج سکتا ہے۔
  3. کچھ تاخیر سے حکمت عملی کی کارکردگی میں کمی واقع ہوئی ہے۔

اصلاح کی سمت

  1. ADX پیرامیٹرز کے مجموعے کو بہتر بنائیں اور بہترین پیرامیٹرز تلاش کریں۔
  2. نقصانات کو روکنے کے لئے حکمت عملی میں اضافہ کریں تاکہ انفرادی نقصانات کو بڑھانے سے بچایا جاسکے۔
  3. دوسرے اشارے کے ساتھ مل کر فلٹرنگ سگنل آزمائیں ، جیسے RSI ، برن بینڈ

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © millerrh with inspiration from @9e52f12edd034d28bdd5544e7ff92e 
//The intent behind this study is to look at ADX when it has an increasing slope and is above a user-defined key level (23 default). 
//This is to identify when it is trending.
//It then looks at the DMI levels.  If D+ is above D- and the ADX is sloping upwards and above the key level, it triggers a buy condition.  Opposite for short.
//Can use a user-defined moving average to filter long/short if desried.
// NOTE: THIS IS MEANT TO BE USED IN CONJUNCTION WITH MY "ATX TRIGGER" INDICATOR FOR VISUALIZATION. MAKE SURE SETTINGS ARE THE SAME FOR BOTH.

strategy("ADX | DMI Trend", overlay=true, initial_capital=10000, currency='USD', 
   default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.04)

// === BACKTEST RANGE ===
From_Year  = input(defval = 2019, title = "From Year")
From_Month = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
From_Day   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
To_Year    = input(defval = 9999, title = "To Year")
To_Month   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
To_Day     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
Start  = timestamp(From_Year, From_Month, From_Day, 00, 00)  // backtest start window
Finish = timestamp(To_Year, To_Month, To_Day, 23, 59)        // backtest finish window

// == INPUTS ==
// ADX Info
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Period")
keyLevel = input(23, title="Keylevel for ADX")
adxLookback = input(3, title="Lookback Period for Slope")

// == FILTERING ==
// Inputs
useMaFilter = input(title = "Use MA for Filtering?", type = input.bool, defval = true)
maType = input(defval="EMA", options=["EMA", "SMA"], title = "MA Type For Filtering")
maLength   = input(defval = 200, title = "MA Period for Filtering", minval = 1)

// Declare function to be able to swap out EMA/SMA
ma(maType, src, length) =>
    maType == "EMA" ? ema(src, length) : sma(src, length) //Ternary Operator (if maType equals EMA, then do ema calc, else do sma calc)
maFilter = ma(maType, close, maLength)
plot(maFilter, title = "Trend Filter MA", color = color.green, linewidth = 3, style = plot.style_line, transp = 50)

// Check to see if the useMaFilter check box is checked, this then inputs this conditional "maFilterCheck" variable into the strategy entry 
maFilterCheck = if useMaFilter == true
    maFilter
else
    close

// == USE BUILT-IN DMI FUNCTION TO DETERMINE ADX AND BULL/BEAR STRENGTH
[diplus, diminus, adx] = dmi(dilen, adxlen)

buySignal = (adx[0]-adx[adxLookback] > 0) and adx > keyLevel and diplus > diminus  and close >= maFilterCheck
// buySignalValue = valuewhen(buySignal, close, 0)
shortSignal = (adx[0]-adx[adxLookback] > 0) and adx > keyLevel and diplus < diminus  and close <= maFilterCheck
// shortSignalValue = valuewhen(shortSignal, close, 0)
sellCoverSignal = adx[0]-adx[adxLookback] < 0

// == ENTRY & EXIT CRITERIA
// Triggers to be TRUE for it to fire of the BUY Signal : (opposite for the SELL signal).
// (1): Price is over the 200 EMA line. (EMA level configurable by the user)
// (2): "D+" is OVER the "D-" line
// (3): RSI 7 is under 30 (for SELL, RSI 7 is over 70)
// 1* = The ultimate is to have a combination line of 3 EMA values, EMA 14, EMA 50 and EMA 200 - And if price is over this "combo" line, then it's a strong signal

// == STRATEGY ENTRIES/EXITS == 
strategy.entry("Long", strategy.long, when = buySignal)
strategy.close("Long", when = sellCoverSignal)
strategy.entry("Short", strategy.short, when = shortSignal)
strategy.close("Short", when = sellCoverSignal)
    
// == ALERTS == 
// alertcondition(buySignal, title='ADX Trigger Buy', message='ADX Trigger Buy')
// alertcondition(sellSignal, title='ADX Trigger Sell', message='ADX Trigger Sell')