मैकिनन डायनेमिक मूविंग एवरेज ट्रेडिंग रणनीति


निर्माण तिथि: 2023-11-14 15:48:46 अंत में संशोधित करें: 2023-11-14 15:48:46
कॉपी: 0 क्लिक्स: 838
1
ध्यान केंद्रित करना
1617
समर्थक

मैकिनन डायनेमिक मूविंग एवरेज ट्रेडिंग रणनीति

अवलोकन

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

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

यह रणनीति मुख्य रूप से दो औसत रेखाओं का उपयोग करती है, 21 दिन की सूचकांक चलती औसत और 42 दिन की सूचकांक चलती औसत। जब यह लंबी अवधि की औसत रेखा से ऊपर होता है, तो इसे खरीदने का संकेत माना जाता है। जब यह लंबी अवधि की औसत रेखा से नीचे होता है, तो इसे बेचने का संकेत माना जाता है।

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

विशेष रूप से, खरीद संकेतों की ट्रिगर शर्तें हैंः लंबी औसत रेखा को कम औसत रेखा पर पार करना, मैकिंसन गैर-औसत रेखा से ऊपर बंद करना, बंद करने की कीमत को कम औसत रेखा से नीचे तोड़ना। बेचने के संकेतों की ट्रिगर शर्तें हैंः लंबी औसत रेखा को कम औसत रेखा से नीचे पार करना, मैकिंसन गैर-औसत रेखा से नीचे बंद करना, बंद करने की कीमत को कम औसत रेखा से ऊपर तोड़ना।

मैकिन गैर-डायनामिक औसत के लिए गणना सूत्र हैः MDIt = MDIt-1 + (Close - MDIt-1) / Max(k * Period * (Close / MDIt-1) ^ 4, 1) जिसमें, MDIt वर्तमान मूल्य को दर्शाता है, MDIt-1 पिछले दिन का मूल्य है, Close आज के समापन मूल्य को दर्शाता है, k चिकनाई निरंतर को दर्शाता है, और Period गणना को दर्शाता है। यह सूत्र औसत रेखा को वास्तविक समय में मूल्य परिवर्तन को ट्रैक करने में सक्षम बनाता है।

रणनीतिक लाभ

  1. मैकिन्फी औसत रेखा सूचकांक पारंपरिक औसत रेखा की पिछड़ापन में सुधार करता है, जिससे कीमतों के रुझान में बदलाव को तेजी से पकड़ने में मदद मिलती है।

  2. द्वि-समान रेखा के संयोजन से ट्रेडिंग सिग्नल बनते हैं, जो झूठे ब्रेकआउट को प्रभावी रूप से फ़िल्टर कर सकते हैं।

  3. मैकिन्फी औसत से ऊपर/नीचे की कीमतों को जोड़ें, ताकि आपातकालीन क्षेत्रों में बार-बार व्यापार से बचा जा सके

  4. यह सूचकांक एक चलती औसत रेखा का उपयोग करता है, जिससे यह हाल के मूल्य परिवर्तनों के प्रति अधिक संवेदनशील हो जाती है।

रणनीतिक जोखिम

  1. क्षैतिज बाज़ार में, झूठे सिग्नल उत्पन्न हो सकते हैं, जिससे नुकसान हो सकता है। पैरामीटर को उचित रूप से समायोजित किया जा सकता है, सिग्नल को फ़िल्टर करें।

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

  3. पैरामीटर की गलत सेटिंग भी रणनीति के प्रभाव को प्रभावित कर सकती है, पैरामीटर को अनुकूलन परीक्षण के लिए किया जाना चाहिए।

  4. लंबे समय तक रखने के लिए प्रणालीगत जोखिमों पर ध्यान दें और एक स्टॉपलॉस सेट करें।

रणनीति अनुकूलन

  1. अलग-अलग लंबाई के औसत रेखा मापदंडों का परीक्षण करके, अधिक उपयुक्त संयोजनों का पता लगाया जा सकता है

  2. अन्य तकनीकी संकेतक जैसे कि केडी, एमएसीडी आदि को जोड़ा जा सकता है, जो कि खरीद और बिक्री के स्थान के चयन को अनुकूलित करता है।

  3. मैककिन गैर-औसत रेखा की गणना को अनुकूलित करने के लिए, k को विभिन्न किस्मों और बाजारों के आधार पर समायोजित किया जा सकता है।

  4. गतिशील स्थिति आकार के लिए अस्थिरता सूचकांक के साथ संयोजन, एकल जोखिम को नियंत्रित करना।

  5. स्टॉप लॉस को सेट करके नुकसान के जोखिम को नियंत्रित किया जा सकता है, और स्टॉप लॉस को स्थानांतरित करके लाभ को लॉक करने के लिए परीक्षण किया जा सकता है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// © LucasZancheta

//@version=4
strategy(shorttitle="Maguila", title="McGinley Dynamic Indicator", overlay=true)

//Médias móveis
MA1Period=input(21, title="MA1")
MA2Period=input(42, title="MA2")

MA1 = ema(close, MA1Period)
MA2 = ema(close, MA2Period)

aboveAverage = MA1 >= MA2
hunderAverage = MA2 >= MA1

//Período do backtest
startDate = input(title="Start Date", type=input.integer, defval=28, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer, defval=5, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer, defval=2019, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer, defval=28, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer, defval=5, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer, defval=2030, minval=1800, maxval=2100)

//Verifica se o candle está dentro do período do backtest
inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

//Número de periodos da média móvel
period  = input(title="Períodos", type=input.integer, defval=20)
//Constante K (0.6)
k = input(title="Constante K", type=input.float, defval=0.6)
//Preço de fechamento 
closePrice = input(title="Preço", type=input.source, defval=close)

mdi = 0.0

//Fórmula de McGinley
mdi := na(mdi[1]) ? closePrice : mdi[1] + (closePrice - mdi[1]) / max((k * period * pow(closePrice / mdi[1], 4)), 1)

//Regra de coloração 
mdiColor = closePrice > mdi ? color.green : closePrice < mdi ? color.red : color.black

//Inserindo as informações no gráfico    
plot(MA1, color=color.blue, linewidth=2)
plot(MA2, color=color.purple, linewidth=2)

barcolor(mdiColor)

//Estratégia
buySignal = aboveAverage and closePrice > mdi and crossunder(low, MA1) and close > MA1  
buyLoss = closePrice < mdi and close < MA1 and close < MA2

if (inDateRange)
    strategy.entry("Compra", strategy.long, qty=1, when= buySignal)
    strategy.exit("Gain da compra", "Compra", qty=1, profit=20)
    strategy.close("Compra", qty=1, when= buyLoss, comment="Loss na operação")

sellSignal = hunderAverage and closePrice < mdi and crossover(high, MA1) and close < MA1
sellLoss = closePrice > mdi and close > MA1 and close > MA2

if (inDateRange)
    strategy.entry("Venda", strategy.short, qty=1, when= sellSignal)
    strategy.exit("Gain da venda", "Venda", qty=1, profit=20)
    strategy.close("Venda", qty=1, when= sellLoss, comment="Loss na operação")

if (not inDateRange)
    strategy.close_all()