
Эта стратегия основана на показателях Брин-банда, чтобы определить направление тенденции рынка, и в случае поворота направления тенденции проводится обратная операция. В случае многоголового рынка, когда цена падает вниз по Брин-банду, делается больше; в случае пустого рынка, когда цена пробивается вверх по Брин-банду, делается пустое. В то же время, стратегия также устанавливает скользящую среднюю как критерий для определения долгосрочных тенденций, что делает стратегию более стабильной.
В этой стратегии используются средние, верхние и нижние колеи буринга для определения направления рыночных тенденций. Средние колеи буринга представляют собой n-циклические скользящие средние индексы, при этом верхние и нижние колеи буринга имеют соответственно средние колеи +2,3 стандартного разрыва и средние колеи -2,3 стандартного разрыва. Когда цена пробивает нижние колеи, она находится на многоголовом рынке; когда цена пробивает верхние колеи, она находится на пустом рынке.
Кроме того, в стратегии используется 200-циклическая простая скользящая средняя SMA в качестве долгосрочного индикатора тренда. Торговый сигнал подается только тогда, когда индикатор Брин-Бенда и SMA совпадают. Это эффективно отфильтровывает некоторые ложные прорывы.
Конкретная логика сделки:
Улучшение методов:
Эта стратегия в целом довольно проста и понятна, использует тенденцию определения полосы Бурин, для обратной операции в поворотных точках. При этом добавление долгосрочных и краткосрочных показателей суждения позволяет эффективно фильтровать сигналы.
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 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/
// © Aayonga
//@version=5
strategy("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "长度")
bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差")
basis=ta.ema(close,bollL)
dev=bollmult*ta.stdev(close,bollL)
upper=basis+dev
lower=basis-dev
smaL=input.int(200,minval=1,step=1,title = "趋势分界线")
sma=ta.sma(close,smaL)
//多头趋势
longT=upper>sma and basis>sma and lower>=sma
//空头趋势
shortT=upper<sma and basis<sma and lower<=sma
//入场位
longE=ta.crossover(close,lower)
shortE=ta.crossover(close,upper)
//出场位
longEXIT=ta.crossover(high,upper)
shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230))
if longT and longE
strategy.entry("多",strategy.long)
if longEXIT
strategy.close("多",comment = "多出场")
if shortE and shortT
strategy.entry("空",strategy.short)
if shortEXIT
strategy.close("空",comment = "空出场")