
A principal ideia desta estratégia é usar a diferença de sobreposição dos preços para julgar a tendência do mercado. Quando a diferença se reverte de negativo para positivo, faça mais, e quando se reverte de positivo para negativo, faça zero, pertence à estratégia de negociação reversa.
A estratégia primeiro calcula a diferença de sobreposição entre os preços[1]), ou seja, o preço de fechamento de hoje menos o preço de fechamento de ontem, e depois calcular o total da diferença nos últimos 30 dias. Quando o total se reverte de um número negativo para um número positivo, um sinal de multiplicação é gerado, e quando o total se reverte de um número positivo para um número negativo, um sinal de curto-circuito é gerado.
Em particular, a estratégia defende três indicadores:
Quando ff inverte de negativo para positivo, ou seja, menor que 0 se torna maior que 0, e dd1 também inverte de negativo para positivo, gera-se um sinal de multiplicidade.
Quando ff inverte de positivo para negativo, ou seja, maior que 0 se torna menor que 0, e dd1 também inverte de positivo para negativo, gera um sinal de vazio.
A linha de stop-loss é definida quando você faz mais tempo de folga.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
A solução é a seguinte:
A estratégia pode ser otimizada em:
Esta estratégia é uma estratégia típica de negociação de reversão. A estratégia é clara, fácil de implementar e tem um certo valor prático. Mas também há alguns riscos e precisa ser melhorada para se adaptar às mudanças do mercado.
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Fst",currency="USD",initial_capital=100000)
//Length0 = input(30, title="fastperiod", minval=1)
Length = input(30, title="SUMM")
Length1 = input(15, title="Signalperiod", minval=1)
Length2= input(30, title="Info", minval=1)
profit=input(95, title="profit", minval=1)
loss=input(95, title="loss", minval=1)
//f=iff(close>open,close-open,iff(close>open[1],close[1]-open[1],0))
f=0.0
dd1=0.0
dd2=0.0
ff=0.0
ff0=0.0
f:=close-close[1]
ff:=sum(f,Length)
//ff0:=sum(f,Length0)
dd1:=wma(ff,Length1)
dd2:=wma(ff,Length2)
bull=ff<0 and dd1<0 and ff[1]<dd1 and ff>dd1 and abs(ff)>20
bear=ff>0 and dd1>0 and ff[1]>dd1 and ff<dd1 and abs(ff)>20
if(bull)
strategy.entry("long", strategy.long)
strategy.exit("exit", "long", profit = close*profit/1000, loss=close*loss/1000)
strategy.close("long", when = bear)
plotchar(bull,size=size.small,location=location.bottom)
plot(ff,color=black,linewidth=2)
plot(ff0,color=green,linewidth=2)
plot(wma(ff,Length1),color=red,linewidth=2)
plot(wma(ff,Length2),color=blue,linewidth=2)
plot(wma(ff,Length1)-wma(ff,Length2),color=green,style=columns)
plot(0,linewidth=1,color=black)
plot(500,linewidth=1,color=red)
plot(-500,linewidth=1,color=red)