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

Tendência Seguindo Estratégia Baseada na Direção do Candlestick

Autora:ChaoZhang, Data: 2024-02-19 10:36:00
Tags:

img

Resumo

Esta estratégia gera sinais longos ou curtos com base na relação entre o preço de fechamento e o preço de abertura dos candelabros para determinar a direção da tendência atual. Especificamente, se o preço de fechamento for maior que o preço de abertura, um sinal longo é gerado. Se o preço de fechamento for menor que o preço de abertura, um sinal curto é gerado.

Estratégia lógica

A estratégia baseia-se principalmente nas seguintes duas condições para gerar sinais de negociação:

  1. Lógico do sinal de entrada: se o preço de fechamento for superior ao preço de abertura (close > open) e tiver atingido a hora de abertura, é gerado um sinal longo.

  2. Condições de saída: ao contrário dos sinais de entrada, se já estiverem longos, a condição de perda é o preço de fechamento abaixo do preço de abertura mais o valor ATR, a condição de lucro é o preço de fechamento superior ao preço de abertura mais o ATR multiplicado pelo rácio de lucro.

Com este design, esta estratégia aproveita as informações direcionais dos candelabros para determinar a direção da tendência e acompanha a tendência em tempo hábil.

Vantagens

A maior vantagem desta estratégia é a forte tendência seguindo a capacidade de utilizar a direção do candelabro. Os sinais de entrada são simples e claros, combinados com a condição da hora de abertura para evitar riscos durante a noite.

Em geral, esta estratégia tem uma reação rápida e uma forte capacidade de rastreamento, adequada para capturar tendências em prazos médios como 1H, 4H.

Riscos

Os principais riscos desta estratégia incluem:

  1. Alta frequência de negociação, facilmente afetada por custos de transação e deslizamento. Pode otimizar ajustando a taxa de lucro.

  2. Os sinais errados podem ocorrer se ocorrer divergência de candelabro.

  3. As configurações dos parâmetros ATR afetam o desempenho de stop loss/take profit.

  4. A definição da hora de abertura também afeta a qualidade do sinal.

Optimização

Considera que esta estratégia pode melhorar ainda mais:

  1. Adicione filtros como médias móveis para lidar com sinais errados de flutuações de preços.

  2. Incorporar o dimensionamento das posições para controlar o tamanho das apostas individuais com base na volatilidade.

  3. Utilize o aprendizado de máquina para otimizar dinamicamente os parâmetros de stop loss/take profit para se adaptar ao mercado.

  4. Julgar o sentimento do mercado utilizando indicadores para gerir a posição geral.

Conclusão

Em resumo, esta estratégia tem uma reação rápida e capta efetivamente tendências. Determina a direção e gera sinais simplesmente com base na relação entre os preços de fechamento e abertura do candelabro. Além disso, o ATR dinâmico é usado para padrões de stop loss / take profit para ajustar o tamanho da posição com base na volatilidade.


/*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
strategy("Go with Trend Strategy", overlay=true)

// Input settings
startHour = input(9, title="Start Hour for Entries")
activateLong = input(true, title="Activate Long")
activateShort = input(true, title="Activate Short")
takeProfitRatio = input(1.5, title="Take Profit Ratio")

// Calculate ATR
atrLength = 14  // You can change this value as needed
atrValue = ta.atr(atrLength)

// Calculate entry conditions
enterLong = close > open and hour >= startHour
enterShort = close < open and hour >= startHour

// Strategy logic
if (activateLong and enterLong)
    strategy.entry("Long", strategy.long)

if (activateShort and enterShort)
    strategy.entry("Short", strategy.short)

// Stop loss and take profit conditions
strategy.exit("Exit Long", from_entry="Long", loss=close - atrValue, profit=close + takeProfitRatio * atrValue)
strategy.exit("Exit Short", from_entry="Short", loss=close + atrValue, profit=close - takeProfitRatio * atrValue)


Mais.