
इस रणनीति में बुरिन बैंड और अपेक्षाकृत मजबूत सूचक (आरएसआई) के संयोजन से खरीदारी और बिक्री के संकेतों का आकलन किया जाता है। जब कीमत बुरिन बैंड को पार करती है और आरएसआई निर्धारित निचले सीमा से नीचे होती है, तो एक खरीद संकेत उत्पन्न होता है; जब कीमत बुरिन बैंड को पार करती है और आरएसआई निर्धारित ऊपरी सीमा से ऊपर होती है, तो एक बेचने का संकेत उत्पन्न होता है। साथ ही, इस रणनीति में एक खरीद-अंतराल पैरामीटर भी शामिल है, जो बार-बार व्यापार से बचता है और पिरामिड पोजीशन प्रबंधन को लागू करने में मदद करता है।
इस रणनीति में ब्रिन बैंड और आरएसआई के दो क्लासिक तकनीकी संकेतकों का चतुराई से संयोजन किया गया है, जो दोहरे पुष्टिकरण तंत्र के माध्यम से ट्रेंडिंग अवसरों को पकड़ने के लिए है। साथ ही, इस रणनीति में पिरामिड-आधारित पोजीशन बिल्डिंग विधि का परिचय दिया गया है, जो जोखिम को नियंत्रित करते हुए रिटर्न को अनुकूलित करने का प्रयास करता है। लेकिन रणनीति में ट्रेंडिंग निरंतरता जोखिम, पैरामीटर अनुकूलन जोखिम और ब्लैक स्वान्ड घटना जोखिम भी है, जिसे आगे स्टॉपलॉस, डायनामिक पैरामीटर अनुकूलन और अन्य संकेतकों के संयोजन के माध्यम से आगे बढ़ाया जा सकता है। कुल मिलाकर, यह एक स्पष्ट, तर्कसंगत और सख्त मात्रात्मक व्यापार रणनीति है, जो आगे की खोज और अभ्यास के लायक है।
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
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/
//@version=4
strategy(overlay=true, shorttitle="cakes'Strategy For RSI", default_qty_type = strategy.percent_of_equity, initial_capital = 100000, default_qty_value = 100, pyramiding = 0, title="cakes'Strategy", currency = 'USD')
////////// ** Inputs ** //////////
// Stoploss and Profits Inputs
v1 = input(true, title="GoTradePlz")
////////// ** Indicators ** //////////
// RSI
len = 14
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
// Bollinger Bands
length1 = 20
src1 = close
mult1 = 1.0
basis1 = sma(src1, length1)
dev1 = mult1 * stdev(src1, length1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
////////// ** Triggers and Guards ** //////////
// 输入
RSILowerLevel1 = input(30, title="RSI 下限水平")
RSIUpperLevel1 = input(70, title="RSI 上限水平")
// 购买间隔
buyInterval = input(5, title="购买间隔(K线数量)")
// 跟踪购买间隔
var int lastBuyBar = na
lastBuyBar := na(lastBuyBar[1]) ? bar_index : lastBuyBar
// 策略信号
BBBuyTrigger1 = close < lower1
BBSellTrigger1 = close > upper1
rsiBuyGuard1 = rsi < RSILowerLevel1
rsiSellGuard1 = rsi > RSIUpperLevel1
Buy_1 = BBBuyTrigger1 and rsiBuyGuard1 and (bar_index - lastBuyBar) >= buyInterval
Sell_1 = BBSellTrigger1 and rsiSellGuard1
if (Buy_1)
lastBuyBar := bar_index
strategy.entry("Long", strategy.long, when = Buy_1, alert_message = "Buy Signal!")
strategy.close("Long", when = Sell_1, alert_message = "Sell Signal!")