
यह रणनीति PIVOT उच्च-नीच और टूटने के आधार पर क्रिप्टोकरेंसी के रुझान में बदलाव का न्याय करने के लिए है। यह रणनीति सबसे पहले सबसे अधिक और सबसे कम कीमतों के PIVOT बिंदुओं की गणना करती है, और फिर यह निर्धारित करती है कि क्या कीमतें इन महत्वपूर्ण बिंदुओं के बाद टूटती हैं, ताकि बड़े रुझान परिवर्तनों को पकड़ सकें।
ta.pivothigh () और ta.pivotlow () फ़ंक्शंस का उपयोग करके हाल ही में कुछ बार के उच्चतम और निम्नतम मूल्य बिंदुओं को महत्वपूर्ण PIVOT बिंदुओं के रूप में गणना करें।
यदि कीमत PIVOT कम से ऊपर या PIVOT ऊंचाई से नीचे की ओर बढ़ जाती है, तो यह माना जाता है कि प्रवृत्ति उलट गई है।
कीमतों को PIVOT बिंदु से कुछ हद तक तोड़ने की आवश्यकता होती है, और 150bar के समापन मूल्य को तोड़ने से बचने के लिए।
खरीदारी की शर्तों को ट्रिगर करने के बाद अधिक प्रविष्टि करें, और बेचने की शर्तों को ट्रिगर करने के बाद अधिक बंडल को समतल करें।
यह रणनीति समग्र रूप से काफी मजबूत है और भारी उलटफेर को पकड़ने के लिए उपयुक्त है। हालांकि, जोखिम को नियंत्रित करने और विभिन्न मुद्राओं के लिए पैरामीटर को समायोजित करने पर ध्यान देने की आवश्यकता है। यह विश्वास है कि पैरामीटर अनुकूलन और वेंडर नियंत्रण के आधार पर, यह रणनीति बेहतर प्रभाव प्राप्त कर सकती है।
/*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)