सुपर ट्रेंड समर्थन और प्रतिरोध और ADX संकेतक पर आधारित उच्च आवृत्ति ट्रेडिंग रणनीति


निर्माण तिथि: 2024-02-19 15:01:36 अंत में संशोधित करें: 2024-02-19 15:01:36
कॉपी: 1 क्लिक्स: 871
1
ध्यान केंद्रित करना
1617
समर्थक

सुपर ट्रेंड समर्थन और प्रतिरोध और ADX संकेतक पर आधारित उच्च आवृत्ति ट्रेडिंग रणनीति

अवलोकन

इस रणनीति में उच्च आवृत्ति वाले ट्रेडिंग को प्राप्त करने के लिए सुपर-ट्रेंड सपोर्ट रेसिस्टेंस लाइन और एडीएक्स इंडिकेटर का एकीकृत उपयोग किया गया है। सुपर-ट्रेंड सपोर्ट रेसिस्टेंस लाइन गतिशील रूप से नवीनतम सपोर्ट रेसिस्टेंस पॉइंट की गणना करके मूल्य प्रवृत्ति और ट्रेडिंग सिग्नल को निर्धारित करने के लिए है। एडीएक्स इंडिकेटर का उपयोग प्रवृत्ति की ताकत का आकलन करने के लिए किया जाता है, एडीएक्स मान को फ़िल्टर शर्त के रूप में सेट किया जाता है, केवल जब प्रवृत्ति पर्याप्त मजबूत होती है, तो ट्रेडिंग सिग्नल भेजना।

रणनीति सिद्धांत

  1. समर्थन और प्रतिरोध रेखाओं की गणना करें। बंद कीमतों को एक बेंचमार्क के रूप में लें और ऊपर और नीचे एक एटीआर जोड़ें। जब कीमतें इन रेखाओं को तोड़ती हैं, तो यह एक प्रवृत्ति उलट है।

  2. ADX सूचक प्रवृत्ति की ताकत का आकलन करता है। जब ADX सेट मूल्य से अधिक होता है, तो यह माना जाता है कि प्रवृत्ति पर्याप्त मजबूत है।

  3. दोनों के संयोजन से ट्रेडिंग सिग्नल जारी होते हैं। केवल समर्थन प्रतिरोध रेखा को तोड़ने और ADX पर्याप्त बड़ा होने पर अतिरिक्त शून्य करें।

श्रेष्ठता विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैं:

  1. सुपर ट्रेंड लाइन गतिशील गणना समर्थन प्रतिरोध, जल्दी से एक ब्रेकडाउन का आकलन कर सकते हैं.

  2. ADX सूचकांक प्रभावी रूप से गैर-प्रवृत्ति परिदृश्यों को फ़िल्टर करता है और अमान्य व्यापार को कम करता है।

  3. उन्होंने कहा, “यह एक बहुत ही अच्छी बात है।

जोखिम विश्लेषण

इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:

  1. एक बड़ी उछाल से सुपर ट्रेंड लाइन को अक्षम किया जा सकता है।

  2. ADX का गलत सेट भी रणनीति के प्रदर्शन को प्रभावित कर सकता है।

  3. उच्च आवृत्ति वाले लेनदेन के लिए उच्च लेनदेन शुल्क।

समाधान के लिएः

  1. सुपर पैरामीटर का अनुकूलन करें, उचित रूप से तोड़ने की चौड़ाई को कम करें।

  2. परीक्षण बेहतर ADX पैरामीटर

  3. लेनदेन की आवृत्ति को उचित रूप से कम करना।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. एटीआर गुणांक मापदंडों को अनुकूलित करें ताकि समर्थन प्रतिरोध लाइन अधिक मजबूत हो सके।

  2. विभिन्न ADX मापदंडों का परीक्षण करें और इष्टतम मानों का पता लगाएं

  3. एकल हानि को नियंत्रित करने के लिए स्टॉप लॉस मैकेनिज्म में शामिल हों

संक्षेप

इस रणनीति में सुपर ट्रेंड लाइन और एडीएक्स सूचक के फायदे शामिल हैं, गतिशील गणना के माध्यम से प्रतिरोध का समर्थन करने के लिए ट्रेंड रिवर्स टाइमिंग का आकलन करें, एडीएक्स सूचक के साथ मिलकर कम गुणवत्ता वाले संकेतों को फ़िल्टर करें। पैरामीटर अनुकूलन और तंत्र के समायोजन के बाद, यह एक स्थिर लाभदायक उच्च आवृत्ति रणनीति बन सकती है।

रणनीति स्रोत कोड
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("STPP20 + ADX", overlay = true)

///////////////////////////
// SuperTrend + Pivot Point
//////////////////////////

src =  input(close, title="EMA Source")
PPprd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
AtrFactor=input(defval = 5, title = "ATR Factor", minval = 1, step = 0.1)
AtrPd=input(defval = 20, title = "ATR Period", minval=1)

float ph = na
float pl = na
ph := pivothigh(PPprd, PPprd)
pl := pivotlow(PPprd, PPprd)

float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
    if na(center)
        center := lastpp
    else
        center := (center * 2 + lastpp) / 3

Up = center - (AtrFactor * atr(AtrPd))
Dn = center + (AtrFactor * atr(AtrPd))

float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown

// Lines
linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor ,  linewidth = 2, title = "PP SuperTrend")

bsignalSSPP = close > Trailingsl
ssignalSSPP = close < Trailingsl


///////
// ADX
//////

lenADX = 14
th = 25
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = 0.0
SmoothedTrueRange := nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/lenADX) + TrueRange
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/lenADX) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = 0.0
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/lenADX) + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, lenADX)


//////
// MA
/////

lenMA = 21
srcMA = input(close, title="Source")
offsetMA = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
outMA = sma(srcMA, lenMA)


// Buy - Sell Entries
buy = bsignalSSPP and outMA < close and ADX > th
sell = ssignalSSPP 

if (buy)
    // .order // Tuned version
    strategy.entry("Buy", strategy.long)


if (sell) and (strategy.position_size > 0)
    strategy.order("Sell", false, when = sell)