Esta estratégia é uma estratégia de negociação de bitcoin de sessão de Londres baseada nos indicadores técnicos MACD e RSI. Ela só abre posições durante a sessão de Londres, usando o MACD para determinar a direção da tendência e o RSI para julgar as condições de sobrecompra e sobrevenda.
A sessão de negociação de Londres é muito ativa no mercado forex, com a maioria das instituições participando.
O MACD pode geralmente determinar a direção da tendência. Quando a linha rápida atravessa acima da linha lenta, é uma cruz de ouro, indicando uma tendência de alta para ir longo. Quando a linha rápida atravessa abaixo da linha lenta, é uma cruz de morte, indicando uma tendência de queda para ir curto. Esta estratégia utiliza este princípio para determinar a direção da tendência.
O RSI pode julgar se o mercado está sobrecomprado ou sobrevendido. Acima de 70 indica sobrecomprado, enquanto abaixo de 30 sobrevendido. Esta estratégia usa isso para definir pontos de saída de stop loss.
A maior vantagem desta estratégia é que combina a negociação de tendência e a negociação de ritmo com base em condições de sobrecompra/supervenda. Quando a tendência não é clara, pode usar o MACD para julgar a possível tendência; usar o RSI para controlar riscos e evitar perseguir aumentos e vendas de queda cegamente sem uma tendência clara. Além disso, esta estratégia só abre posições durante a sessão de Londres dominada por instituições, reduzindo o impacto de flutuações irracionais de preços.
O principal risco desta estratégia é que o MACD, como indicador técnico para mercados de faixa, não funciona muito bem em tendências aparentes. Se confrontado com uma tendência unidirecional prolongada, os cruzes douradas/morte do MACD podem falhar frequentemente. Além disso, o RSI também pode falhar quando pairando em níveis altos ou baixos por períodos prolongados. Para reduzir esses riscos, podemos ajustar adequadamente parâmetros ou adicionar outros filtros para garantir que as posições sejam abertas apenas em sinais de alta probabilidade.
Esta estratégia pode ser otimizada em vários aspectos:
Adicionar outros filtros técnicos como Bandas de Bollinger e KDJ para evitar falhas.
Mecanismos de captação de lucro adicionais como stop loss ou gap de preço, captação de lucro para bloquear mais lucros.
Otimizar os parâmetros ajustando os parâmetros MACD e RSI para se adequarem às diferentes condições de mercado.
Adicionar elementos de aprendizagem de máquina, utilizando modelos LSTM etc. para determinar a tendência.
Em geral, esta é uma estratégia de negociação de bitcoin confiável. Combina tendência e ritmo, filtrando sinais inválidos enquanto garante uma lucratividade relativamente alta. Através da otimização contínua de parâmetros e da integração de mais indicadores técnicos, esta estratégia pode melhorar ainda mais a estabilidade e a lucratividade.
/*backtest start: 2023-11-19 00:00:00 end: 2023-11-22 08:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("London MACD RSI Strategy -1H BTC", overlay=true) // Define London session times london_session_start_hour = input(6, title="London Session Start Hour") london_session_start_minute = input(59, title="London Session Start Minute") london_session_end_hour = input(15, title="London Session End Hour") london_session_end_minute = input(59, title="London Session End Minute") // Define MACD settings fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalSMA = input(9, title="Signal SMA") // RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(65, title="RSI Overbought") rsiOversold = input(35, title="RSI Oversold") // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSMA) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Convert input values to timestamps london_session_start_timestamp = timestamp(year, month, dayofmonth, london_session_start_hour, london_session_start_minute) london_session_end_timestamp = timestamp(year, month, dayofmonth, london_session_end_hour, london_session_end_minute) // Filter for London session in_london_session = time >= london_session_start_timestamp and time <= london_session_end_timestamp // Long and Short Conditions longCondition = ta.crossover(macdLine, signalLine) and rsi < rsiOversold and in_london_session shortCondition = ta.crossunder(macdLine, signalLine) and rsi > rsiOverbought and in_london_session // Strategy entries and exits if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)