मोमेंटम ब्रेकआउट द्विदिशात्मक ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-18 10:47:46
टैगः

img

अवलोकन

यह रणनीति ट्रेंड ट्रैकिंग के लिए मजबूत रुझानों में ब्रेकआउट सिग्नल को पकड़ने के लिए गति संकेतक और द्विदिश ट्रैकिंग संकेतक को जोड़ती है। यह लंबे समय तक जाता है जब कीमतें ऊपर की ओर टूट जाती हैं और कम हो जाती हैं जब कीमतें नीचे की ओर टूट जाती हैं। यह ट्रेंड ट्रैकिंग रणनीति श्रेणी से संबंधित है।

रणनीति तर्क

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

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

  3. दिशात्मक संकेतक DI+ और DI- क्रमशः अपट्रेंड और डाउनट्रेंड की ताकत का प्रतिनिधित्व करते हैं। यह रणनीति गलत संकेतों से बचने के लिए ताकत की पुष्टि करने के लिए DI+ और DI- सीमाओं का भी उपयोग करती है।

  4. खरीद संकेत तब उत्पन्न होते हैं जब कीमतें मध्य बिंदु से ऊपर टूट जाती हैं, ADX सीमा से ऊपर होता है, और DI+ सीमा से ऊपर होता है। बिक्री संकेत तब उत्पन्न होते हैं जब कीमतें मध्य बिंदु से नीचे टूट जाती हैं, ADX सीमा से ऊपर होता है, और DI- सीमा से ऊपर होता है।

लाभ विश्लेषण

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

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

कुल मिलाकर, यह रणनीति रुझानों को सुचारू रूप से ट्रैक कर सकती है, समय पर प्रवेश और निकास कर सकती है और समेकन में फंसने से बच सकती है जबकि रुझानों के उलट से होने वाले नुकसान को भी कम कर सकती है।

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

इस रणनीति में अस्थायी मूल्य उलट-पुलट से कुछ जोखिम हैं जो गलत संकेत उत्पन्न करते हैं। इसके अलावा, ADX और DI सीमाओं का उपयोग करने से कुछ शुरुआती अवसरों को याद किया जा सकता है।

Whipsaw जोखिमों को कम करने के लिए, HiLo एक्टिवेटर मापदंडों को tweak करने के लिए ब्रेकआउट रेंज को बढ़ाने के लिए। अधिक अवसरों को पकड़ने के लिए, सिग्नल गुणवत्ता की कीमत पर ADX और DI सीमाओं को कम करें।

उपयोगकर्ताओं को उत्पादों और बाजार वातावरण के बीच मतभेदों पर भी ध्यान देना चाहिए। उच्चतम सीमाएं आम तौर पर कमोडिटी के लिए बेहतर काम करती हैं जबकि कम सीमाएं शेयरों और विदेशी मुद्रा के लिए उपयुक्त होती हैं।

अनुकूलन दिशाएँ

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

  1. Whipsaw जोखिम और समय को संतुलित करने के लिए HiLo एक्टिवेटर अवधि और ट्रिगर स्तर को समायोजित करें।

  2. सिग्नल की गुणवत्ता और आवृत्ति को संतुलित करने के लिए ADX अवधि और सीमा को समायोजित करें।

  3. अपट्रेंड और डाउनट्रेंड के बीच अंतर को समायोजित करने के लिए DI+ और DI- के लिए अलग-अलग सीमाएं निर्धारित करें।

  4. एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस स्तरों के साथ स्टॉप लॉस रणनीतियों को जोड़ें।

  5. समग्र स्थिरता में सुधार के लिए अन्य सहायक संकेतकों के साथ संयोजन करें।

निष्कर्ष

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


/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("HiLo Activator with ADX", shorttitle="HASB_ADX", overlay=true)

// Parameters for the HiLo Activator
length_ha = input(14, title="HiLo Activator Period")
offset_ha = input(0, title="Offset")
trigger_ha = input(1, title="Trigger for Buy/Sell")

// Parameters for ADX
adx_length = input(14, title="ADX Period", minval=1)
adx_threshold = input(25, title="ADX Threshold")
di_threshold = input(50, title="DI Threshold")

// Parameter for choosing the number of candles for backtest
backtest_candles = input(1000, title="Number of Candles for Backtest", minval=1)

// Function to get backtest data
getBacktestData() =>
    var float data = na
    if bar_index >= backtest_candles
        data := security(syminfo.tickerid, "D", close[backtest_candles])
    data

// HiLo Activator calculations
ha = (highest(high, length_ha) + lowest(low, length_ha)) / 2

// ADX calculations
trh = high - high[1]
trl = low[1] - low
tr = max(trh, trl)
atr = sma(tr, adx_length)
plus_dm = high - high[1] > low[1] - low ? max(high - high[1], 0) : 0
minus_dm = low[1] - low > high - high[1] ? max(low[1] - low, 0) : 0
smoothed_plus_dm = sma(plus_dm, adx_length)
smoothed_minus_dm = sma(minus_dm, adx_length)
di_plus = 100 * (smoothed_plus_dm / atr)
di_minus = 100 * (smoothed_minus_dm / atr)
dx = 100 * abs(di_plus - di_minus) / (di_plus + di_minus)
adx = sma(dx, adx_length)

// Buy and Sell signals based on HiLo Activator and ADX
signalLong = crossover(close, ha) and adx > adx_threshold and di_plus > di_threshold
signalShort = crossunder(close, ha) and adx > adx_threshold and di_minus > di_threshold

// Plot HiLo Activator and ADX
plot(ha, color=color.blue, title="HiLo Activator")
plot(offset_ha, color=color.red, style=plot.style_histogram, title="Offset")
plot(adx, color=color.purple, title="ADX")

// Backtest strategy
strategy.entry("Buy", strategy.long, when = signalLong)
strategy.entry("Sell", strategy.short, when = signalShort)
strategy.close("Buy", when = signalShort)
strategy.close("Sell", when = signalLong)

// Accuracy percentage
var accuracy = 0.0
var totalTrades = 0
var winningTrades = 0

if (signalLong or signalShort)
    totalTrades := totalTrades + 1

if (signalLong and (not na(signalLong[1]) and (not signalLong[1])))
    winningTrades := winningTrades + 1

if (signalShort and (not na(signalShort[1]) and (not signalShort[1])))
    winningTrades := winningTrades + 1

accuracy := totalTrades > 0 ? (winningTrades / totalTrades) * 100 : 0

// Plot accuracy percentage on the chart
plot(accuracy, title="Accuracy Percentage", color=color.purple, style=plot.style_histogram)


अधिक