एमएसीडी मात्रात्मक रणनीति - डबल क्रॉस मूविंग औसत सफलता रणनीति


निर्माण तिथि: 2024-02-22 15:32:42 अंत में संशोधित करें: 2024-02-22 15:32:42
कॉपी: 0 क्लिक्स: 679
1
ध्यान केंद्रित करना
1617
समर्थक

एमएसीडी मात्रात्मक रणनीति - डबल क्रॉस मूविंग औसत सफलता रणनीति

अवलोकन

यह रणनीति तेजी से चलती औसत रेखा और धीमी गति से चलती औसत रेखा के अंतर को गणना करके MACD संकेतक का गठन करती है, फिर वित्तीय बाजार की प्रवृत्ति और ओवरबॉय ओवरसोल्ड क्षेत्र का आकलन करने के लिए सिग्नल लाइनों के साथ मिलकर, MACD और सिग्नल लाइनों के साथ-साथ 200 दिन की औसत रेखा से ऊपर होने पर अधिक करने के लिए, और 200 दिन की औसत रेखा से नीचे होने पर खाली फोर्क फोर्क फोर्क बनाने के लिए, एक विशिष्ट डबल फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्क फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फोर्ड फो

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

मूल सिद्धांत तेजी से चलती औसत और धीमी गति से चलती औसत के बीच अंतर की गणना करने के लिए है MACD सूचक का गठन बाजार की प्रवृत्ति की दिशा का निर्धारण करने के लिए, और फिर संकेत लाइन का उपयोग करने के लिए ओवरबॉय ओवरसोल्ड क्षेत्र का निर्णय लें। जब MACD और सिग्नल लाइन गोल्ड फोर्क का गठन करते हैं, तो एक बहुमुखी सिग्नल होता है, जब एक मृत फोर्क होता है, तो एक खाली सिग्नल होता है। साथ ही, कीमत और 200 दिन की औसत रेखा के संबंध को पार करने के लिए संकेत, केवल 200 दिन की औसत रेखा से ऊपर की कीमत पर गोल्ड फोर्क का अधिग्रहण करें, और 200 दिन की औसत रेखा से नीचे की कीमत पर मृत फोर्क को खाली करें, ताकि मजबूत प्रवृत्ति के दौरान अराजक सिग्नल से बचा जा सके।

यह गणना निम्नानुसार की जाती हैः

  1. तेजी से चलती औसत (12 दिन ईएमए) से धीमी गति से चलती औसत (26 दिन ईएमए) को घटाकर एमएसीडी
  2. MACD के लिए 9 दिन ईएमए संकेत लाइन प्राप्त
  3. MACD सिग्नल लाइन को घटाकर MACD रेखांकन प्राप्त करें

जब MACD और सिग्नल लाइन दोनों 0 से नीचे होते हैं, तो गोल्ड फोर्क के लिए अधिक सिग्नल करें। जब MACD और सिग्नल लाइन दोनों 0 से ऊपर होते हैं, तो गोल्ड फोर्क के लिए शून्य सिग्नल दें। जब कीमत 200 दिन की औसत रेखा से ऊपर होती है, तो गोल्ड फोर्क के लिए अधिक करें।

रणनीतिक लाभ

  1. दोहरे सूचक निर्णय का उपयोग करें, सिंगल सूचक निर्णय की सीमाओं से बचें, सिग्नल की सटीकता में सुधार करें
  2. मजबूत रुझानों में गलत सिग्नल से बचने के लिए मूल्य और औसत संबंध के साथ दोहरी फ़िल्टरिंग
  3. पैरामीटर अनुकूलन के लिए बड़ा स्थान, औसत रेखा पैरामीटर को समायोजित करके विभिन्न बाजार स्थितियों के अनुकूल बनाया जा सकता है
  4. संरक्षित पैरामीटर सेटिंग्स कम सिग्नल लेकिन अधिक सटीकता प्रदान करते हैं
  5. रणनीतिक विचार जो समझने और लागू करने में आसान हैं

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

  1. जब बाजार में भारी उतार-चढ़ाव होता है, तो सूचकांक निर्णय प्रभावित होते हैं और गलत संकेत देते हैं
  2. समानांतर प्रणाली की पिछड़ापन रणनीति की समयबद्धता को प्रभावित करती है
  3. कम संकेत, ट्रेंड के अवसरों को खोना आसान
  4. PARAMETERS ऑप्टिमाइज़ेशन में अति-अनुकूलन का खतरा है
  5. निकासी नियंत्रण और हानिरहित निकासी तंत्र को बेहतर बनाया जाना चाहिए

जोखिम को कम करने के लिए, औसत चक्र को उचित रूप से छोटा किया जा सकता है, अन्य सूचक निर्णयों को जोड़ा जा सकता है, और स्टॉपलॉस को जोड़ा जा सकता है।

रणनीति अनुकूलन दिशा

1.tested on different timeframes from 15m upto 1D, where optimal results where on 4H timeframe in terms of risk adjusted returns

2.optimize fast ma and slow ma so that macd represents cycle, I found 7-21 performs good for 15m chart

3.also tested hull moving average for MACD which gave good results

4.stoploss can also be trailed for better risk management

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-02-14 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
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/
// © Hurmun

//@version=4
strategy("Simple MACD strategy ", overlay=true, margin_long=100, margin_short=100)


fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


movinga2 = input(title="movinga 2", type=input.integer, defval=200)

movinga200 = sma(close, movinga2)

plot(movinga200, "MA", color.orange)
longCondition = crossover(macd, signal) and macd < 0 and signal < 0 and close > movinga200
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(macd, signal) and macd > 0 and signal > 0 and close < movinga200
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    
shortProfitPerc = input(title="Short Take Profit (%)", minval=0.0, step=0.1, defval=2) / 100
longProfitPerc = input(title="Long Take Profit (%)", minval=0.0, step=0.1, defval=2) / 100
    
stoploss = input(title="stoploss in %", minval = 0.0, step=1, defval=2) /100

longStoploss = strategy.position_avg_price * (1 - stoploss)
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)

shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
shortStoploss = strategy.position_avg_price * (1 + stoploss)
    
if (strategy.position_size > 0 )
    strategy.exit(id="XL TP", limit=longExitPrice, stop=longStoploss)






if (strategy.position_size < 0 )
    strategy.exit(id="XS TP", limit=shortExitPrice, stop=shortStoploss)