Esta estratégia combina os indicadores Ichimoku e MACD, entrando em negociações depois de confirmar a reversão da tendência.
Calcule a linha Ichimoku Tenkan para medir a direção da tendência.
A cruz de morte do MACD gera sinal de venda em tendência de alta; a cruz de ouro gera sinal de compra em tendência de baixa.
Combine o viés de tendência de Ichimoku e os sinais de reversão do MACD para negociar reversões de tendência.
Opção para definir o controlo das horas de negociação, como não negociar à noite ou nos fins de semana, para evitar os riscos associados a determinadas horas.
Empregar stop loss adequado e tirar lucro para bloqueio de lucro e controle de risco.
Ichimoku mostra de forma intuitiva tendências e níveis de suporte/resistência.
O MACD capta de forma sensível as inversões de tendência.
A combinação de distorção de tendência e inversão melhora a qualidade do sinal.
Horários de negociação personalizáveis evitar riscos em torno de grandes eventos de notícias.
Stop loss e take profit gerem eficazmente os riscos de capital.
Ichimoku e MACD podem gerar sinais falsos.
Força de reversão desconhecida, riscos de perseguir de cima para baixo.
O controlo das horas de negociação pode perder algumas oportunidades.
As configurações inadequadas de stop loss e take profit levam a uma saída prematura.
A otimização dos parâmetros pode conduzir a um sobreajuste.
Teste os parâmetros de Ichimoku e MACD para combinações ideais.
Adicionar outros indicadores para confirmar os sinais de negociação.
Otimizar paradas e lucros para equilibrar riscos e retornos.
Avaliar a necessidade do controlo das horas de negociação e relaxar, se for caso disso.
Incorporar um filtro de tendência para evitar perdas de operações de reversão.
Pesquise formas de avaliar a força de reversão e a altura potencial de retração.
Esta estratégia combina o viés de tendência de Ichimoku e os sinais de reversão do MACD para negociar após reversões de tendência.
/*backtest start: 2022-09-13 00:00:00 end: 2023-09-19 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/ // © Revazi //@version=5 strategy("The Impeccable by zyberal", overlay = true) // Inputs { // Strategy variables IchimokuTenkanPeriod = input(9) IchimokuKijunPeriod = input(190) IchimokuSenkouPeriod = input(52) MACDMainFast = input(3) MACDMainSlow = input(10) MACDMainSmooth = input(9) ExitAfterBars = input(2) ProfitTarget = input(135) StopLoss = input(70) // Trading Options DontTradeOnWeekends = input(true) ExitAtEndOfDay = input(true) DayExitTimeHour = input(23) DayExitTimeMinute = input(04) ExitOnFriday = input(true) FridayExitTimeHour = input(20) FridayExitTimeMinute = input(40) // } // TRADING OPTIONS LOGIC { OpenOrdersAllowed = true // Dont trade on weekends { if DontTradeOnWeekends if dayofweek == dayofweek.saturday or dayofweek == dayofweek.sunday OpenOrdersAllowed := false // } // Exit on close (end of day) { if ExitAtEndOfDay if timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute) OpenOrdersAllowed := false // } // Exit on Friday { if ExitOnFriday if timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute) OpenOrdersAllowed := false // } // Rule: Trading signals { openW3 = request.security(syminfo.tickerid, "W", open)[3] middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length)) Tenkan = middleDonchian(IchimokuTenkanPeriod)[2] [macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth) LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3] ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3] // } // Calculate conditions { IsFlat() => strategy.position_size == 0 IsLong() => strategy.position_size > 0 IsShort() => strategy.position_size < 0 longCondition = OpenOrdersAllowed and not IsLong() and LongEntrySignal shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal // } // Open positions based on conditions { strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition) strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition) // }