Esta estratégia LONG-ONLY usa o sistema Ichimoku Kinko Hyo para negociações.
A lógica de negociação é:
Calcular a conversão, linha de base, traços principais 1 e 2
Considere longo quando fechar está acima da nuvem e nuvem está subindo, com conversão acima da linha de base
Além disso, o intervalo de atraso deve estar acima da nuvem e do preço para confirmação da tendência de alta
Quando todos os critérios estiverem cumpridos, vá longe.
Se o período de atraso cair abaixo do preço ou da nuvem, feche longo
A estratégia utiliza os indicadores de Ichimoku
Ichimoku sintetiza múltiplos fatores para a determinação da tendência
Paradas dinâmicas para maximizar o bloqueio de lucro
Regras simples e claras para facilitar a sua aplicação
Ichimoku é lento e pode perder oportunidades.
É necessária uma otimização cuidadosa dos períodos de reflexão
Só por muito tempo, por isso as boas oportunidades perdidas.
Esta estratégia aproveita a síntese de indicadores de Ichimoku para definir a direção da tendência.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Ichimoku Cloud", shorttitle="Doubled Ichimoku", overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity) conversionPeriods = input(20, minval=1, title="Conversion Line Length") basePeriods = input(60, minval=1, title="Base Line Length") laggingSpan2Periods = input(120, minval=1, title="Leading Span B Length") displacement = input(30, minval=1, title="Displacement") Stoploss = input(1, minval=0.1, title="Stoploss (% below cloud)") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) plot(conversionLine, color=#2962FF, title="Conversion Line") plot(baseLine, color=#B71C1C, title="Base Line") plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span") p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) bool TKcross = conversionLine > baseLine bool aboveCloud = close > leadLine1 and close > leadLine2 bool greenCloud = leadLine1 > leadLine2 bool lagLong = close > leadLine1[2*displacement+1] and close > leadLine2[2*displacement+1] and close > close[displacement] bool longCondition = false bool close_trade = crossover(leadLine1[displacement], close) or crossover (leadLine2[displacement], close) or close < close[displacement] or crossover(baseLine, close) var position_count = 0 if (TKcross and aboveCloud and greenCloud and lagLong and position_count==0) position_count = 1 strategy.entry(id="buy", long=true) if (close_trade) strategy.close_all() // strategy.entry(id="sell", long=false) position_count = 0 //if (longCondition) // strategy.close("long", when=exit_trade) // strategy.exit("exit","long",stop=stop_level,limit=profit_level)