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

Estratégia de ruptura intradiária baseada em pontos baixos de 3 minutos

Autora:ChaoZhang, Data: 2024-06-14 15:43:42
Tags:MAEMA

img

Resumo

A estratégia é baseada em uma estratégia de alta e baixa taxa de câmbio, que consiste em usar os pontos altos e baixos da vela de três minutos como pontos de ruptura. Quando o preço atravessa o alto da vela de três minutos, ele vai longo e quando ele atravessa o baixo, ele vai curto. Esta estratégia é adequada para negociação intradiária, fechando posições no final de cada dia e continuando a negociar no dia seguinte. A vantagem desta estratégia é que é simples, fácil de entender e fácil de implementar, com risco relativamente baixo.

Princípio da estratégia

  1. Obter os dados do candelabro para os primeiros três minutos após a abertura do mercado a cada dia, e registrar os preços mais altos e mais baixos da terceira vela.
  2. Quando o preço ultrapassar o preço mais alto da terceira vela, abra uma posição longa com um preço-alvo 100 pontos acima do preço de abertura e feche a posição no final do dia ou quando o preço-alvo for atingido.
  3. Quando o preço ultrapassar o preço mais baixo da terceira vela, abrir uma posição curta com um preço alvo 100 pontos abaixo do preço de abertura e fechar a posição no final do dia ou quando o preço alvo for atingido.
  4. Fechar todas as posições no final de cada dia e continuar a negociar no dia seguinte.

Vantagens da estratégia

  1. Simples e fáceis de compreender e implementar.
  2. Adequado para negociações intradiárias com elevada utilização de capital.
  3. Relativamente baixo risco com posições de stop loss claras.
  4. Adequado para mercados com fortes tendências.

Riscos estratégicos

  1. Pode sofrer grandes saques quando a volatilidade do mercado for elevada.
  2. Risco elevado durante o período de abertura, quando as flutuações de preços são elevadas.
  3. Difícil de entender a posição do ponto de fuga, fácil de julgar mal.

Direcção de otimização da estratégia

  1. Considere adicionar indicadores como médias móveis para filtrar sinais de ruído em mercados oscilantes.
  2. Considere otimizar o tempo de abertura para evitar o período de abertura.
  3. Considerar a otimização dos pontos de take-profit e stop-loss para melhorar a estabilidade da estratégia.
  4. Considere a possibilidade de adicionar a gestão de posições para controlar o risco de retirada.

Resumo

Esta estratégia é baseada na ruptura dos pontos altos e baixos da vela de três minutos e é adequada para negociação intradiária. A vantagem é que é simples, fácil de entender e fácil de implementar, com risco relativamente baixo. No entanto, também há alguns riscos, como a possibilidade de grandes retrações quando a volatilidade do mercado é alta. Para melhorar a estabilidade e lucratividade da estratégia, considere otimizá-la em termos de filtragem de sinais, otimização de tempos de abertura, otimização de pontos de take-profit e stop-loss e adição de gerenciamento de posição.


/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Banknifty Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
start_date = input(timestamp("2024-01-01 00:00"), title="Start Date")
end_date = input(timestamp("2024-06-07 23:59"), title="End Date")

// Time settings
var startTime = timestamp("2024-06-09 09:15")
var endTime = timestamp("2024-06-09 09:24")

// Variables to store the 3rd 3-minute candle
var bool isCandleFound = false
var float thirdCandleHigh = na
var float thirdCandleLow = na
var float baseCandleHigh = na
var float baseCandleLow = na
var float entryPrice = na
var float targetPrice = na

// Check if the current time is within the specified date range
inDateRange = true

// Capture the 3rd 3-minute candle
if (inDateRange and not isCandleFound)
    var int candleCount = 0
    if (true)
        candleCount := candleCount + 1
        if (candleCount == 3)
            thirdCandleHigh := high
            thirdCandleLow := low
            isCandleFound := true

// Wait for a candle to close above the high of the 3rd 3-minute candle
if (isCandleFound and na(baseCandleHigh) and close > thirdCandleHigh)
    baseCandleHigh := close
    baseCandleLow := low

// Strategy logic for buying and selling
if (not na(baseCandleHigh))
    // Buy condition
    if (high > baseCandleHigh and strategy.opentrades == 0)
        entryPrice := high
        targetPrice := entryPrice + 100
        strategy.entry("Buy", strategy.long, limit=entryPrice)
    // Sell condition
    if (low < baseCandleLow and strategy.opentrades == 0)
        entryPrice := low
        targetPrice := entryPrice - 100
        strategy.entry("Sell", strategy.short, limit=entryPrice)

// Exit conditions
if (strategy.opentrades > 0)
    // Exit BUY trade when profit is 100 points or carry forward to next day
    if (strategy.position_size > 0 and high >= targetPrice)
        strategy.exit("Take Profit", from_entry="Buy", limit=targetPrice)
    // Exit SELL trade when profit is 100 points or carry forward to next day
    if (strategy.position_size < 0 and low <= targetPrice)
        strategy.exit("Take Profit", from_entry="Sell", limit=targetPrice)

// Close trades at the end of the day
if (time == timestamp("2024-06-09 15:30"))
    strategy.close("Buy", comment="Market Close")
    strategy.close("Sell", comment="Market Close")

// Plotting for visualization
plotshape(series=isCandleFound, location=location.belowbar, color=color.red, style=shape.labeldown, text="3rd 3-min candle")
plot(baseCandleHigh, title="Base Candle High", color=color.green, linewidth=2, style=plot.style_line)
plot(baseCandleLow, title="Base Candle Low", color=color.red, linewidth=2, style=plot.style_line)


Relacionados

Mais.