
A estratégia de deslocamento de indicadores aleatórios de deslizamento de indicadores aleatórios baseia-se em indicadores aleatórios tradicionais, com a adição de um parâmetro de peso de índice que pode ajustar a sensibilidade dos indicadores aleatórios, gerando assim um sinal de negociação. Quando o indicador se reverte da zona de sobre-compra, faça mais, quando se reverte da zona de sobre-venda, faça zero.
O núcleo da estratégia de deslocamento de indicadores aleatórios de deslizamento é o parâmetro de peso exponencial ex. A fórmula de cálculo para indicadores aleatórios tradicionais é:
s=100 * (close - 最低价) / (最高价 - 最低价)
Depois de adicionar os parâmetros do índice, a fórmula de cálculo é:
exp= ex<10? (ex)/(10-ex) : 99
s=100 * (close - 最低价) / (最高价 - 最低价)
ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
:-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
Ajustar o valor de exp pode alterar a influência de s sobre s, aumentando o valor de exp torna o indicador menos sensível e diminuindo o valor de exp torna o indicador mais sensível.
Quando ks reverte da zona de sobrecompra gera um sinal de compra; quando ks reverte da zona de sobrevenda gera um sinal de venda.
A estratégia exponencial de smoothed randomization tem as seguintes vantagens em comparação com a estratégia tradicional de randomization:
A estratégia de desvio de indicador aleatório de deslizamento de indicador também apresenta os seguintes riscos:
A estratégia de deslocamento de indicadores aleatórios pode ser otimizada em vários aspectos:
A estratégia de variação de indicadores aleatórios de deslizamento de índice produz um sinal de negociação mais confiável, ajustando a sensibilidade dos indicadores aleatórios. A estratégia pode ser efetivamente seguida em tendências de linha longa, ou pode ser otimizada para estratégias de linha curta.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © faytterro
//@version=5
strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len=input.int(14, "length")
ex=input.int(2, title="exp", minval=1, maxval=10)
exp= ex<10? (ex)/(10-ex) : 99
s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len))
ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 :
-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
plot(ks, color= color.white)
bot=input.int(20)
top=input.int(80)
longCondition = ta.crossover(ks, bot) and bar_index>0
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = ta.crossunder(ks, top) and bar_index>0
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)
// strategy.close("My Long Entry Id")
alertcondition(longCondition, title = "buy")
alertcondition(shortCondition, title = "sell")
h1=hline(top)
h2=hline(bot)
h3=hline(100)
h4=hline(0)
fill(h1,h3, color= color.rgb(255,0,0,200-top*2))
fill(h2,h4, color= color.rgb(0,255,0,bot*2))