Super Tendência Seguindo a Estratégia Baseada em Médias Móveis

Autora:ChaoZhang, Data: 2024-02-05 11:10:41
Tags:

img

Resumo

Esta estratégia é uma estratégia típica de tendência seguinte. Ela usa vários conjuntos de médias móveis com períodos diferentes para determinar a tendência do mercado.

Princípio da estratégia

A estratégia utiliza 4 grupos de médias móveis: linhas de 9 dias, 21 dias, 50 dias e 200 dias.

Quando a média móvel de curto prazo cruza a média móvel de longo prazo para cima, determina-se que o mercado entra em uma tendência de alta.

A estratégia utiliza o MA de 9 dias como referência para observar o alinhamento dos outros MA, julgando assim a direcção geral da tendência.

Condições de entrada prolongada: fechar > MA de 9 dias e MA de 9 dias > MA de 21 dias e MA de 21 dias > MA de 50 dias e MA de 50 dias > MA de 200 dias.

Condições de entrada de curta duração: MA próxima < 9 dias e MA de 9 dias < 21 dias e MA de 21 dias < 50 dias e MA de 50 dias < 200 dias.

Aqui, a relação entre o preço de fechamento e o MA de 9 dias determina a tendência de curto prazo, enquanto que entre o MA de 9 e 21 dias julga a tendência de curto prazo, a tendência de médio prazo de 21 dias e 50 dias, a tendência de longo prazo de 50 dias e 200 dias.

Condições de saída: fechamento do preço abaixo da MA de 21 dias, nivelamento de todas as posições longas; cruzamento acima da MA de 21 dias, nivelamento de todas as posições curtas.

Vantagens da estratégia

  1. A adoção de vários MAs para determinar a tendência pode filtrar os ruídos do mercado de movimentos não convencionais e capturar tendências de médio a longo prazo.

  2. As condições de entrada mais rigorosas exigem que os juízos sejam válidos em diferentes prazos, evitando-se ficarem presos por correcções a curto prazo.

  3. O stop loss oportuno ajuda a controlar eficazmente os riscos.

Riscos e soluções

  1. Em mercados de longo prazo, podem ocorrer sinais falsos excessivos e aumentar os riscos de negociação.

  2. Durante tendências violentas, cruzes de MA acontecem com frequência. Outros fatores são necessários para determinar a tendência real, por exemplo, combinando indicadores como RSI e MACD para confirmação, no caso de movimentos fortes serem perdidos.

Orientações de otimização

  1. Optimização de parâmetros. Teste diferentes combinações de parâmetros para descobrir o ideal. Como ajustar os períodos de MA, adicionar ou modificar critérios de stop loss, etc.

  2. Melhorar o filtro de qualidade, por exemplo, verificar se o volume aumenta na entrada para evitar um momento insuficiente ou examinar a volatilidade para evitar oscilações.

  3. Introduzir a confirmação de indicadores mais técnicos para evitar sinais errados em meio a movimentos ferozes do mercado.

Resumo

No geral, esta é uma estratégia típica e prática de tendência. Adota vários MA para determinar tendências, tem regras de entrada rígidas para bloquear tendências de médio a longo prazo. Junto com o stop loss oportuno, ajuda a controlar riscos. Melhorias adicionais na estabilidade e lucratividade podem ser alcançadas por meio de maneiras como otimização de parâmetros e adição de indicadores de confirmação.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shayak1

//@version=5
strategy('Super SR', overlay=true)

r = input.int(14,"rsi-length",1,100)
rsi = ta.rsi(close,r)

len1 = 9
len2 = 21
len3 = 50
len4 = 200

ema1 = ta.ema(close, len1)
ema2 = ta.ema(close, len2)
ema3 = ta.ema(close, len3)
ema4 = ta.ema(close, len4)

plot(ema1,color= color.green)
plot(ema2,color= color.yellow)
plot(ema3,color= color.orange)
plot(ema4,color= color.red)


// *** entries 
Long1 = close > ema1
Long2 = ema1 > ema2
Long3 = ema2 > ema3
Long4 = ema3 > ema4
buy_condition = Long1 and Long2 and Long3 and Long4 and strategy.position_size == 0

if (buy_condition and strategy.position_size <= 1)
    strategy.entry("B", strategy.long)

Short1 = close < ema1
Short2 = ema1< ema2
Short3 = ema2< ema3
Short4 = ema3< ema4
sell_condition = Short1 and Short2 and Short3 and Short4 and strategy.position_size == 0

//if (sell_condition)
//    strategy.entry("S", strategy.short)

// trailing SL
//Long_sl = min(strategy.position_avg_price * 0.95, strategy.pos


//EXIT CONDITIONS

exit_long = ta.crossunder(close, ema2)
exit_short = ta.crossover(close, ema2)

if(exit_long)
    strategy.close("B", "LE", qty_percent=100)
if(exit_short)
    strategy.close("S", "SE", qty_percent=100)

//==============================================================================
//INSERT SECTION
//This section is where users will be required to insert the indicators they
//would like to use for their NNFX Strategy.
//==============================================================================
//INSERT - CONFIRMATION INDICATOR 1
//==============================================================================


//==============================================================================
//INSERT - CONFIRMATION INDICATOR 2
//==============================================================================


//==============================================================================
//INSERT - VOLUME INDICATOR
//==============================================================================


//==============================================================================
//INSERT - BASELINE INDICATOR
//==============================================================================


//==============================================================================
//INSERT - EXIT INDICATOR
//==============================================================================


//==============================================================================
//INSERT - CONTINUATION TRADES INDICATOR
//==============================================================================


//==============================================================================
//COMPLETED SECTION
//This section has been optimised to work with the above indicators the user
//has inserted above. The user does not require to change any code below and
//is completed and optimised for the full NNFX strategy. Users may wish to 
//customise this section of code if they wish to alter the NNFX strategy.
//==============================================================================
//COMPLETE - BACKTEST DATE RANGE
//==============================================================================
// start_day = input.int(1,"start day",1,31)
// start_month = input.int(1,"start month",1,12)
// start_year = input.int(1,"start year",2010,2023)



//==============================================================================
//COMPLETE - CURRENCY CONVERSION
//==============================================================================


//==============================================================================
//COMPLETE - ATR MONEY MANAGEMENT
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - C1
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - C2
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Vol
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Bl
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Exit
//==============================================================================


//==============================================================================
//COMPLETE - CONTINUATION TRADES
//==============================================================================


//==============================================================================
//COMPLETE - ONE CANDLE RULE
//==============================================================================


//==============================================================================
//COMPLETE - BRIDGE TOO FAR
//==============================================================================


//==============================================================================
//COMPLETE - BASELINE AND ATR RULE
//==============================================================================


//==============================================================================
//COMPLETE - ENTRY CONDITIONS
//==============================================================================


//==============================================================================
//COMPLETE - ENTRY ORDERS
//==============================================================================


//==============================================================================
//COMPLETE - TAKE PROFIT AND STOP LOSS CONDITIONS
//==============================================================================


//==============================================================================
//COMPLETE - EXIT ORDERS
//==============================================================================


//==============================================================================
//COMPLETE - CLOSE ORDERS
//==============================================================================


//==============================================================================

Mais.