
A estratégia de dupla aleatoriedade tem o objetivo de alcançar um preço baixo e um preço alto através do cálculo do índice aleatório da linha K do período atual e do período K do período múltiplo. A estratégia calcula simultaneamente o indicador aleatório do ciclo atual e o indicador aleatório do ciclo triplo, usando o sinal de forquilha de ouro de indicadores aleatórios de diferentes períodos, para realizar o acompanhamento da tendência.
A estratégia calcula simultaneamente dois grupos de indicadores aleatórios, o primeiro grupo de indicadores aleatórios para o período K linear atual, ou seja, os valores K e D, e o segundo grupo de indicadores aleatórios para 3 vezes o período atual, ou seja, MTFK e MTFD.
Quando o MTFK atravessa a linha 50 e o valor atual de K é maior que o valor de D, um sinal de compra é gerado, indicando que entrou na região de múltiplos cabeças e fez mais; Quando o MTFD atravessa a linha 50 e o valor de K é menor que o valor de D, um sinal de venda é gerado, indicando que entrou na região de cabeças vazias e fez vazio.
Portanto, a estratégia usa um duplo indicador aleatório para determinar a área de vazio, permitindo o acompanhamento da tendência do preço. Faça mais para entrar na área de vazio, faça vazio para entrar na área de vazio, alcançando o efeito de compra e venda de baixo preço.
A estratégia é baseada em uma estratégia de compra de ações que envolve a compra de ações e a compra de ações que envolvem a compra de ações.
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
A Signal Logical é vendida como:
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
Dentre eles, mtfK é o valor de K de 3 vezes o ciclo, mtfD é o valor de D de 3 vezes o ciclo. Quando mtfK atravessa 50 linhas e k> d, um sinal de compra é gerado; Quando mtfD atravessa 50 linhas e k < d, um sinal de venda é gerado.
Além disso, a estratégia também configura a lógica de stop loss. Quando a posição é multi-cabeça, se o mtfD abaixo da trajetória, produz um sinal de parada; Quando a posição é vazia, se o mtfK acima da trajetória, produz um sinal de parada.
A estratégia tem as seguintes vantagens:
Usando indicadores duplos aleatórios, é mais preciso julgar a área com mais espaço. Os indicadores de ciclo atual julgam a tendência de curto prazo, e os indicadores de ciclo grande julgam a tendência de longo prazo. A combinação de indicadores duplos permite uma melhor compreensão da tendência.
A estratégia de negociação de forcas de ouro com diferentes indicadores de ciclo permite um acompanhamento efetivo da tendência dos preços, permitindo baixas e altas vendas.
A configuração de lógica de stop loss permite controlar o risco até certo ponto e evitar a expansão dos prejuízos.
A lógica da estratégia é simples, clara, fácil de entender, adequada para o disco.
A estratégia também tem riscos:
Indicadores duplos aleatórios podem gerar sinais errados, levando a negociações desnecessárias. Por exemplo, eventos surpreendentes podem levar a desvios de tendências de curto e longo prazo.
A configuração inadequada da lógica de parada de perda pode levar à expansão da perda. A distância de parada de perda deve ser razoavelmente definida para evitar ser encaixada.
As taxas de transação de compra e venda frequentes afetam o lucro da estratégia. Os parâmetros devem ser adequadamente ajustados para reduzir as transações desnecessárias.
A estratégia baseia-se apenas em indicadores técnicos, sem a combinação de fatores fundamentais. Deve-se prestar atenção adequada aos fatores fundamentais importantes.
Resolução:
Ajuste adequadamente os parâmetros do indicador de dupla aleatoriedade para reduzir a taxa de falha.
Otimizar a lógica de parada e definir uma distância de parada razoável.
Ajustar os parâmetros para reduzir a frequência de negociação.
O blogueiro também escreveu sobre o assunto:
A estratégia pode ser melhorada em vários aspectos:
Otimizar os parâmetros dos indicadores binários aleatórios, reduzindo a taxa de sinais errados. Pode testar o efeito de diferentes valores de K e D sobre o efeito.
Combinação com outros indicadores de filtragem de sinais. Julgamento auxiliar de indicadores como MACD, média móvel, etc., para evitar sinais errados.
Optimizar a estratégia de stop loss, definir distâncias e proporções de stop loss. Teste se os diferentes pontos de stop loss são capazes de controlar o risco de forma eficaz.
Combinação de indicadores de volume de transação. Estratégias como a ruptura de volume, para evitar transações inválidas em períodos de volatilidade.
Teste diferentes períodos de detenção. O período de detenção é muito curto, os custos de transação afetam o lucro; o período de detenção é muito longo, não é possível parar o prejuízo a tempo.
Combinando fatores básicos, feche a estratégia antes e depois de eventos importantes, para evitar o impacto de eventos.
A estratégia de dupla aleatoriedade, através de indicadores aleatórios do ciclo atual e do ciclo múltiplo, julga a área de vazio, para obter preços baixos e altos. A estratégia possui vantagens como a capacidade de acompanhamento de tendências, a lógica simples e fácil de usar. Mas também existe um certo risco, que requer otimização dos parâmetros e da estratégia de parada, auxiliada por outros indicadores técnicos ou julgamentos fundamentais.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
len = input(54, minval=1, title="Length for Main Stochastic")
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")
// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)
//mtf stochastic calculation smoothed with period
mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)
plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
if (longCondition)
strategy.entry("Lungo", strategy.long)
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
if (shortCondition)
strategy.entry("Corto", strategy.short)
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)
if (exitlong)
strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
strategy.exit("Esci corto","Corto",trail_points=trailStep)
showZones = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule:
bullishRule = k >= mtfD
// bearish signal rule:
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)