दिशात्मक संकेतक और हल मूविंग औसत संयोजन रणनीति


निर्माण तिथि: 2024-01-04 17:23:06 अंत में संशोधित करें: 2024-01-04 17:23:06
कॉपी: 0 क्लिक्स: 688
1
ध्यान केंद्रित करना
1621
समर्थक

दिशात्मक संकेतक और हल मूविंग औसत संयोजन रणनीति

अवलोकन

यह रणनीति गतिशील संकेतक (डीएमआई) और हुल मूविंग एवरेज (एचएमए) के संयोजन का उपयोग करती है, डीएमआई का उपयोग बाजार की दिशा का आकलन करने के लिए करती है, एचएमए प्रवृत्ति की ताकत की पुष्टि करता है, और जोखिम मुक्त प्रबंधन के लिए व्यापार करता है।

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

  1. वास्तविक तरंग दैर्ध्य (TRUE RANGE), बहुमुखी गति सूचक (DIPlus), शून्य गति सूचक (DIMinus) और औसत दिशा सूचकांक (ADX) की गणना करें।

  2. फास्टहॉल और स्लोहॉल की गणना करें

  3. ट्रिगर करने के लिए कई शर्तें होती हैं: DIPlus पर DIMinus पहनें और fasthull पर slowhull पहनें।

  4. ट्रिगर खाली करने की स्थितिः DIMinus के तहत DIPlus और fasthull के तहत slowhull

  5. अधिक और शून्य करने के लिए संकेतों को क्रमशः अधिक और शून्य करने के लिए संकेतों को पूरा करने के बाद।

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

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

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

इस रणनीति का सबसे बड़ा जोखिम यह है कि कोई नुकसान नहीं है, जब बाजार में भारी उतार-चढ़ाव होता है, तो नुकसान को प्रभावी ढंग से नियंत्रित नहीं किया जा सकता है। इसके अलावा, पैरामीटर अनुकूलन के लिए सीमित जगह है, और कम लक्षितता भी एक बड़ी कमी है।

जोखिम को कम किया जा सकता है जैसे कि चलती रोक, अनुकूलन पैरामीटर संयोजन आदि।

अनुकूलन दिशा

  1. वास्तविक तरंग दैर्ध्य ट्रेलिंग स्टॉप का उपयोग करने के लिए एटीआर स्टॉप जोड़ें।

  2. हुल चक्र के पैरामीटर को अनुकूलित करें और इष्टतम संयोजन ढूंढें

  3. गतिशील समायोजन अधिक खाली करने के लिए पैरामीटर थ्रेशोल्ड

  4. यह सुनिश्चित करने के लिए कि यह प्रवृत्ति जारी है, फ़िल्टर जैसे कि ऊर्जा के संकेतक जोड़े गए हैं।

संक्षेप

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Tuned_Official
//@version=4
strategy(title="DMI + HMA - No Risk Management", overlay = false, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.025)

//Inputs
hullLen1 = input(title="Hull 1 length", type=input.integer, defval=29)
hullLen2 = input(title="Hull 2 length", type=input.integer, defval=2)
len = input(title="Length for DI", type=input.integer, defval=76)

//Calculations
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])/len) + TrueRange
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = 0.0
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus

//Indicators
fasthull = hma(close, hullLen1)
slowhull = hma(close, hullLen2)
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)

//Plots
plot(DIPlus, color=color.green, title="DI+")
plot(DIMinus, color=color.red, title="DI-")
plot(ADX, color=color.black, title="ADX")

//conditions
go_long = crossover(DIPlus, DIMinus) and fasthull > slowhull //crossover(fasthull, slowhull) and DIPlus > DIMinus
go_short = crossover(DIMinus, DIPlus) and fasthull < slowhull //crossunder(fasthull, slowhull) and DIMinus > DIPlus

//Entry
if strategy.position_size < 0 or strategy.position_size == 0
    strategy.order("long", strategy.long, when=go_long)

if strategy.position_size > 0 or strategy.position_size == 0
    strategy.order("Short", strategy.short, when=go_short)