Estratégia de micro-lucro baseada em tijolos Renko e indicadores TEMA


Data de criação: 2023-09-20 14:36:46 última modificação: 2023-09-20 14:36:46
cópia: 0 Cliques: 503
1
focar em
1235
Seguidores

Visão geral

A estratégia é uma estratégia de lucro relativamente simples, que utiliza principalmente o Renko Pivot e o indicador TEMA para identificar tendências e realizar negociações de reversão. A lógica da estratégia é simples e intuitiva, obtendo ganhos estáveis através da otimização de parâmetros.

Princípio da estratégia

  1. O uso da linha Renko como substituto da linha K permite uma melhor identificação do movimento dos preços.

  2. O indicador TEMA tem um menor atraso do que o EMA, permitindo uma captura antecipada de uma mudança de tendência.

  3. Quando o TEMA faz mais com o SMA de curto prazo, o RENKO faz a travessia mais confiável.

  4. O preço é superior ao SMA de longo prazo e não retrocede, evitando uma posição excessiva.

  5. O que significa que o seu investimento pode ser reduzido a um mínimo de lucro?

Análise de vantagens

  1. A combinação de Renko e TEMA é simples e eficaz.

  2. Identificar claramente as tendências e evitar transações de conflito repetidas.

  3. A TEMA reduziu os atrasos e permitiu a entrada mais rápida.

  4. Risco de controle de perda de parada razoável.

  5. Apto para transações de pequenas quantias com alta frequência.

Análise de Riscos

  1. O que significa que os investidores não conseguem acumular posições em tempo hábil e não conseguem obter lucros sustentáveis?

  2. Se os parâmetros não forem ajustados corretamente, pode-se perder uma oportunidade de negociação.

  3. A falta de controle sobre o volume de posições unilaterais coloca em risco a expansão de perdas.

  4. É difícil obter lucros suficientes, mas é mais adequado para o pequeno arbitragem.

Direção de otimização

  1. Optimizar os parâmetros SMA e TEMA para encontrar a melhor combinação.

  2. Testar diferentes condições de suspensão e equilibrar benefícios e riscos.

  3. Adição de restrições de abertura de posição, controle de posições unidirecionais.

  4. A combinação de um indicador de volatilidade para definir um ponto de parada.

  5. Avaliação em consonância com outras estratégias para aumentar a rentabilidade.

Resumir

A estratégia usa Renko e TEMA para determinar tendências simples e eficazes, adequadas para arbitragem de pequeno capital de alta frequência, mas com espaço limitado para expandir o lucro. A eficiência pode ser aumentada por meio de otimização de parâmetros e controle de risco, ou pode ser usada em conjunto com outras estratégias, com maior espaço para melhorias.

Código-fonte da estratégia
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TEMA Cross", overlay = true, precision = 7, overlay=true, pyramiding = 100, commission_type = strategy.commission.percent, commission_value = 0.25)

tema(src, len) =>
    3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len)

smma(src, len) =>
    sa = 0.0
    sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len
    sa

temaLength = input(5)
smaLength = input(3)
smmaLength = input(30)
tema1 = tema(close, temaLength)
sma1 = sma(tema1, smaLength)
smma1 = smma(close,smmaLength)


plot(tema1, color = green, title = "TEMA")
plot(sma1, color = orange, title = "SMA")
plot(smma1, color = red, title = "SMMA")

minGainPercent = input(2)
gainMultiplier = minGainPercent * 0.01 + 1

avg_protection = input(1)
gain_protection = input(1)

longCondition = crossover(tema1, sma1) and tema1 < smma1
shortCondition = crossunder(tema1, sma1)

strategy.entry("Buy", strategy.long, qty = 1, when = longCondition and time > timestamp(2017, 9, 22, 4, 20)  and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and time > timestamp(2017, 9, 22, 4, 20) and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))