Estratégia de média móvel MA de movimento relativo verdadeiro


Data de criação: 2024-01-30 16:04:19 última modificação: 2024-01-30 16:04:19
cópia: 0 Cliques: 698
1
focar em
1617
Seguidores

Estratégia de média móvel MA de movimento relativo verdadeiro

Visão geral

A TRMMA é uma estratégia de acompanhamento de tendências que combina o índice de força relativa (RSI) e o índice de força real (TSI). Utiliza os indicadores RSI e TSI como sinais de compra e venda, auxiliando a otimização da estratégia com a média móvel.

Princípio da estratégia

A estratégia é dividida em:

  1. Cálculo de TSI Calcula-se o valor de alinhamento do índice da taxa de variação de preços através de um alinhamento duplo do índice e, em seguida, divide-se o valor de alinhamento do índice pelo valor absoluto da taxa de variação de preços, obtendo o indicador TSI. O período longo é de 25 dias, o curto de 5 dias e o sinal de 14 dias.

  2. Cálculo do RSI Indicador RSI de 5 de comprimento, com o preço de entrada de fechamento.

  3. Juízo de sinais Quando o TSI atravessa a sua linha de sinal e o RSI atravessa 50, é um sinal de compra. Quando o TSI atravessa a sua linha de sinal e o RSI atravessa 50, é um sinal de venda.

  4. Cor da linha K A linha K é colorida de acordo com o julgamento do sinal, julgamento auxiliar.

  5. Parâmetros de estratégia Configure os parâmetros de proporção de posição e capital.

Análise de vantagens

A estratégia combina os dois indicadores TSI e RSI para determinar a tendência do mercado e os casos de sobrecompra e sobrevenda, gerando sinais de negociação. Além disso, a estratégia usa uma configuração mais radical dos parâmetros TSI e RSI em comparação com os parâmetros padrão para obter sinais de negociação mais cedo e de melhor qualidade.

Análise de Riscos

A estratégia tem os seguintes riscos:

  1. Risco de otimização de parâmetros. Os parâmetros ótimos do TSI e do RSI podem variar de acordo com o mercado, a variedade e o período.

  2. Risco de reversão de tendência. A estratégia em si é focada na tendência e, se um evento inesperado causar uma correção de curto prazo ou uma reversão de tendência de médio a longo prazo, a estratégia enfrentará grandes perdas.

  3. Risco de frequência de sinais. Em comparação com os parâmetros padrão, esta estratégia usa uma configuração de parâmetros mais radical, que pode gerar sinais de negociação mais freqüentes, resultando em custos de negociação mais elevados e dificuldade de implementação.

Direção de otimização

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

  1. Indicadores como a média móvel são usados para filtrar ainda mais os sinais, o que reduz a frequência de transações.

  2. Teste a combinação ideal de parâmetros TSI e RSI em diferentes mercados e variedades, procurando a melhor configuração de parâmetros.

  3. Aumentar a estratégia de stop loss para controlar o risco de perdas individuais.

  4. Optimizar a gestão de posições, aumentando as posições quando a tendência é forte e diminuindo as posições quando a tendência se enfraquece.

Resumir

A estratégia TRMMA, combinada com o indicador TSI e o RSI para determinar o momento de compra e venda, tem uma forte capacidade de captura de tendências. Comparado ao uso de TSI ou RSI isoladamente, pode filtrar eficazmente os sinais falsos. A estabilidade da estratégia pode ser aumentada ainda mais por meio de otimização de parâmetros, estratégia de parada de perdas e gerenciamento de posição.

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

// "True relative Movement" or "TRM" for short is a system that combines my two favorite indicators: RSI and TSI. I strived to put together an indicator that combined the best of both 
// in order to help discretionary traders predict market direction, weakness and strength. As with most technical indicators there are "Buy and sell" signals. Similiar to Elder Impulse system, 
///TRM paints bars 3 different colors to display 3 different conditions: Blue for "Buy", Pink for "Sell", and gray for "Take profit/Hold". When the bars turn blue, that means all conditions
/// have been met. When they turn pink, no conditions have been met. When they are gray, only one condition has been met. The system is simple, yet effective. A buy signal is prodcued when 
/// TSI is above the signal line, and RSI is above 50, and vice versa for sell signals. I have modified the default parameters for TSI and RSI for more "aggressive" entries and exits. I may later on
/// name this condition "Fast-TRM" and "Slow-TRM" for when default settings for TSI and RSI are applies, as this is a very robust system as well. 

///******ES 1HR, 15MIN/5MIN SYSTEM***** Go long, when all time frame on a buy signal and vice versa. Take profit when the 5 min chart flips to buy or sell depending on what side of the trade you are on. Close or flip
//// long/short when time all time frames flip to Buy/Hold if short and Sell/Hold if long. Use 20EMA for additional confirmation. 

//@version=4
strategy("TKP-TRM Strategy", overlay=true)
Note = input( 0, title = "TSI standard values are 25, 13, 13, and RSI is 14. Can change the default values to these for 'Slow TRM'")
long = input(title="TSI-Long Length", type=input.integer, defval=25)
short = input(title="TSI-Short Length", type=input.integer, defval=5)
signal = input(title="TSI-Signal Length", type=input.integer, defval=14)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
TSI_Signal_Line = (ema(tsi_value, signal))


/////////////////////////////RSI////////////////////////////////////////////////

src = close, len = input(5, minval=1, title="RSILength")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiBuyfilterlevel = input(50, minval = 1, title = "RSI cross above Buy Level")
rsiSellfilterlevel = input(50, minval = 1, title = "RSI cross below Sell Level")

////////////////////////////Bar Coloring//////////////////////////////////////////////////////////

TRM_Buy = ((tsi_value > TSI_Signal_Line) and (rsi > rsiBuyfilterlevel))
TRM_Sell = ( (tsi_value < TSI_Signal_Line) and (rsi <rsiSellfilterlevel))
TRM_Color = TRM_Buy? #3BB3E4 : TRM_Sell? #FF006E : #b2b5be
barcolor(TRM_Color)


///////////////////////////Strategy Paramters////////////////////////////////////////

if (TRM_Buy)
    strategy.entry("Long", strategy.long, comment="Long")

if (TRM_Sell)
    strategy.close("Long", comment="Sell")