
इस रणनीति में उच्च आवृत्ति वाले ट्रेडिंग को प्राप्त करने के लिए सुपर-ट्रेंड सपोर्ट रेसिस्टेंस लाइन और एडीएक्स इंडिकेटर का एकीकृत उपयोग किया गया है। सुपर-ट्रेंड सपोर्ट रेसिस्टेंस लाइन गतिशील रूप से नवीनतम सपोर्ट रेसिस्टेंस पॉइंट की गणना करके मूल्य प्रवृत्ति और ट्रेडिंग सिग्नल को निर्धारित करने के लिए है। एडीएक्स इंडिकेटर का उपयोग प्रवृत्ति की ताकत का आकलन करने के लिए किया जाता है, एडीएक्स मान को फ़िल्टर शर्त के रूप में सेट किया जाता है, केवल जब प्रवृत्ति पर्याप्त मजबूत होती है, तो ट्रेडिंग सिग्नल भेजना।
समर्थन और प्रतिरोध रेखाओं की गणना करें। बंद कीमतों को एक बेंचमार्क के रूप में लें और ऊपर और नीचे एक एटीआर जोड़ें। जब कीमतें इन रेखाओं को तोड़ती हैं, तो यह एक प्रवृत्ति उलट है।
ADX सूचक प्रवृत्ति की ताकत का आकलन करता है। जब ADX सेट मूल्य से अधिक होता है, तो यह माना जाता है कि प्रवृत्ति पर्याप्त मजबूत है।
दोनों के संयोजन से ट्रेडिंग सिग्नल जारी होते हैं। केवल समर्थन प्रतिरोध रेखा को तोड़ने और ADX पर्याप्त बड़ा होने पर अतिरिक्त शून्य करें।
इस रणनीति के निम्नलिखित फायदे हैं:
सुपर ट्रेंड लाइन गतिशील गणना समर्थन प्रतिरोध, जल्दी से एक ब्रेकडाउन का आकलन कर सकते हैं.
ADX सूचकांक प्रभावी रूप से गैर-प्रवृत्ति परिदृश्यों को फ़िल्टर करता है और अमान्य व्यापार को कम करता है।
उन्होंने कहा, “यह एक बहुत ही अच्छी बात है।
इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:
एक बड़ी उछाल से सुपर ट्रेंड लाइन को अक्षम किया जा सकता है।
ADX का गलत सेट भी रणनीति के प्रदर्शन को प्रभावित कर सकता है।
उच्च आवृत्ति वाले लेनदेन के लिए उच्च लेनदेन शुल्क।
समाधान के लिएः
सुपर पैरामीटर का अनुकूलन करें, उचित रूप से तोड़ने की चौड़ाई को कम करें।
परीक्षण बेहतर ADX पैरामीटर
लेनदेन की आवृत्ति को उचित रूप से कम करना।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
एटीआर गुणांक मापदंडों को अनुकूलित करें ताकि समर्थन प्रतिरोध लाइन अधिक मजबूत हो सके।
विभिन्न ADX मापदंडों का परीक्षण करें और इष्टतम मानों का पता लगाएं
एकल हानि को नियंत्रित करने के लिए स्टॉप लॉस मैकेनिज्म में शामिल हों
इस रणनीति में सुपर ट्रेंड लाइन और एडीएक्स सूचक के फायदे शामिल हैं, गतिशील गणना के माध्यम से प्रतिरोध का समर्थन करने के लिए ट्रेंड रिवर्स टाइमिंग का आकलन करें, एडीएक्स सूचक के साथ मिलकर कम गुणवत्ता वाले संकेतों को फ़िल्टर करें। पैरामीटर अनुकूलन और तंत्र के समायोजन के बाद, यह एक स्थिर लाभदायक उच्च आवृत्ति रणनीति बन सकती है।
/*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)