Esta estrategia LONG-ONLY utiliza el sistema Ichimoku Kinko Hyo para las operaciones. Combina múltiples factores Ichimoku para ir largo cuando se cumplen los criterios.
La lógica de negociación es:
Calcular la conversión, la línea de base, los tramos principales 1 y 2
Considere largo cuando el cierre está por encima de la nube y la nube está aumentando, con la conversión por encima de la línea de base
Además, el lapso de retraso debe estar por encima de la nube y el precio para la confirmación de tendencia alcista
Cuando todos los criterios se cumplen, ir largo
Si el lapso de retraso cae por debajo del precio o de la nube, cierre largo
La estrategia utiliza los indicadores de Ichimoku para confirmar la tendencia, con la nube como paradas dinámicas para el control de riesgos.
Ichimoku sintetiza múltiples factores para la determinación de la tendencia
Paradas dinámicas para maximizar el bloqueo de ganancias
Normas sencillas y claras para una fácil aplicación
Ichimoku es lento y puede perder oportunidades.
Se requiere una optimización cuidadosa de los períodos de revisión
Solo por mucho tiempo, así que buenas oportunidades cortas perdidas
Esta estrategia aprovecha la síntesis de indicadores de Ichimoku para definir la dirección de la tendencia. Con parámetros optimizados, proporciona un sistema simple de solo largo.
/*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)