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