Estratégia de rompimento de alta e baixa da sessão asiática


Data de criação: 2024-03-29 17:12:49 última modificação: 2024-03-29 17:12:49
cópia: 0 Cliques: 1395
1
focar em
1617
Seguidores

Estratégia de rompimento de alta e baixa da sessão asiática

Visão geral

O principal conceito da estratégia é usar a alta e a baixa do setor asiático como ponto de ruptura, fazendo mais no período de poucas horas após a abertura do setor da Europa e dos EUA, se o preço quebrar a alta do setor asiático, e fechar o setor asiático. Ao mesmo tempo, configure um stop loss e um stop loss e controle o risco. A estratégia abre apenas uma negociação por dia, com o máximo de 100 mil posições abertas ao mesmo tempo.

Princípio da estratégia

  1. Determine o horário de negociação da Plataforma Asiática, permitindo que o usuário possa personalizar o horário de início e fim.
  2. Os preços mais altos e mais baixos do dia foram registrados durante a Pausa Asiática.
  3. Um certo tempo após a abertura do mercado da Europa e dos EUA (o número de horas de desvio personalizado do usuário), se o preço quebrar a alta do mercado da Ásia, faça mais, se ele quebrar a baixa do mercado da Ásia, faça menos.
  4. A configuração de stop loss e stop loss, o número de pontos de stop loss e stop loss pode ser personalizado.
  5. Apenas um novo negócio é aberto por dia e o máximo de posições abertas ao mesmo tempo é de 100.000.
  6. Se já houver uma posição aberta no mesmo dia, não haverá mais negociação.

Análise de vantagens

  1. Aproveitando a tranquilidade relativa do setor asiático, é possível capturar melhor as oportunidades de tendência do setor europeu e norte-americano, com os altos e baixos do setor asiático como pontos de ruptura no dia.
  2. A configuração de Stop Loss e Stop Stop permite controlar o risco de forma eficaz, permitindo que os lucros sejam corridos e os prejuízos sejam eliminados rapidamente.
  3. Limitar-se a abrir apenas uma ordem por dia e o número máximo de posições ao mesmo tempo pode evitar o excesso de negociação e o uso excessivo de fundos.
  4. Os usuários podem definir os parâmetros de tempo de disco asiático e o número de horas de desvio de acordo com suas necessidades.

Análise de Riscos

  1. Os pontos altos e baixos da bolsa asiática não são necessariamente os pontos altos e baixos reais do dia, e é possível que a bolsa da Europa e dos Estados Unidos tenha quebrado e recuado rapidamente, causando perdas.
  2. Os pontos de parada e parada fixos podem não ser capazes de lidar com as grandes flutuações do mercado, às vezes podem parar prematuramente, às vezes podem parar prematuramente.
  3. A estratégia pode ocorrer com frequência em situações de parada de perda em que a tendência não é clara ou a volatilidade do mercado é grande.

Direção de otimização

  1. Pode-se considerar a possibilidade de ajustar dinamicamente os pontos de stop loss e stop loss de acordo com os indicadores de volatilidade, como o ATR, para adaptá-los a diferentes situações.
  2. Pode-se adicionar alguns indicadores de julgamento de tendências, como MA, apenas fazer mais quando a tendência é alta, e fazer espaço quando a tendência é baixa, para aumentar a taxa de sucesso.
  3. Pode-se considerar a configuração de diferentes parâmetros em intervalos de tempo, como o uso de um stop loss menor no início da abertura do mercado na Europa e nos EUA, e um stop loss maior quando a tendência é evidente.

Resumir

A estratégia utiliza os altos e baixos da tabela asiática como pontos de ruptura para a negociação, e é adequada para uso em variedades onde a tendência da tabela euro-americana é mais evidente. No entanto, há algumas limitações nas paradas de perda de pontos fixos e nos métodos padrão de entrada de ruptura. A estratégia pode ser otimizada com a intenção de obter melhores resultados com a introdução de alguns indicadores dinâmicos e tendenciais.

Código-fonte da estratégia
/*backtest
start: 2024-02-27 00:00:00
end: 2024-03-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Asia Session", overlay=true)

var hourSessionStart = input(19, "Asia session start hour", minval=0, maxval=23)
var hourSessionStop  = input(1, "Asia session end hour", minval=0, maxval=23)
var offsetHours = input(3, "Offset hours after Asia session end")

var float hi              = na
var float lo              = na
var float plotHi          = na
var float plotLo          = na

var bool  inSession       = na
var bool  enteringSession = na
var bool  exitingSession  = na

inSession       := (hour >= hourSessionStart or hour < hourSessionStop)
enteringSession := inSession and not inSession[1]
exitingSession  := not inSession and inSession[1]

if enteringSession
    plotLo := na
    plotHi := na

if inSession
    lo := min(low,  nz(lo, 1.0e23))
    hi := max(high, nz(hi))

if exitingSession
    plotLo := lo
    plotHi := hi
    lo     := na
    hi     := na

bgcolor(inSession ? color.blue : na)

plot(plotLo, "Asia session Low",  color.red,   style=plot.style_linebr)
plot(plotHi, "Asia session High", color.green, style=plot.style_linebr)

// Implementazione delle condizioni di entrata
var float asiaSessionLow = na
var float asiaSessionHigh = na
var int maxTrades = 100000 // Impostiamo il massimo numero di operazioni contemporanee
var int tradesOpened = 0 // Variabile per tenere traccia del numero di operazioni aperte
var bool tradeOpened = false
var bool operationClosed = false // Nuova variabile per tenere traccia dello stato di chiusura dell'operazione

// Calcolo del range asiatico
if (inSession)
    asiaSessionLow := lo
    asiaSessionHigh := hi

// Apertura di un solo trade al giorno
if (enteringSession)
    tradeOpened := false

// Condizioni di entrata
var float stopLoss = 300 * syminfo.mintick
var float takeProfit = 300 * syminfo.mintick

if (not tradeOpened and not operationClosed and close < asiaSessionLow and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours)
    strategy.entry("Buy", strategy.long)
    tradeOpened := true
    tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte

if (not tradeOpened and not operationClosed and close > asiaSessionHigh and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours)
    strategy.entry("Sell", strategy.short)
    tradeOpened := true
    tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte

// Impostazione dello stop loss e del take profit
strategy.exit("Stop Loss / Take Profit", "Buy", stop=close - stopLoss, limit=close + takeProfit)
strategy.exit("Stop Loss / Take Profit", "Sell", stop=close + stopLoss, limit=close - takeProfit)