
La estrategia Ichimoku Cloud Quant Scalping es una estrategia de escalping de líneas cortas que combina una tabla de equilibrio de primera mano y un índice de dirección promedio. La estrategia utiliza el indicador de la nube Ichimoku para determinar la dirección de la tendencia, junto con el indicador ADX para filtrar los mercados no tendenciales y realizar operaciones de línea corta en situaciones de tendencia.
La estrategia tiene dos partes principales:
El indicador de la nube Ichimoku para determinar la dirección de la tendencia
Cuando el precio está por encima de la nube, es una tendencia de varios extremos, y por debajo de la tendencia de la cabeza. La estrategia de la ruptura de la línea de conversión para juzgar el giro de la tendencia.
ADX mayor a 20 indica tendencia, cuando la estrategia genera una señal de negociación. Menos de 20 indica liquidación, cuando la estrategia no se negocia.
Las reglas de negociación:
La estrategia tiene las siguientes ventajas:
El indicador de la nube de Ichimoku puede determinar con precisión la dirección de la tendencia y el punto de inflexión, en combinación con el indicador de ADX para filtrar el mercado de la corrección de la tendencia y evitar falsas rupturas.
El control de retiro. El control de pérdidas se establece en 150 puntos, lo que permite un control efectivo de las pérdidas individuales.
La tasa de ganancias y pérdidas es alta. El stop loss es de 200 puntos, el stop loss es de 150 puntos, la tasa de ganancias y pérdidas es de hasta 1.33, fácil de ganar.
La frecuencia de las operaciones es moderada. Las operaciones se realizan solo en situaciones de tendencia y no con una alta frecuencia de entrada.
La estrategia también tiene los siguientes riesgos:
Riesgo de fallo en el juicio de tendencias. El indicador de la nube Ichimoku produce una señal errónea cuando el juicio de tendencias se vuelve un fracaso. Se puede extender el ciclo de parámetros para optimizar adecuadamente.
El stop loss es el riesgo de ser perseguido. El stop loss de la marcha rápida puede ser superado. Se puede establecer un stop loss móvil o considerar aumentar el rango de stop loss.
El riesgo de negociación en el mercado nocturno y antes del cierre. La estrategia por defecto solo se opera en el mercado diurno, y el juicio de la tendencia en el mercado nocturno y antes del cierre puede no ser válido. Se puede configurar para negociar durante 24 horas o para establecer una estrategia de negociación por separado después del cierre.
La estrategia puede ser optimizada en las siguientes direcciones:
Optimización de los parámetros de los indicadores de la nube Ichimoku. Se pueden probar diferentes parámetros de línea de conversión, línea de referencia y línea de reserva para encontrar la combinación óptima de parámetros.
Optimización de parámetros de ADX y de los umbrales. Se pueden probar los parámetros de ciclo y los umbrales de filtro de ADX para encontrar los parámetros óptimos.
Optimización de la pérdida de frenado. Se puede determinar el punto óptimo de frenado de frenado basándose en la retroalimentación de datos históricos.
Estrategia de stop-loss móvil. Establezca un stop-loss flotante para seguir mejor la tendencia y obtener ganancias.
Indicadores auxiliares para determinar la tendencia. La adición de indicadores auxiliares para determinar la tendencia, como MACD, KD, mejora la precisión de la señal.
Optimización de la adaptabilidad. Para las variedades con grandes diferencias, los parámetros de la estrategia de negociación se desarrollan por separado.
La estrategia de corto plazo de la cuantificación de la nube de Ichimoku integra las ventajas del indicador de la nube de Ichimoku y el indicador de ADX, tanto para determinar con precisión el punto de inflexión de la tendencia como para eliminar eficazmente el mercado de liquidación y evitar falsas señales. La estrategia tiene una alta tasa de pérdidas y retrocesos controlables, adecuada para operaciones de corto plazo de seguimiento de la tendencia.
/*backtest
start: 2023-12-13 00:00:00
end: 2023-12-20 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title='[STRATEGY][RS]Spot/Binary Scalper V0', shorttitle='IC', overlay=true, initial_capital=100000, currency=currency.USD)
// || Adapted from:
// || http://www.binaryoptionsedge.com/topic/1414-ta-spot-scalping-it-works-damn-good/?hl=singh
// || Ichimoku cloud:
conversionPeriods = input(title='Conversion Periods:', defval=7, minval=1),
basePeriods = 26//input(title='Base Periods', defval=26, minval=1)
laggingSpan2Periods = 52//input(title='Lagging Span:', defval=52, minval=1),
displacement = 26//input(title='Displacement:', defval=26, minval=1)
f_donchian(_len) => avg(lowest(_len), highest(_len))
f_ichimoku_cloud(_conversion_periods, _base_periods, _lagging_span)=>
_conversion_line = f_donchian(_conversion_periods)
_base_line = f_donchian(_base_periods)
_lead_line1 = avg(_conversion_line, _base_line)
_lead_line2 = f_donchian(_lagging_span)
[_conversion_line, _base_line, _lead_line1, _lead_line2]
[conversionLine, baseLine, leadLine1, leadLine2] = f_ichimoku_cloud(conversionPeriods, basePeriods, laggingSpan2Periods)
//ps0 = plot(title='A', series=leadLine1, color=green, linewidth=2)
//ps1 = plot(title='B', series=leadLine2, color=red, linewidth=2)
//fill(title='AB', plot1=ps0, plot2=ps1, color=blue, transp=80)
//plot(title='Base', series=baseLine, color=blue, linewidth=1, offset=displacement)
plot(title='Conversion', series=conversionLine, color=blue, linewidth=1)
// ||----------------------------------------------------------------------------------------------------------------------------------------------||
// || ADX
len = input(title="Length", defval=14)
th = input(title="threshold", defval=20)
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)
// ||----------------------------------------------------------------------------------------------------------------------------------------------||
// || Trade session:
USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0400-1500', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)
// ||----------------------------------------------------------------------------------------------------------------------------------------------||
// || Strategy:
trade_size = input(title='Trade Size:', defval=1)
stop_loss_in_ticks = input(title='Stop Loss in ticks:', defval=150)
take_profit_in_ticks = input(title='Take Profit in ticks:', defval=200)
buy_icloud_signal = open < conversionLine and close > conversionLine
buy_adx_signal = DIPlus > 20
buy_signal = istradingsession and buy_icloud_signal and buy_adx_signal
sel_icloud_signal = open > conversionLine and close < conversionLine
sel_adx_signal = DIMinus > 20
sel_signal = istradingsession and sel_icloud_signal and sel_adx_signal
strategy.order('buy', long=true, qty=trade_size, comment='buy', when=buy_signal)
strategy.order('sel', long=false, qty=trade_size, comment='sel', when=sel_signal)
strategy.exit('exit buy', from_entry='buy', profit=take_profit_in_ticks, loss=stop_loss_in_ticks)
strategy.exit('exit sel', from_entry='sel', profit=take_profit_in_ticks, loss=stop_loss_in_ticks)