
Esta estrategia es una estrategia de negociación sencilla orientada a las criptomonedas, que utiliza un indicador de equilibrio primario en el espacio lógico para generar señales de negociación. La estrategia se aplica a las transacciones entre criptomonedas.
La estrategia utiliza un indicador de equilibrio primario de espacio logarítmico personalizado como indicador de negociación principal. El indicador de equilibrio primario generalmente incluye líneas de retorno anterior, línea de referencia y línea de retardo. En esta estrategia, estas líneas se calculan en el espacio de los precios logarítmicos.
Concretamente, la línea de retardo anterior es la media de los puntos más bajos y más altos de la paridad de los últimos 9 ciclos. La línea de referencia es la media de los mismos de los últimos 26 ciclos. La línea de retardo 1 es la media de la línea de retardo anterior y la línea de referencia, y la línea de retardo 2 es la media de los mismos de los últimos 52 ciclos.
Cuando la línea de retardo 1 atraviesa la línea de retardo 2, haga más; cuando la línea de retardo 1 atraviesa la línea de retardo 2 debajo, haga vacío.
La principal ventaja de esta estrategia es que el uso de un indicador de equilibrio instantáneo en el espacio de precios lógicos permite identificar mejor los cambios de tendencia en las criptomonedas. Bajo las coordenadas lógicas, el cambio porcentual es más consistente, lo que ayuda a generar señales de negociación más confiables.
Otra ventaja es que la estrategia se aplica a transacciones entre variedades de criptomonedas. El uso de indicadores de equilibrio primario en el espacio lógico puede aumentar la comparabilidad de los cambios de precios entre diferentes variedades.
El principal riesgo de esta estrategia es que los indicadores de equilibrio a primera vista pueden generar señales erróneas por sí mismos. Especialmente en períodos de alta volatilidad en el mercado de criptomonedas, el rendimiento de los indicadores de equilibrio a primera vista puede volverse poco confiable.
Además, la conversión logarítmica también puede fallar en situaciones extremas. La comparabilidad de las coordenadas logarítmicas también disminuye cuando hay fluctuaciones anormales en los precios.
La estrategia se puede optimizar de la siguiente manera:
Combinación de otros indicadores para verificar la señal del indicador de equilibrio inicial, reduciendo la probabilidad de señales erróneas
Actualización de los valores óptimos de los parámetros del indicador de equilibrio primario para que sean más adecuados para la variedad de criptomonedas
Establezca las condiciones de filtración necesarias antes de abrir una posición, como el filtro de volumen de transacción, para evitar ser engañado por brechas falsas.
Optimización de la estrategia de apertura de posiciones, establecimiento de condiciones de stop loss y stop loss, control de riesgos
Esta estrategia utiliza las ventajas de los indicadores de equilibrio de primer plano en el espacio lógico para diseñar una estrategia cuantitativa orientada a las criptomonedas que se aplica a las transacciones entre variedades. Esta estrategia es útil para identificar cambios en la tendencia, pero también existe un cierto riesgo.
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Log Ichimoku Strategy", shorttitle="Ichi Strategy", overlay=true)
drop1st(src) =>
x = na
x := na(src[1]) ? na : src
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
showClouds = input(false, "show clouds")
loglows = log(drop1st(low))
loghighs = log(drop1st(high))
donchian(len) =>
avg(lowest(loglows, len), highest(loghighs, len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(showClouds ? exp(conversionLine) : na, color=#0496ff, title="Conversion Line")
plot(showClouds ? exp(baseLine) : na, color=#991515, title="Base Line")
p1 = plot(showClouds ? exp(leadLine1) : na, offset = displacement, color=green, title="Lead 1")
p2 = plot(showClouds ? exp(leadLine2) : na, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = showClouds ? (leadLine1 > leadLine2 ? green : red) : na)
if (crossover(leadLine1, leadLine2))
strategy.entry("Ichi-LE", strategy.long, oca_name="Ichi", comment="Ichi")
if (crossunder(leadLine1, leadLine2))
strategy.entry("Ichi-SE", strategy.short, oca_name="Ichi", comment="Ichi")