
Esta estrategia se basa en una combinación de múltiples indicadores que buscan oportunidades de negociación en el rango de tiempo de la línea diaria de Bitcoin. Utiliza principalmente indicadores como el MACD, RSI y Stoch RSI, en combinación con la dirección de la línea media, para determinar la dirección de la tendencia actual y emitir señales de compra y venta.
La estrategia se basa en los siguientes indicadores:
MACD (快线-慢线)Su línea de señal. Cuando el MACD pasa por la línea de señal, es una señal de compra, y cuando pasa por la línea de señal, es una señal de venta.
El RSI es un indicador de debilidad relativa. Es una señal de compra cuando el RSI cruza un umbral establecido.
El RSI de Stoch es un indicador de sobrecompra y sobreventa del RSI. Se utiliza como una señal de compra cuando el RSI de Stoch está por debajo de un umbral establecido y como una señal de venta cuando está por encima de un umbral establecido.
La dirección de la línea media. Cuando el precio de cierre se cruza por debajo de la línea media, es una señal de venta.
De acuerdo con estos indicadores, las señales de negociación para esta estrategia son las siguientes:
Las señales de compraCuando:(Stoch RSI < 设定阈值) 且 (MACD上穿阈值 或 RSI上穿阈值)Cuando
Vender las señalesCuando:(MACD下穿0) 且 (收盘价下穿均线 或 Stoch RSI > 设定阈值)Cuando
El uso combinado de varios indicadores permite determinar con mayor precisión la dirección de la tendencia actual y emitir señales de negociación en los puntos de cambio de tendencia.
El uso combinado de varios indicadores puede mejorar la precisión de los juicios y evitar las señales erróneas de un solo indicador.
El indicador MACD puede juzgar la dirección y la fuerza de la tendencia actual. El indicador RSI refleja el exceso de compra y venta. El RSI de Stoch juzga el exceso de compra y venta del RSI. La línea media juzga la dirección de la tendencia actual.
Las señales de compra y venta establecen una combinación de varios indicadores para filtrar algunas señales falsas y evitar transacciones innecesarias.
La retrospectiva de esta estrategia comenzó el 1 de enero de 2017 y contiene la situación de la gran subida de Bitcoin a fines de 2017, para comprobar el rendimiento de la estrategia en la situación actual.
La estrategia incluye una configuración de stop loss para controlar las pérdidas de una sola operación.
La combinación de varios indicadores puede mejorar la precisión, pero también puede generar discrepancias entre los indicadores, lo que conlleva un cierto riesgo de error.
El nivel de stop loss optimizado para la estrategia puede necesitar ser ajustado en función de las circunstancias. Un stop loss demasiado amplio aumenta la pérdida individual, y un stop loss demasiado estrecho se retira.
Las estrategias a nivel de línea de tiempo, no pueden operar en detalles en un período de tiempo más corto. No pueden responder cuando los eventos repentinos causan grandes fluctuaciones a corto plazo.
Las estrategias solo reflejan parte de la historia, por lo que puede haber un riesgo de sobreajuste. Las estrategias deben ser probadas en un período de tiempo más largo y en más mercados para verificar su eficacia.
Prueba más combinaciones de indicadores para encontrar mejores estrategias de combinación de indicadores múltiples.
Optimización de los parámetros del indicador para encontrar el valor más adecuado.
Prueba diferentes niveles de pérdida para encontrar la combinación óptima de pérdida y proporción de parada.
En la actualidad, la mayoría de los países de la Unión Europea tienen un sistema de reconocimiento de la identidad de sus ciudadanos.
Trate de usar esta estrategia en un rango de tiempo más alto para realizar transacciones más frecuentes.
Esta estrategia combina varios indicadores, como MACD, RSI, Stoch RSI, para determinar la dirección de la tendencia actual en el nivel de la línea diaria de Bitcoin, y emite una señal de negociación en el punto de cambio de tendencia. Al mismo tiempo, establece un stop loss para controlar el riesgo de negociación.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Original code is from CredibleHulk and modified by bennef
strategy("BTC Daily Strategy BF", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)
/////////////// Time Frame ///////////////
testStartYear = input(2017, "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
/////////////// Input Params ///////////////
rsi_threshold = input(30)
rsi_length = input(4)
srsi_length = input(8)
srsi_smooth = input(4)
srsi_sell_threshold = input(57)
length = input(14)
dma_signal_threshold = input(-1)
fastLength = input(11)
slowlength = input(18)
MACDLength = input(6)
MACD_signal_threshold = input(-2)
short_loss_tol = input(5)
long_loss_tol = input(5)
stop_level_long = strategy.position_avg_price * (1 - long_loss_tol / 100.0)
stop_level_short = strategy.position_avg_price * (1 + short_loss_tol / 100.0)
/////////////// Signal generation ///////////////
// MACD
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// RSI and Stochastic RSI
rs = rsi(close, rsi_length)
k = sma(stoch(rs, rs, rs, srsi_length), srsi_smooth)
// SMA
norm = sma(ohlc4, length)
threshold = close - norm
/////////////// Strategy ///////////////
long = ((crossover(delta, MACD_signal_threshold) or crossover(rs, rsi_threshold)) and k < srsi_sell_threshold)
short = (crossunder(delta, 0) or (crossunder(threshold, dma_signal_threshold) and k > srsi_sell_threshold))
if testPeriod()
strategy.entry("L", strategy.long, when = long)
strategy.entry("S", strategy.short, when = short)
strategy.exit("stop loss L", from_entry = "L", stop = stop_level_long)
strategy.exit("stop loss S", from_entry = "S", stop = stop_level_short)
/////////////// Plotting ///////////////
// MACD
plot(delta, color = delta > MACD_signal_threshold ? color.lime : delta < 0 ? color.red : color.yellow)
MACD_signal_threshold_line = hline(MACD_signal_threshold, color = color.yellow, title = "MACD Signal Threshold")
// RSI
plot(rs, color = rs > rsi_threshold ? color.lime : color.fuchsia)
rsi_threshold_line = hline(rsi_threshold, color = color.fuchsia, title = "RSI Threshold")
// Stochastic RSI
plot(k, color = k > srsi_sell_threshold ? color.lime : color.red)
srsi_sell_threshold_line = hline(srsi_sell_threshold, color = color.white, title = "Stoch RSI Threshold")
// SMA
plot(threshold / 100, color = threshold < dma_signal_threshold ? color.red : color.blue)
dma_signal_threshold_line = hline (dma_signal_threshold, color = color.blue, title = "DMA Signal Threshold")
bgcolor(long ? color.lime : short ? color.red : na, transp=50)