Estratégia de negociação de abertura alta e fechamento baixa


Data de criação: 2024-02-02 12:03:45 última modificação: 2024-02-02 12:03:45
cópia: 0 Cliques: 905
1
focar em
1617
Seguidores

Estratégia de negociação de abertura alta e fechamento baixa

Visão geral

A estratégia de negociação de posições abertas, com alta e baixa, é uma estratégia de negociação de seguimento de tendências. A estratégia identifica a direção da tendência de curto prazo dos preços, julgando a relação entre o preço de abertura e o preço de fechamento da linha K.

Princípio da estratégia

Esta estratégia determina principalmente a relação entre o preço de abertura e o preço de fechamento da linha K, gerando um sinal de multiplicação quando o preço de abertura é igual ao preço mínimo; quando o preço de abertura é igual ao preço máximo, gerando um sinal de fechamento. Assim, pode-se capturar a brecha de curto prazo do preço e acompanhar a tendência.

Depois de entrar em um sinal, você abrirá uma posição imediatamente usando uma quantidade fixa de posições. O ponto de parada será baseado na configuração do indicador ATR e acompanhará as flutuações do mercado. O objetivo de parada é a parte proporcional do RR da distância entre o ponto de parada e o preço de entrada. Quando o preço toca o ponto de parada ou o objetivo de parada, será interrompido ou interrompido a tempo.

A estratégia também elimina todas as posições em pontos de tempo definidos pelo usuário, como meia hora antes do fechamento do mercado americano, para evitar o risco de grandes flutuações durante a noite.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Usando a relação entre o preço de abertura e o preço de fechamento para determinar a direção da tendência, é possível identificar rapidamente brechas de curto prazo nos preços.

  2. Os sinais de entrada são simples, claros e fáceis de implementar.

  3. O Stop Loss e o Stop Stop são aplicados em tempo hábil para bloquear o lucro e evitar a expansão dos prejuízos.

  4. A obrigação de manter a posição baixa em um determinado período de tempo evita o risco de flutuações noturnas.

  5. Não há necessidade de escolher uma variedade específica de negociação, que se aplica a mercados como divisas, ações e criptomoedas.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. O ATR é usado para parar os danos, que podem ocorrer com frequência em situações de tremores.

  2. A hipótese de uma sobre-configuração não tem em conta a variedade de transações e as características do período de tempo.

  3. A meta de stop-loss fixa pode não corresponder às condições do mercado e não ser sustentável.

  4. O que está acontecendo é que os investidores estão perdendo oportunidades de tendência ou sofrendo perdas adicionais.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Otimização de stop loss, uso de stop loss de retenção em situações de tendência, uso de stop loss pendente em situações de choque, etc.

  2. Adição de filtros, combinados com indicadores de tendência, para determinar o momento de entrada e evitar falsas rupturas.

  3. Ajustar dinamicamente a posição de parada para determinar a distância de parada razoável de acordo com a volatilidade do mercado.

  4. Optimizar o tempo de liquidação, escolher o tempo de liquidação adequado para diferentes tipos de transações e regiões.

Resumir

A estratégia de negociação de abertura de posição alta, fechamento de posição baixa e simples estabelece posições rapidamente, determinando facilmente a tendência de preços de curto prazo. Tem vantagens claras de entrada simples e parada de parada. Mas também há alguns aspectos que podem ser otimizados, como métodos de parada de perda, sinais de filtragem, etc.

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

//@version=5
// Open-High-Low strategy

strategy('Strategy: OLH', shorttitle="OLH", overlay=true)

// Inputs
slAtrLen = input.int(defval=14, title="ATR Period for placing SL", group="StopLoss settings")
showSLLines = input.bool(defval=false, title="Show SL lines in chart", tooltip="Show SL lines also as dotted lines in chart. Note: chart may look untidy.", group="Stolploss settings")
// Trade related
rrRatio = input.float(title='Risk:Reward', step=0.1, defval=2.0, group="Trade settings")
endOfDay = input.int(defval=1500, title="Close all trades, default is 3:00 PM, 1500 hours (integer)", group="Trade settings")
mktAlwaysOn = input.bool(defval=true, title="Markets that never closed (Crypto, Forex, Commodity)", tooltip="Some markers never closes. For those cases, make this checked.", group="Trade settings")
lotSize = input.int(title='Lot Size', step=1, defval=1, group="Trade settings")


// Utils
green(open, close) => close > open ? true : false
red(open, close) => close < open ? true : false
body(open, close) => math.abs(open - close)
lowerwick = green(open, close) ? open - low : close - low
upperwick = green(open, close) ? high - close : high - open
crange = high - low
crangep = high[1] - low[1] // previous candle's candle-range
bullish = close > open ? true : false
bearish = close < open ? true : false


// Trade signals
longCond = barstate.isconfirmed and (open == low)
shortCond = barstate.isconfirmed and (open == high)

// For SL calculation
atr = ta.atr(slAtrLen)
highestHigh = ta.highest(high, 7)
lowestLow = ta.lowest(low, 7)
longStop = showSLLines ? lowestLow - (atr * 1) : na
shortStop = showSLLines ? highestHigh + (atr * 1) : na
plot(longStop, title="Buy SL", color=color.green, style=plot.style_cross)
plot(shortStop, title="Sell SL", color=color.red, style=plot.style_cross)

// Trade execute
h = hour(time('1'), syminfo.timezone)
m = minute(time('1'), syminfo.timezone)
hourVal = h * 100 + m
totalTrades = strategy.opentrades + strategy.closedtrades
if (mktAlwaysOn or (hourVal < endOfDay))
    // Entry
    var float sl = na
    var float target = na
    if (longCond)
        strategy.entry("enter long", strategy.long, lotSize, limit=na, stop=na, comment="Enter Long")
        sl := longStop
        target := close + ((close - longStop) * rrRatio)
        alert('Buy:' + syminfo.ticker + ' ,SL:' + str.tostring(math.floor(sl)) + ', Target:' + str.tostring(target), alert.freq_once_per_bar)
    if (shortCond)
        strategy.entry("enter short", strategy.short, lotSize, limit=na, stop=na, comment="Enter Short")
        sl := shortStop
        target := close - ((shortStop - close) * rrRatio)
        alert('Sell:' + syminfo.ticker + ' ,SL:' + str.tostring(math.floor(sl)) + ', Target:' + str.tostring(target), alert.freq_once_per_bar)

    // Exit: target or SL
    if ((close >= target) or (close <= sl))
        strategy.close("enter long", comment=close < sl ? "Long SL hit" : "Long target hit")
    if ((close <= target) or (close >= sl))
        strategy.close("enter short", comment=close > sl ? "Short SL hit" : "Short target hit")
else if (not mktAlwaysOn)
    // Close all open position at the end if Day
    strategy.close_all(comment = "Close all entries at end of day.")