O recurso está a ser carregado... Carregamento...

Estratégia de negociação equilibrada com retorno de lucro adaptativo e stop-loss

Autora:ChaoZhang, Data: 2024-12-12 14:25:36
Tags:OCAGAP

img

Resumo

Esta estratégia é um sistema de negociação adaptável baseado em lacunas e movimentos de preços, alcançando retornos estáveis através de pontos de entrada flexíveis e configurações dinâmicas de take-profit / stop-loss.

Princípios de estratégia

A estratégia funciona através de vários mecanismos essenciais:

  1. Mecanismo de negociação de lacunas: identifica as lacunas ascendentes e descendentes, colocando ordens de parada nos níveis de lacunas
  2. Seguimento da tendência: Determina a direção da tendência com base na relação entre os preços de abertura e fechamento
  3. Piramidagem: permite até 100 ordens na mesma direção
  4. TP/SL dinâmico: define os níveis de take-profit e stop-loss de forma dinâmica com base no preço médio da posição
  5. Gerenciamento de ordens da OCA: utiliza grupos de ordens da OCA para garantir a exclusividade mútua das ordens TP e SL
  6. Limites de negociação intradiária: Controla o risco através da definição de ordens máximas executadas intradiariamente

Vantagens da estratégia

  1. Alta adaptabilidade: A estratégia ajusta automaticamente a direcção da negociação e o tamanho da posição com base nas condições do mercado
  2. O risco de crédito deve ser calculado de acordo com o método de classificação do risco de crédito.
  3. Alta flexibilidade: Apoia a pirâmide para obter mais lucros nos mercados de tendência
  4. Alta eficiência de execução: utiliza ordens de parada para a construção rápida de posições em níveis de preço chave
  5. Alta sistematização: decisões comerciais totalmente sistemáticas reduzem a interferência emocional

Riscos estratégicos

  1. Risco de deslizamento: pode enfrentar deslizamentos significativos em mercados em rápida evolução
  2. Risco de excesso de negociação: entradas e saídas frequentes podem levar a custos elevados de transacção
  3. Risco sistemático: pode sofrer perdas maiores em mercados altamente voláteis
  4. Risco de gestão de capital: a pirâmide pode conduzir a uma utilização excessiva do capital
  5. Risco técnico: as interrupções do programa podem causar problemas de gestão de pedidos

Orientações para a otimização da estratégia

  1. Incorporar indicadores de volatilidade: ajustar dinamicamente os parâmetros TP/SL com base na volatilidade do mercado
  2. Otimizar o mecanismo de pirâmide: conceber regras mais detalhadas de dimensionamento das posições para evitar o uso excessivo de capital
  3. Melhorar o controlo do risco: adicionar mais indicadores de controlo do risco, como os limites máximos de utilização intradiária
  4. Melhorar a execução de ordens: Otimizar o mecanismo de progressão de ordens para reduzir o impacto do deslizamento
  5. Adicionar análise do sentimento de mercado: otimizar o calendário de entrada incorporando volume e outros indicadores

Resumo

Esta é uma estratégia de negociação bem concebida com lógica rigorosa, garantindo a estabilidade e segurança da negociação através de múltiplos mecanismos. As principais vantagens estão em sua capacidade de adaptabilidade e controle de riscos, enquanto a atenção deve ser dada aos riscos da volatilidade do mercado. Através da otimização e melhoria contínuas, a estratégia tem o potencial de manter um desempenho estável em diferentes ambientes de mercado.


/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
backtestStartDate = input(timestamp("1 Jan 1990"),
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2023"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
inTradeWindow = true
tp = input(10)
sl = input(10)
maxidf = input(title="Max Intraday Filled Orders", defval=5)
// strategy.risk.max_intraday_filled_orders(maxidf)
upGap = open > high[1]
dnGap = open < low[1]
dn = strategy.position_size < 0 and open > close
up = strategy.position_size > 0 and open < close
if inTradeWindow and upGap
    strategy.entry("GapUp", strategy.long, stop = high[1])
else
    strategy.cancel("GapUp")
if inTradeWindow and dn
    strategy.entry("Dn", strategy.short, stop = close)
else
    strategy.cancel("Dn")
if inTradeWindow and dnGap
    strategy.entry("GapDn", strategy.short, stop = low[1])
else
    strategy.cancel("GapDn")
if inTradeWindow and up
    strategy.entry("Up", strategy.long, stop = close)
else
    strategy.cancel("Up")
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
dir = strategy.position_size < 0 ? -1 : 1
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
slP = strategy.position_avg_price - dir*sl*syminfo.mintick
float nav = na
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false)
if inTradeWindow and not revCond and XQty > 0
    strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL",  "TPSL")
    strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL")
if XQty == 0 or revCond
    strategy.cancel("TP")
    strategy.cancel("SL")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Relacionados

Mais.