Estrategia de seguimiento de tendencias de Ichimoku Kinko Hyo


Fecha de creación: 2023-12-26 16:13:42 Última modificación: 2023-12-26 16:13:42
Copiar: 1 Número de Visitas: 678
1
Seguir
1621
Seguidores

Estrategia de seguimiento de tendencias de Ichimoku Kinko Hyo

Descripción general

La estrategia de equilibrio a primera vista es una estrategia de seguimiento de tendencias que determina la dirección de la tendencia mediante el cálculo de la línea media y en combinación con el indicador Ichimoku Kinko Hyo, para lograr operaciones de seguimiento de tendencias de bajo riesgo.

Principio de estrategia

La estrategia se basa principalmente en el indicador Ichimoku Kinko Hyo para determinar la dirección de la tendencia. Ichimoku Kinko Hyo, también conocido como la tabla de equilibrio de primera vista, consiste en la línea de conversión ((Tenkan-sen), la línea de referencia ((Kijun-sen), la línea de avance ((Senkou Span A) y la línea de confirmación ((Senkou Span B), que forman una zona de equilibrio entre el frente y el reverso, conocida como el cinturón de nubes de azufre.

Esta estrategia combina la relación entre el precio y la línea media para determinar la dirección de la tendencia. Se genera una señal de compra cuando el precio cruza la línea de referencia y la línea de conversión; Se genera una señal de venta cuando el precio rompe la banda de nubes por debajo. Mediante esta combinación, se puede filtrar eficazmente las brechas falsas y bloquear la dirección de la tendencia.

Análisis de las ventajas

  • Utiliza el indicador Ichimoku Kinko Hyo para juzgar tendencias y evitar ser engañado por los falsos avances de los mercados en crisis
  • Los parámetros de la línea media son ajustables y se pueden optimizar para diferentes períodos
  • La combinación de un juicio de relación lineal equilibrada puede ser eficaz para localizar la dirección de la tendencia.
  • El uso de Cloud Band Judgment permite realizar operaciones de seguimiento de tendencias de bajo riesgo

Análisis de riesgos

  • Las señales falsas son más frecuentes en situaciones de temblores.
  • La configuración incorrecta de los parámetros puede causar señales de negociación demasiado frecuentes o inoportunas
  • Se requiere un ajuste de parámetros para determinar la dirección de la tendencia

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros de Ichimoku para adaptarse a más períodos de tiempo
  2. Aumentar las estrategias de stop loss y controlar las pérdidas individuales
  3. En combinación con otros indicadores, juzgue tendencias fuertes y débiles para evitar ser engañado por el comportamiento de los temblores
  4. Aumentar las condiciones para abrir una posición y evitar situaciones extremas

Resumir

En general, la estrategia de equilibrio a primera vista determina la dirección de la tendencia a través del indicador Ichimoku Kinko Hyo, puede bloquear la tendencia de manera efectiva y, junto con el juicio de la relación de igualdad, puede generar señales de negociación y realizar transacciones de seguimiento de tendencias de bajo riesgo. La estrategia puede adaptarse a diferentes entornos de mercado mediante ajustes y optimizaciones de parámetros.

Código Fuente de la Estrategia
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Credit for the initial code to nathanhoffer - I simply added the ability to select a time period
//
strategy("Cloud Breakout", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Component Code Start ///////////////
testStartYear = input(2016, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() => true

Ten = input(18, minval=1, title="Tenkan")
Kij = input(60, minval=1, title="Kijun")
LeadSpan = input(30, minval=1, title="Senkou B")
Displace = input(52, minval=1, title="Senkou A")
SpanOffset = input(52, minval=1, title="Span Offset")

sts = input(true, title="Show Tenkan")
sks = input(true, title="Show Kijun")
ssa = input(true, title="Show Span A")
ssb = input(true, title="Show Span B")
sc = input(true, title="Show Chikou")

source = close

//Script for Ichimoku Indicator
donchian(len) => avg(lowest(len), highest(len))
TS = donchian(Ten)
KS = donchian(Kij)
SpanA = avg(TS, KS)
SpanB = donchian(LeadSpan)

CloudTop = max(TS, KS)

Chikou = source[Displace]
SpanAA = avg(TS, KS)[SpanOffset]
SpanBB = donchian(LeadSpan)[SpanOffset]

//Kumo Breakout (Long)
SpanA_Top = SpanAA >= SpanBB ? 1 : 0
SpanB_Top = SpanBB >= SpanAA ? 1 : 0

SpanA_Top2 = SpanA >= SpanB ? 1 : 0
SpanB_Top2 = SpanB >= SpanA ? 1 : 0

SpanA1 = SpanA_Top2 ? SpanA : na
SpanA2 = SpanA_Top2 ? SpanB : na

SpanB1 = SpanB_Top2 ? SpanA : na
SpanB2 = SpanB_Top2 ? SpanB : na

//plot for Tenkan and Kijun (Current Timeframe)
p1= plot(sts and TS ? TS : na, title="Tenkan", linewidth = 2, color = gray)
p2 = plot(sks and KS ? KS : na, title="Kijun", linewidth = 2, color = black)
//p5 = plot(sc and KS ? KS : na, title="Chikou", linewidth = 2, color = orange)
p5 = plot(sc and Displace ? close: na, title="Chikou", linewidth = 2, offset=-Displace, color = orange)

//Plot for Kumo Cloud (Dynamic Color)
p3 = plot(ssa and SpanA ? SpanA : na, title="SpanA", linewidth=2, offset=Displace, color=green)
p4 = plot(ssb and SpanB ? SpanB : na, title="SpanB", linewidth=2, offset=Displace, color=red)

p8 = plot(ssa and SpanA1 ? SpanA1 : na, title="Span A1 above", style=linebr, linewidth=1, offset=Displace, color=green)
p9 = plot(ssa and SpanA2 ? SpanA2 : na, title="Span A2 above", style=linebr, linewidth=1, offset=Displace, color=green)
p10 = plot(ssb and SpanB1 ? SpanB1 : na, title="Span B1 above", style=linebr, linewidth=1, offset=Displace, color=red)
p11 = plot(ssb and SpanB2 ? SpanB2 : na, title="Span B2 above", style=linebr, linewidth=1, offset=Displace, color=red)

fill(p8, p9, color = lime, transp=70, title="Kumo Cloud Up")
fill (p10, p11, color=red, transp=70, title="Kumo Cloud Down")

LongSpan = (SpanA_Top and source[1] < SpanAA[1] and source > SpanAA) or (SpanB_Top and source[1] < SpanBB[1] and source > SpanBB) ? 1 : 0
cupSpan = LongSpan  == 1 ? LongSpan : 0

Long_Breakout = (SpanA_Top ==1 and crossover(source, SpanAA)) or (SpanB_Top ==1 and crossover(source, SpanBB))

ShortSpan = (SpanB_Top and source[1] > SpanAA[1] and source < SpanAA) or (SpanA_Top and source[1] > SpanBB[1] and source < SpanBB) ? 1 : 0
cdnSpan = ShortSpan == 1 ? ShortSpan : 0

Short_Breakout = (SpanA_Top ==1 and crossunder(source, SpanBB)) or (SpanB_Top ==1 and crossunder(source, SpanAA))

//Kumo Twist
Kumo_Twist_Long = SpanA[1] < SpanB[1] and SpanA > SpanB ? 1 : 0
Kumo_Twist_Short = SpanA[1] > SpanB[1] and SpanA < SpanB ? 1 : 0

cupD = Kumo_Twist_Long == 1 ? Kumo_Twist_Long : 0
cdnD = Kumo_Twist_Short == 1 ? Kumo_Twist_Short : 0

Chikou_Above = close > Chikou
Chikou_Below = close < Chikou

long = (cross(TS, SpanA) or cross(TS, SpanB)) and TS>SpanA and TS>SpanB and TS>=KS
short = cross(TS, KS) and KS >= TS

if testPeriod()
    strategy.entry("long", strategy.long, when=Long_Breakout)
    strategy.entry("short", strategy.short, when=Short_Breakout)