Estratégia inovadora de dupla via


Data de criação: 2023-09-19 16:27:12 última modificação: 2023-09-19 16:27:12
cópia: 0 Cliques: 644
1
focar em
1617
Seguidores

Visão geral

A estratégia de quebra de dupla rotação baseia-se no preço de abertura e na amplitude de oscilação do dia anterior, para quebrar a rotação superior e a rotação inferior. A estratégia capta oportunidades de negociação de tendências formadas pela quebra.

Princípio da estratégia

  1. Calcule o valor mais alto de HH e o valor mais baixo de LL sobre a linha N-radicada K mais próxima.

  2. Calcule o preço máximo de fechamento HC e o preço mínimo de fechamento LC do dia anterior.

  3. A amplitude de oscilação do dia anterior é maior em HH-LC e HC-LL.

  4. A BuyLine na pista acrescenta k1 ao preço de abertura*Range。

  5. A linha de venda inferior é o preço de abertura menos k2*Range。

  6. Faça mais quando o preço de fechamento está acima do trajeto. Faça menos quando o preço de fechamento está abaixo do trajeto.

Análise de vantagens

Os principais benefícios desta estratégia são:

  1. A oportunidade de negociar uma ruptura de tendência perto do preço de abertura.

  2. A trajetória ascendente e descendente é baseada na configuração automática de flutuações históricas, evitando a subjetividade.

  3. Os valores de k podem ser personalizados para diferentes variedades.

  4. A forma de ruptura é clara e a qualidade do sinal é alta.

  5. Pode definir um ciclo de detenção flexível para capturar diferentes níveis de tendências.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. Não é possível determinar a extensão razoável de subida e descida, existindo o risco de otimização excessiva.

  2. A ruptura pode ser falsa e deve ser definida como um stop loss.

  3. O tempo de retenção fixo não é dinâmico.

  4. O ciclo de resposta é mais curto, podendo ocorrer uma curvatura.

  5. A maioria das transações bilaterais são difíceis de realizar.

Resolução:

  1. Optimizar os parâmetros de k-valores para ampliar o alcance da detecção de dados.

  2. Estabeleça uma posição de parada razoável para controlar a perda individual.

  3. Aumentar o discernimento de tendências e evitar negociações adversas.

  4. Considere reduzir o período de detenção até esse dia.

  5. Verificação em laboratório, expansão de posições em fases.

Direção de otimização

A estratégia pode ser melhorada em alguns pontos:

  1. Ajuste dinâmico do parâmetro k para cima e para baixo.

  2. Indicadores como volume de transações confirmam sinais de ruptura.

  3. Aumentar os lucros com a proteção móvel.

  4. Avaliar a força e a fraqueza da brecha e ajustar o número de apostas.

  5. Distinguir tendências e intervalos, fazer uma análise estratégica.

Resumir

A estratégia de ruptura de duas vias pode capturar oportunidades de negociação de tendência perto do preço de abertura. Mas a configuração de parâmetros e o tempo de manutenção da posição têm um espaço maior para otimização, e o controle de risco deve ser levado em consideração.

Código-fonte da estratégia
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Dual Thrust Strategy",overlay=true,initial_capital=1000)
k1=input(0.67,type=float,step=0.01)
k2=input(0.62,type=float,step=0.01)
TimeFrame=input('240')
len=input(20)
HH=security(syminfo.tickerid,TimeFrame,highest(high,len),barmerge.lookahead_off)
LC=security(syminfo.tickerid,TimeFrame,lowest(close,len),barmerge.lookahead_off)
HC=security(syminfo.tickerid,TimeFrame,highest(close,len),barmerge.lookahead_off)
LL=security(syminfo.tickerid,TimeFrame,lowest(low,len),barmerge.lookahead_off)
Range=max(HH-LC,HC-LL)
BuyLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)+k1*Range
SellLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)-k2*Range
plot(BuyLine,color=blue,linewidth=2,offset=1,transp=70)
plot(SellLine,color=red,linewidth=2,offset=1,transp=70)


LongCondition=crossover(close,BuyLine)
ShortCondition=crossunder(close,SellLine)
strategy.entry("enter long",true,1,when=LongCondition)
strategy.entry("enter short",false,1,when=ShortCondition)
plotshape(LongCondition and strategy.position_size<0?low:na,style=shape.labelup,location=location.absolute,color=blue,text="Long",textcolor=white,size=size.small)
plotshape(ShortCondition and strategy.position_size>0?high:na,style=shape.labeldown,location=location.absolute,color=red,text="Short",textcolor=white,size=size.small)
alertcondition(LongCondition and strategy.position_size<0,title='Long_DT')
alertcondition(ShortCondition and strategy.position_size>0,title='Short_DT')