यह रणनीति बाजार की प्रवृत्ति निर्धारित करने के लिए वीस वेव संकेतक और बोलिंगर बैंड्स को जोड़ती है, प्रमुख समर्थन/प्रतिरोध स्तरों पर ट्रेडिंग ब्रेकआउट। यह एक विशिष्ट प्रवृत्ति-अनुसरण ब्रेकआउट प्रणाली है।
रणनीति तर्क:
वेइस तरंग की गणना करें और मूल्य प्रवृत्ति निर्धारित करने के लिए स्तंभ प्रवृत्ति का उपयोग करें।
बीबी के ऊपरी/नीचे बैंड की गणना करें, जब कीमत बैंड को तोड़ती है तो ट्रेडों में प्रवेश करें।
जब वेइस वेव तेजी का रुझान दिखाता है और मूल्य बीबी टॉप से ऊपर टूट जाता है तो लंबे समय तक जाएं।
जब वेइस वेव में मंदी का रुझान दिखाई देता है और कीमत BB तल से नीचे जाती है तो शॉर्ट करें।
रिवर्स ट्रेंड दिखाई देने पर लाभ/नुकसान से बाहर निकलने का प्रयोग करें।
लाभः
वेइस वेव प्रमुख रुझान की दिशा का सटीक आकलन करता है।
बीबी प्रमुख समर्थन/प्रतिरोध स्तरों की पहचान करता है।
संकेतकों का संयोजन सटीकता में सुधार करता है।
जोखिमः
दोनों वाइस वेव और बीबी देरी, खराब प्रवेश समय का कारण बनता है।
फंदे के लिए प्रवण भागने, रोकने की आवश्यकता.
विभिन्न बाजारों में निरंतर रुझान और स्पष्ट ब्रेक मिलना मुश्किल है।
संक्षेप में, यह रणनीति ट्रेंड बायस और ट्रेड ब्रेकआउट के लिए वीस वेव और बीबी को जोड़ती है। यह सटीकता में कुछ सुधार कर सकती है लेकिन लेग और रेंजिंग प्राइस एक्शन पर सावधानी बरतने की आवश्यकता होती है।
/*backtest start: 2023-08-13 00:00:00 end: 2023-09-12 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/ // © sharatgbhat //@version=4 // strategy("Weis BB Strategy", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 10,max_lines_count = 500, max_labels_count = 500) maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=input.float) // strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity) method = input(defval="ATR", options=["ATR", "Traditional", "Part of Price"], title="Renko Assignment Method") methodvalue = input(defval=14.0, type=input.float, minval=0, title="Value") pricesource = input(defval="Close", options=["Close", "Open / Close", "High / Low"], title="Price Source") useClose = pricesource == "Close" useOpenClose = pricesource == "Open / Close" or useClose useTrueRange = input(defval="Auto", options=["Always", "Auto", "Never"], title="Use True Range instead of Volume") isOscillating = input(defval=false, type=input.bool, title="Oscillating") normalize = input(defval=false, type=input.bool, title="Normalize") vol = useTrueRange == "Always" or useTrueRange == "Auto" and na(volume) ? tr : volume op = useClose ? close : open hi = useOpenClose ? close >= op ? close : op : high lo = useOpenClose ? close <= op ? close : op : low if method == "ATR" methodvalue := atr(round(methodvalue)) if method == "Part of Price" methodvalue := close / methodvalue currclose = float(na) prevclose = nz(currclose[1]) prevhigh = prevclose + methodvalue prevlow = prevclose - methodvalue currclose := hi > prevhigh ? hi : lo < prevlow ? lo : prevclose direction = int(na) direction := currclose > prevclose ? 1 : currclose < prevclose ? -1 : nz(direction[1]) directionHasChanged = change(direction) != 0 directionIsUp = direction > 0 directionIsDown = direction < 0 barcount = 1 barcount := not directionHasChanged and normalize ? barcount[1] + barcount : barcount vol := not directionHasChanged ? vol[1] + vol : vol res = barcount > 1 ? vol / barcount : vol plot(isOscillating and directionIsDown ? -res : res, style=plot.style_columns, color=directionIsUp ? color.green : color.red, transp=75, linewidth=3, title="Wave Volume") length = input(14, minval=1) src = input(close, title="Source") mult = input(2, minval=0.001, maxval=50, title="StdDev") basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) plot(basis, "Basis", color=#FF6D00, offset = offset) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95)) MomentumBull = close>upper MomentumBear = close<lower if (MomentumBull and directionIsUp) strategy.entry("Buy", strategy.long) if (MomentumBear and directionIsDown) strategy.entry("Sell", strategy.short) strategy.exit("exit","Buy",when=directionIsDown,qty_percent=100,profit=20,loss=10) strategy.exit("exit","Sell",when=directionIsUp,qty_percent=100,profit=20,loss=10)