
Esta estratégia combina o indicador de concentração de média móvel (MACD) e o indicador de força relativa aleatória (Stoch RSI) para determinar a direção da tendência do mercado, fazendo mais quando a tendência é alta e fazendo menos quando a tendência é baixa, e pertence ao tipo de estratégia de seguimento de tendência.
Esta estratégia usa os indicadores MACD e Stoch RSI para determinar a direção da tendência do mercado.
O indicador MACD é composto por linhas rápidas (emá linhas rápidas) e lentas (emá linhas lentas) e seus diferenciais, que refletem a agregação e separação das médias de curto e longo prazo. Quando a linha rápida atravessa a linha lenta, é um sinal de compra, quando a linha rápida atravessa a linha lenta, é um sinal de venda.
O Stoch RSI combina os benefícios do RSI e do Stoch para mostrar que o mercado está sobrecomprando. O Stoch RSI é um sinal de compra quando maior do que a linha de sinal do Stoch RSI e um sinal de venda quando menor do que a linha de sinal.
Esta estratégia usa o MACD e o Stoch RSI para determinar a direção da tendência do mercado na linha do dia e na linha das 4 horas. Quando dois indicadores na linha do dia e na linha das 4 horas emitem sinais de compra ao mesmo tempo, faça mais; Quando dois indicadores emitem sinais de venda ao mesmo tempo, faça menos.
Combinação de dois fatores para avaliar a tendência do mercado para filtrar os falsos sinais e melhorar a precisão dos sinais
Verificar sinais em altas e baixas linhas de tempo (linhas de dia e 4 horas) para evitar arbitragem
Seguir as tendências e evitar os mercados turbulentos
A estratégia é clara, simples e fácil de entender e executar.
Ajustar os parâmetros dos MACD e Stoch RSI para otimizar os pontos de compra e venda
Aumentar a estratégia de stop loss móvel para bloquear o lucro
Adição de módulo de gestão de fundos para controlar as posições individuais
Mais fatores de avaliação para aumentar a precisão do sinal
Parâmetros de otimização dinâmica com métodos de aprendizagem de máquina
Esta estratégia de julgar a direção da tendência através de um modelo de dois fatores, combinado com o sinal de verificação do eixo de tempo de alta e baixa, é uma estratégia de rastreamento de tendência mais estável e confiável. Tem uma certa capacidade de prevenção de risco e tolerância a erros. A adição de módulos de otimização de parâmetros, estratégia de parada de prejuízo e gerenciamento de fundos, espera-se uma melhor performance da estratégia.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title='[RS]Khizon (UGAZ) Strategy V0', shorttitle='K', overlay=false, pyramiding=0, initial_capital=100000, currency=currency.USD)
// || Inputs:
macd_src = input(title='MACD Source:', defval=close)
macd_fast = input(title='MACD Fast Length:', defval=12)
macd_slow = input(title='MACD Slow Length:', defval=26)
macd_signal_smooth = input(title='MACD Signal Smoothing:', defval=9)
srsi_src = input(title='SRSI Source:', defval=close)
srsi_rsi_length = input(title='SRSI RSI Length:', defval=14)
srsi_stoch_length = input(title='SRSI Stoch Length:', defval=14)
srsi_smooth = input(title='SRSI Smoothing:', defval=3)
srsi_signal_smooth = input(title='SRSI Signal Smoothing:', defval=3)
// || Strategy Inputs:
trade_size = input(title='Trade Size in USD:', type=float, defval=1)
buy_trade = input(title='Perform buy trading?', type=bool, defval=true)
sel_trade = input(title='Perform sell trading?', type=bool, defval=true)
// || MACD(close, 12, 26, 9): ||---------------------------------------------||
f_macd_trigger(_src, _fast, _slow, _signal_smooth)=>
_macd = ema(_src, _fast) - ema(_src, _slow)
_signal = sma(_macd, _signal_smooth)
_return_trigger = _macd >= _signal ? true : false
// || Stoch RSI(close, 14, 14, 3, 3) ||-----------------------------------------||
f_srsi_trigger(_src, _rsi_length, _stoch_length, _smooth, _signal_smooth)=>
_rsi = rsi(_src, _rsi_length)
_stoch = sma(stoch(_rsi, _rsi, _rsi, _stoch_length), _smooth)
_signal = sma(_stoch, _signal_smooth)
_return_trigger = _stoch >= _signal ? true : false
// ||-----------------------------------------------------------------------------||
// ||-----------------------------------------------------------------------------||
// || Check Directional Bias from daily timeframe:
daily_trigger = security('NGAS', 'D', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth))
h4_trigger = security('NGAS', '240', f_macd_trigger(macd_src, macd_fast, macd_slow, macd_signal_smooth) and f_srsi_trigger(srsi_src, srsi_rsi_length, srsi_stoch_length, srsi_smooth, srsi_signal_smooth))
plot(title='D1T', series=daily_trigger?0:na, style=circles, color=blue, linewidth=4, transp=65)
plot(title='H4T', series=h4_trigger?0:na, style=circles, color=navy, linewidth=2, transp=0)
sel_open = sel_trade and not daily_trigger and not h4_trigger
buy_open = buy_trade and daily_trigger and h4_trigger
sel_close = not buy_trade and daily_trigger and h4_trigger
buy_close = not sel_trade and not daily_trigger and not h4_trigger
strategy.entry('sel', long=false, qty=trade_size, comment='sel', when=sel_open)
strategy.close('sel', when=sel_close)
strategy.entry('buy', long=true, qty=trade_size, comment='buy', when=buy_open)
strategy.close('buy', when=buy_close)