Estratégia de cor da vela da meia-noite com stop loss e take profit

Autora:ChaoZhang, Data: 2024-01-05 16:37:35
Tags:

img

Resumo

Esta estratégia opera com base na cor da vela da meia-noite com um atraso de 1 hora, analisando a cor da vela da meia-noite 0 do dia anterior para determinar a direção da negociação às 1 horas do dia seguinte.

Estratégia lógica

A lógica central desta estratégia baseia-se no "efeito meia-noite" nos mercados, onde a cor da vela das 0 horas do dia anterior representa o sentimento geral do mercado e pode ser usada para determinar a direção do mercado após a abertura do dia seguinte.

Especificamente, a estratégia julga primeiro se a vela atual é uma vela de 0 horas. Se sim, registre-a como verde se o fechamento for maior que o aberto, caso contrário vermelho. Na próxima barra às 1 horas, vá longo / curto de acordo com a cor da vela de 0 horas do dia anterior, com stop loss e take profit definidos.

Ao atrasar a entrada por 1 hora, impede que o preço volátil à meia-noite afete a entrada no mercado.

Vantagens

  1. Lógica simples usando a cor da vela 0h00 para determinar a direcção do mercado
  2. O atraso de entrada de 1 hora evita o risco volátil de preços da meia-noite
  3. Configurar stop loss e take profit para limitar perdas e garantir lucros

Riscos

  1. A cor das velas das 0h00 pode não representar plenamente a tendência do mercado do dia seguinte com alguma incerteza
  2. Não considera o risco de grandes oscilações súbitas de preços devido a grandes acontecimentos económicos, etc.
  3. Stop loss e take profit necessitam de otimização e testes contínuos, caso contrário o risco de serem apanhados ou de lucro limitado

Áreas de melhoria

  1. Combinar mais fatores para julgar a eficácia da indicação da vela 0h, por exemplo, volume, intervalo etc.
  2. Teste diferentes atrasos de entrada, tais como 2 horas, 3 horas, etc.
  3. Ajuste dinâmico do stop loss e do take profit para melhor adaptar-se à volatilidade do mercado

Resumo

A estratégia tem uma lógica clara e simples, julgando a direção do dia seguinte pela cor da vela de 0 horas e controlando os riscos com stop loss/take profit.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Midnight Candle Color Strategy with 1-Hour Delay and SL/TP", shorttitle="12AM +1H SL/TP Strat", overlay=true)

// Adjust for New York time (UTC-5 or UTC-4 for Daylight Saving Time)
// Assuming UTC-5 for now; adjust as necessary for Daylight Saving Time
nyHour(hour) => (hour - 5) % 24

// Function to check if the current bar is the 12:00 AM New York time bar
isMidnightBar() =>
    nyHour(hour) == 0 and minute == 0

// Function to check if the current bar is the 1:00 AM New York time bar (1 hour after midnight)
is1AMBar() =>
    nyHour(hour) == 1 and minute == 0

// Variable to store the color of the previous day's midnight candle
var color midnightCandleColorPrevDay = na

// Determine the color of the previous day's midnight candle
if isMidnightBar()
    midnightCandleColorPrevDay := close[1] > open[1] ? color.green : color.red

// Strategy execution at 1:00 AM based on the color of the previous day's midnight candle
if is1AMBar()
    if midnightCandleColorPrevDay == color.green
        strategy.entry("Long", strategy.long)
        strategy.exit("Take Profit", "Long", limit=close + 57 * syminfo.mintick, stop=close - 200 * syminfo.mintick)
    if midnightCandleColorPrevDay == color.red
        strategy.entry("Short", strategy.short)
        strategy.exit("Take Profit", "Short", limit=close - 50 * syminfo.mintick, stop=close + 200 * syminfo.mintick)

// Optional: Plot a marker for visualization
plotshape(series=isMidnightBar(), style=shape.triangleup, location=location.belowbar, color=color.new(midnightCandleColorPrevDay, 90), size=size.small)
plotshape(series=is1AMBar(), style=shape.triangledown, location=location.abovebar, color=color.blue, size=size.small)


Mais.