यह रणनीति PIVOT स्विंग उच्च/निम्न बिंदुओं और ब्रेकआउट संकेतों के आधार पर क्रिप्टो परिसंपत्तियों में रुझान उलटों की पहचान करती है। यह ब्रेकआउट रिवर्स रणनीति श्रेणी से संबंधित है। यह रणनीति पहले हाल के उच्चतम और निम्नतम मूल्य बिंदुओं को PIVOT स्तरों के रूप में गणना करती है, फिर पता लगाती है कि क्या कीमत इन प्रमुख स्तरों को तोड़ती है, प्रमुख रुझान परिवर्तनों का संकेत देती है।
PIVOT उच्च/निम्न बिंदुओं की गणना करें
ta.pivothigh (() और ta.pivotlow (() का उपयोग एक कस्टम बार लुकबैक अवधि के दौरान उच्चतम उच्च और निम्नतम कम कीमतों को खोजने के लिए PIVOT बिंदुओं को प्लॉट करने के लिए करता है।
ब्रेकआउट सिग्नल की पहचान करें
यदि मूल्य पीआईवीओटी निम्न बिंदु से ऊपर टूट जाता है, या पीआईवीओटी उच्च बिंदु से नीचे टूट जाता है, तो रणनीति इसे प्रवृत्ति उलट संकेत मानती है।
फ़िल्टर शर्तें सेट करें
अर्थपूर्ण दूरी से पीआईवीओटी स्तरों को तोड़ने के लिए मूल्य की आवश्यकता होती है, और whipsaws से बचने के लिए समापन मूल्य 150 बार समापन कीमतों को पार करता है।
प्रवेश और निकास
लंबी स्थिति पर ट्रिगर खरीद संकेत, बाहर निकलने की स्थिति पर लंबी स्थिति बंद करें. इसी तरह के शॉर्ट सेटअप नियमों के लिए.
यह रणनीति बड़े उलटफेर को पकड़ने के लिए समग्र रूप से मजबूत है, लेकिन प्रति परिसंपत्ति और जोखिम नियंत्रण के लिए अनुकूलित मापदंडों की आवश्यकता है। आगे के अनुकूलन और गार्डरिल के साथ, यह क्रिप्टो बाजारों में अच्छा प्रदर्शन कर सकता है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © nkrastins95 //@version=5 strategy("Swing Hi Lo", overlay=true, margin_long=100, margin_short=100) //-----------------------------------------------------------------------------------------------------------------------// tf = input.timeframe(title="Timeframe", defval="") gr="LENGTH LEFT / RIGHT" leftLenH = input.int(title="Pivot High", defval=10, minval=1, inline="Pivot High",group=gr) rightLenH = input.int(title="/", defval=10, minval=1, inline="Pivot High",group=gr) colorH = input(title="", defval=color.red, inline="Pivot High",group=gr) leftLenL = input.int(title="Pivot Low", defval=10, minval=1, inline="Pivot Low", group=gr) rightLenL = input.int(title="/", defval=10, minval=1, inline="Pivot Low",group=gr) colorL = input(title="", defval=color.blue, inline="Pivot Low",group=gr) //-----------------------------------------------------------------------------------------------------------------------// pivotHigh(ll, rl) => maxLen = 1000 float ph = ta.pivothigh(ll, rl) int offset = 0 while offset < maxLen if not na(ph[offset]) break offset := offset + 1 ph[offset] pivotLow(ll, rl) => maxLen = 1000 float pl = ta.pivotlow(ll, rl) int offset = 0 while offset < maxLen if not na(pl[offset]) break offset := offset + 1 pl[offset] //-----------------------------------------------------------------------------------------------------------------------// ph = request.security(syminfo.tickerid, tf, pivotHigh(leftLenH, rightLenH), barmerge.gaps_off, barmerge.lookahead_on) pl = request.security(syminfo.tickerid, tf, pivotLow(leftLenL, rightLenL), barmerge.gaps_off, barmerge.lookahead_on) drawLabel(_offset, _pivot, _style, _color) => if not na(_pivot) label.new(bar_index[_offset], _pivot, str.tostring(_pivot, format.mintick), style=_style, color=_color, textcolor=#131722) //-----------------------------------------------------------------------------------------------------------------------// VWAP = ta.vwap(ohlc4) longcondition = ta.crossunder(close,pl) and close > close[150] exitcondition = close > ph shortcondition = ta.crossover(close,ph) and close < close[150] covercondition = close < pl strategy.entry("long", strategy.long, when = longcondition) strategy.close("long", when = exitcondition) strategy.entry("Short", strategy.short, when = shortcondition) strategy.close("Short", when = covercondition)