Estrategia comercial de Ichimoku Kinko Hyo


Fecha de creación: 2023-09-14 16:13:33 Última modificación: 2023-09-14 16:13:33
Copiar: 0 Número de Visitas: 706
1
Seguir
1617
Seguidores

Principio de estrategia

La estrategia utiliza la tabla de equilibrio a primera vista (Ichimoku Kinko Hyo) para realizar más operaciones. Considera de manera integral los múltiples factores de la tabla de equilibrio y realiza más operaciones cuando está en condiciones.

La lógica de la transacción es la siguiente:

  1. Cálculo de la línea de conversión, la línea de referencia, la línea principal 1 y la línea principal 2

  2. Considere hacer más cuando el precio de cierre está por encima de la nube y la nube está por encima y la línea de conversión está por encima de la línea de referencia

  3. Además, la línea de retardo debe estar por encima de la nube y el precio para asegurar una tendencia alcista.

  4. Cuando se cumplan las condiciones mencionadas, se debe hacer una nueva admisión.

  5. Si la línea de retraso cae por debajo del precio o por debajo de la nube, se cancela la posición

La estrategia aprovecha los múltiples indicadores de la tabla de equilibrio a primera vista para confirmar la tendencia y controlar el riesgo de manera efectiva con la nube como punto de parada dinámico.

Ventajas estratégicas

  • Tendencias de evaluación de la tabla de equilibrio de un solo vistazo

  • El objetivo de la estrategia es reducir las pérdidas y maximizar las ganancias.

  • Las reglas son simples, claras y fáciles de aplicar

Riesgo estratégico

  • El equilibrio inicial es lento y puede haber oportunidades perdidas

  • Necesidad de establecer cuidadosamente el ciclo de los parámetros

  • Hacer más puede hacer que se pierda una buena oportunidad.

Resumir

La estrategia utiliza la característica de múltiples indicadores de la tabla de equilibrio a primera vista para determinar la dirección de la tendencia. Sobre la base de los parámetros de optimización, ofrece un simple conjunto de reglas de multitarea. Sin embargo, su atraso y las limitaciones de solo hacer más deben ser tenidos en cuenta.

Código Fuente de la Estrategia
/*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)