
Cette stratégie est basée sur les indicateurs de la courbe de Brin pour déterminer la direction de la tendance du marché et effectue des opérations inverses en cas de retournement de tendance. Lorsqu’il s’agit d’un marché à plusieurs têtes, le prix est plus élevé lorsque le prix tombe en dessous de la courbe de Brin.
Cette stratégie utilise les courbes de Brin, les courbes supérieures et inférieures pour déterminer la direction de la tendance du marché. Les courbes de Brin sont des moyennes mobiles indicielles de n cycles, les courbes supérieures et inférieures de Brin sont respectivement des courbes moyennes + 2,3 fois l’écart standard et des courbes moyennes - 2,3 fois l’écart standard. Lorsqu’un prix franchit la courbe inférieure, il est présent sur un marché à plusieurs têtes; lorsqu’un prix franchit la courbe supérieure, il est présent sur un marché à vide.
En outre, la stratégie utilise la SMA à 200 cycles comme indicateur de tendance à long terme. Un signal de négociation n’est émis que lorsque l’indicateur de la bande de Bryn et l’indicateur de la SMA sont alignés. Cela permet de filtrer efficacement certaines fausses percées.
La logique de l’opération est la suivante:
Comment améliorer:
Cette stratégie est relativement simple et compréhensible dans l’ensemble, elle utilise la courbe de Brin pour déterminer la tendance et effectuer des opérations inverses aux points de basculement. En ajoutant des indicateurs de jugement à long terme, il est possible de filtrer efficacement les signaux.
/*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 = "空出场")