डबल मूविंग एवरेज मोमेंटम मार्टिंगेल रणनीति


निर्माण तिथि: 2023-12-25 17:01:28 अंत में संशोधित करें: 2023-12-25 17:01:28
कॉपी: 0 क्लिक्स: 564
1
ध्यान केंद्रित करना
1623
समर्थक

डबल मूविंग एवरेज मोमेंटम मार्टिंगेल रणनीति

अवलोकन

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

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

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

यदि रैखिक रिवर्सन हिस्टोग्राम सकारात्मक है (उच्च प्रवृत्ति का प्रतिनिधित्व करता है) और बार लाल K लाइन है (ऋण का प्रतिनिधित्व करता है) और K लाइन की इकाई पिछले 30 K लाइनों की औसत इकाई से 13 बड़ी है, तो इस तरह के संयोजन संकेत अधिक हैं; इसके विपरीत यदि रैखिक रिवर्सन हिस्टोग्राम नकारात्मक है, तो बार हरे रंग की K लाइन है, और इकाई भी बड़ी है, तो शून्य है।

यह रणनीति बाजार के चरणों को समझने में मदद करने के लिए संपीड़न और विस्तार की पृष्ठभूमि को एक साथ दृश्य प्रदान करती है।

रणनीति का विश्लेषण

  • कई संकेतकों के संयोजन का उपयोग करके, झूठे संकेतों को प्रभावी ढंग से फ़िल्टर करें
  • संपीड़न एक संभावित मोड़ का प्रतिनिधित्व करता है, जो रणनीति को अधिक प्रभावी बनाता है
  • एंटिटी फ़िल्टरिंग छोटे तरंगों के झूठे टूटने से बचने के लिए
  • पैरामीटर अनुकूलन के माध्यम से बेहतर परिणाम प्राप्त करने के लिए आसान

रणनीतिक जोखिम विश्लेषण

  • रैखिक पुनरावृत्ति गलत संकेतों के लिए अतिसंवेदनशील है, जिससे नुकसान हो सकता है
  • ब्रिन बैंड और केसी चैनल ने कहा कि संपीड़न का प्रभाव अच्छा नहीं है
  • फ़िल्टरिंग की शर्तें बहुत कठोर हैं, बेहतर प्रवेश बिंदुओं को याद किया जा सकता है
  • एक बड़ी वापसी की संभावना, कुछ हद तक सहन करने की क्षमता की आवश्यकता

जोखिम को कम करने के लिए, संकेतकों को समायोजित करें और फ़िल्टरिंग स्थितियों को अनुकूलित करें।

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

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. विभिन्न संयोजनों और लंबाई की कोशिश करें और सबसे अच्छा खोजें
  2. फ़िल्टरिंग की स्थिति को बढ़ाएँ या घटाएँ और फ़िल्टरिंग के सर्वोत्तम स्तर का पता लगाएँ
  3. इष्टतम पैरामीटर को स्वचालित रूप से खोजने के लिए मशीन लर्निंग का उपयोग करें
  4. विभिन्न किस्मों के अनुसार पैरामीटर को समायोजित करके विशिष्ट किस्मों में परीक्षण प्रभाव
  5. एकल घाटे को नियंत्रित करने के लिए अतिरिक्त रोक-टोक रणनीति

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2017

//@version=2
strategy(shorttitle = "Squeeze str 1.0", title="Noro's Squeeze Momentum Strategy v1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = true
usecolor = input(true, defval = true, title = "Use color of candle")
usebody = input(true, defval = true, title = "Use EMA Body")
needbg = input(false, defval = false, title = "Show trend background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

// Calculate BB
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : (high - low)
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn  = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz  = (sqzOn == false) and (sqzOff == false)

val = linreg(source  -  avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)), lengthKC,0)

bcolor = iff( val > 0, iff( val > nz(val[1]), lime, green), iff( val < nz(val[1]), red, maroon))
scolor = noSqz ? blue : sqzOn ? black : gray 

trend = val > 0 ? 1 : val < 0 ? -1 : 0

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//EMA Body
body = abs(close - open)
emabody = ema(body, 30) / 3

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = trend == 1 and (bar == -1 or usecolor == false) and (body > emabody or usebody == false)
dn = trend == -1 and (bar == 1 or usecolor == false) and (body > emabody or usebody == false)

if up
    strategy.entry("Long", strategy.long)

if dn
    strategy.entry("Short", strategy.short)