
Esta estrategia se llama “SMA” y se basa en una estrategia de trading cuantitativa basada en la media de la SMA cruzada con el indicador de la profundidad del mercado. La estrategia utiliza principalmente la señal de la horca de oro de la media de la SMA, combinada con la línea de conversión, la línea de referencia y la línea delantera en el indicador de la nube de la profundidad del mercado de Ichimoku y el indicador de volumen de transacciones en el aire, para lograr un comercio automático inverso a Bitcoin.
La estrategia se basa principalmente en los siguientes principios:
La línea media de SMA utiliza diferentes parámetros para construir señales de comercio de forks y dead forks. Se genera una señal de compra cuando se atraviesa un SMA largo en un SMA corto y una señal de venta cuando se atraviesa un SMA largo en un SMA corto.
Basado en el indicador de Ichimoku para determinar la profundidad y la tendencia del mercado. Se generan señales de compra solo cuando el precio de cierre es superior al horizonte y la referencia del gráfico de nubes, y se generan señales de venta cuando están por debajo del horizonte y la referencia del gráfico de nubes, lo que filtra la mayoría de las señales falsas.
El indicador de la volatilidad en base al volumen de las transacciones filtra las falsas señales de baja volatilidad y sólo genera una señal de compra y venta cuando el volumen de las transacciones es mayor que el promedio de un período periódico.
La función plotshape marca la posición de las señales de compra y venta en el gráfico.
De esta manera, la estrategia toma en cuenta las tendencias a corto y largo plazo, los indicadores de profundidad de mercado y los indicadores de volumen de transacciones, optimizando las decisiones de transacción.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene los siguientes riesgos:
Para estos riesgos, se puede optimizar mediante el ajuste de los parámetros de la línea media, los parámetros de los gráficos de la nube, los parámetros de volumen de transacciones, etc., al mismo tiempo que se selecciona la variedad de transacciones adecuada para reducir el riesgo.
La estrategia se puede optimizar en las siguientes direcciones:
Esta estrategia utiliza la combinación de la cruz de la línea media, el indicador de la profundidad del mercado y el indicador de volumen de operaciones, para formar una estrategia de comercio cuantitativa más estable y confiable. La estrategia puede optimizarse aún más mediante ajustes de parámetros, la adición de nuevos indicadores técnicos, etc.
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SMA Crossover with Ichimoku & Volume", shorttitle="SCIV", overlay=true)
// Define the length of SMA
shortSmaLength = input(14, title="Short SMA Length")
longSmaLength = input(21, title="Long SMA Length")
volumeLength = input(20, title="Volume Moving Average Length")
// Calculate the SMA and Volume MA
shortSma = sma(close, shortSmaLength)
longSma = sma(close, longSmaLength)
volumeMa = sma(volume, volumeLength)
// Define the lengths of the Ichimoku Cloud components
tenkanLength = input(9, title="Tenkan Length")
kijunLength = input(26, title="Kijun Length")
senkouBLength = input(52, title="Senkou B Length")
displacement = input(26, title="Displacement")
// Calculate the Ichimoku Cloud components
tenkan = (highest(high, tenkanLength) + lowest(low, tenkanLength)) / 2
kijun = (highest(high, kijunLength) + lowest(low, kijunLength)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (highest(high, senkouBLength) + lowest(low, senkouBLength)) / 2
// Define the conditions for entry and exit with Ichimoku filter and Volume filter
buyEntry = crossover(shortSma, longSma) and close > senkouA[displacement] and close > senkouB[displacement] and volume > volumeMa
sellEntry = crossunder(shortSma, longSma) and close < senkouA[displacement] and close < senkouB[displacement] and volume > volumeMa
// Plot buy/sell conditions on the chart for visual inspection
plotshape(buyEntry, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", size=size.small)
plotshape(sellEntry, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", size=size.small)
// Execute the strategy
if (buyEntry)
strategy.entry("Buy", strategy.long)
if (sellEntry)
strategy.entry("Sell", strategy.short)