मानकीकृत एमएसीडी पर आधारित मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-14 20:01:07
टैगः

यह लेख सामान्यीकृत एमएसीडी संकेतक पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति का विस्तार से वर्णन करता है। यह संकेत की गुणवत्ता में सुधार के लिए क्लासिक एमएसीडी रणनीति का अनुकूलन करता है।

I. रणनीतिक तर्क

इस रणनीति का मूल विचार त्रुटि दरों को कम करने के लिए पारंपरिक एमएसीडी संकेतक को सामान्य करना है। विशिष्ट कदम हैंः

  1. लघु और दीर्घकालिक हुल चलती औसत की गणना करें और प्रवृत्ति दिशा के लिए उनके क्रॉसओवर का उपयोग करें।

  2. एमएसीडी अंतर की गणना करें।

  3. एक निश्चित अवधि में एमएसीडी को सामान्य करें।

  4. ट्रिगर के रूप में सामान्यीकृत एमएसीडी के चलती औसत की गणना करें।

  5. जब सामान्यीकृत एमएसीडी ट्रिगर के ऊपर पार करता है, तो लंबे समय तक जाएं, और जब नीचे पार करता है, तो शॉर्ट करें।

  6. प्रमुख चाल को याद करने से बचने के लिए प्रवृत्ति फ़िल्टर जोड़ें।

  7. प्रति व्यापार जोखिम को नियंत्रित करने के लिए स्टॉप लॉस और ले लाभ सेट करें.

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

II. रणनीति के फायदे

सरल एमएसीडी रणनीतियों की तुलना में, सबसे बड़ा लाभ सामान्यीकरण है, जो प्रभावी रूप से एमएसीडी त्रुटियों को कम कर सकता है और संकेत सटीकता में सुधार कर सकता है।

एक और लाभ यह है कि झूठे उलटफेरों से बचने के लिए ट्रेंड फिल्टरिंग जोड़ी गई है। इससे रणनीति की स्थिरता बढ़ जाती है।

अंत में, स्टॉप लॉस और टेक प्रॉफिट सेटिंग्स भी सावधानीपूर्वक धन प्रबंधन के लिए प्रति व्यापार नियंत्रित जोखिम-लाभ सुनिश्चित करती हैं।

III. संभावित कमजोरियां

अनुकूलन के बावजूद, व्यवहार में व्यापार करते समय निम्नलिखित जोखिमों का ध्यान रखा जाना चाहिए:

सबसे पहले, बड़े पैरामीटर अनुकूलन कठिनाई अगर अनुचित रूप से सेट ओवरफिटिंग के लिए नेतृत्व कर सकते हैं।

दूसरा, स्टॉप लॉस सेट बहुत करीब होने से समय से पहले स्टॉप आउट होने का खतरा होता है।

अंत में, प्रवृत्ति संक्रमण के दौरान संकेतों में देरी हो सकती है, समय पर प्रतिक्रिया करने में विफलता।

IV. सारांश

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


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Normalized MACD but heavily modified by SeaSide420. Normalized MACD v420
strategy("Normalized MACD (v420)",shorttitle="NmacD(v420)",overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1440, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) 
p=input(ohlc4)
jah=input(title="HullMA cross",defval=21)
tsp = input(34,title='Trigger')
np = input(50,title='Normalize')
SL = input(defval=-420.00, title="Stop Loss in $", step=1)
TP = input(defval=31.00, title="Target Point in $", step=1)
ot=1
n2ma=2*wma(p,round(jah/2))
nma=wma(p,jah)
diff=n2ma-nma
sqn=round(sqrt(jah))
n2ma1=2*wma(p[2],round(jah/2))
nma1=wma(p[2],jah)
diff1=n2ma1-nma1
sqn1=round(sqrt(jah))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
sh=n1
lon=n2
ratio = min(sh,lon)/max(sh,lon)
Mac = (iff(sh>lon,2-ratio,ratio)-1)
MacNorm = ((Mac-lowest(Mac, np)) /(highest(Mac, np)-lowest(Mac, np)+.000001)*2)- 1
MacNorm2 = iff(np<2,Mac,MacNorm)
Trigger = wma(MacNorm2, tsp)
Hist =(MacNorm2-Trigger)
Hist2= Hist>1?1:Hist<-1?-1:Hist
teh=MacNorm2+MacNorm2[2]-MacNorm2[1]
closelong = strategy.openprofit<SL or strategy.openprofit>TP or teh[1]<Trigger[1] and n1<n2[1]
if (closelong)
    strategy.close("Long")
closeshort = strategy.openprofit<SL or strategy.openprofit>TP or  teh[1]>Trigger[1] and n1>n2[1]
if (closeshort)
    strategy.close("Short")
longCondition = Trigger<0 and teh>Trigger and MacNorm>Trigger and strategy.opentrades<ot 
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = Trigger>0 and teh<Trigger and MacNorm<Trigger and strategy.opentrades<ot 
if (shortCondition)
    strategy.entry("Short",strategy.short)

अधिक