संसाधन लोड हो रहा है... लोड करना...

डीएमआई और एचएमए संयोजन रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-04 17:23:06
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. वास्तविक सीमा, डीआईपीएल, डीआईएमआईएन और एडीएक्स की गणना करें।

  2. त्वरित और धीमी पतवार चलती औसत (एचएमए) की गणना करें।

  3. लंबे समय तक प्रवेश को ट्रिगर करें जब DIPlus DIMinus और तेज HMA को धीमे HMA से पार करता है।

  4. संक्षिप्त प्रवेश को ट्रिगर करें जब DIMinus DIPlus से नीचे और तेज HMA धीमी HMA से नीचे पार करता है।

  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)

अधिक