Эта стратегия использует три технических индикатора цены акций, RSI, StochRSI и Bollinger Bands, и объединяет условия времени и направления торговли для определения сигналов купли и продажи для количественных торговых стратегий.
Когда индикатор RSI меньше нижней области и линия StochRSI K пересекает линию D, это считается сигналом покупки.
В то же время, цена акции выше верхней линии полосы Боллинджера или прерывает верхнюю линию полосы Боллинджера также используется в качестве основы для продажи.
Показатель RSI определяет, является ли цена акции перекупленной или перепроданной, StochRSI определяет динамику цены акций, а Bollinger Bands определяет, работает ли цена акции на высоких уровнях и дешевой.
Это многопоказательная комбинированная стратегия с широким охватом показателей и всеобъемлющей основой для суждения. Перед суждением сигнала требуется пересечение между текущей ценой акции или индикатором и его порогом, что оказывает определенное фильтрующее действие на ложные сигналы.
Перед размещением ордеров добавляются ограничения по временным условиям, чтобы избежать больших рисков в течение конкретных периодов времени.
Объединяя оценки нескольких индикаторов, можно сопоставить больше типов тенденций для повышения эффективности стратегии.
Стратегия опирается в основном на три типа индикаторов. Если индикатор дает неверный сигнал, стратегия вызовет убытки. Индикаторы должны проверять друг друга и не могут полностью полагаться на определенный индикатор. Например, колебания RSI в определенный период времени увеличат вероятность выдачи ложных сигналов.
Условия оценки времени, добавленные в стратегию, также могут не соответствовать благоприятным рыночным условиям.
Если выбор запасов не соответствует требованиям, например, запасы с сильным эффектом преувеличения, то действительность этих показателей будет значительно снижена.
Увеличить меры контроля рисков, такие как максимальное использование средств для ограничения потерь.
Например, ускорить параметры RSI, чтобы быстрее обнаружить изменения цен.
Увеличить механизмы фильтрации, например, приостановить торговлю, когда цена акций находится в середине полосы Боллинджера, чтобы избежать колебаний рыночных условий.
Выбор акций может относиться к основополагающим факторам, чтобы избежать акций с серьезным финансовым мошенничеством.
Это типичная многопеременная стратегия технического индикатора с сбалансированным сочетанием индикаторов и обширным охватом. В то же время условия заказа строги, что может эффективно выбирать акции для получения прибыли, и снижение будет контролироваться в определенном диапазоне. Благодаря оптимизации индикаторов и параметров он может лучше адаптироваться к рынку. В то же время увеличить механизм контроля риска для минимизации риска для дальнейшего улучшения стабильности и надежности стратегии.
/*backtest start: 2023-12-24 00:00:00 end: 2024-01-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version= 2 strategy("RSI+STOCHRSI+BB Strategy", overlay=true) lengthrsi = input(6) overSold = input( 20 ) overBought = input( 70 ) price = close vrsi = rsi(price, lengthrsi) smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) bblength = input(50) bbupmult =input(1.5,title="Multiplier for BB Upper Band") bblowmult = input(1.5,title="Multiplier for BB Lower Band") basis = sma(close,bblength) devup = bbupmult * stdev(close, bblength) devlow = bblowmult * stdev(close, bblength) upper = basis + devup lower = basis - devlow plot(basis, color=red) p1 = plot(upper, color=blue) p2 = plot(lower, color=blue) fill(p1, p2) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( ( crossover(k,d)) and ( crossover(vrsi,overSold) or vrsi<overSold) and ( (price<lower) or crossover(price,lower) ) ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and ( (price>upper) or crossunder(price,upper) )) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")