
La estrategia utiliza una combinación de promedios móviles, MACD y RSI para identificar tendencias en los precios de las acciones y obtener ganancias. La estrategia genera una señal de compra cuando el promedio móvil a corto plazo atraviesa el promedio móvil a largo plazo y el precio de cierre está por encima del promedio móvil de 50 días. La estrategia genera una señal de venta cuando el promedio móvil a corto plazo atraviesa el promedio móvil a largo plazo y el precio de cierre está por debajo del promedio móvil de 50 días.
La estrategia se basa principalmente en la estrategia de doble media móvil, que genera una señal de compra cuando se cruza la media móvil de largo plazo (EMA de 30 días) por encima de la media móvil de corto plazo (EMA de 3 días) y una señal de venta cuando se cruza la media móvil de largo plazo por debajo de la media móvil de corto plazo. Esta es una técnica común para determinar las tendencias de los precios de las acciones a corto y largo plazo.
Además, la estrategia también introdujo un promedio móvil de 50 días, que solo genera una señal de compra cuando el precio está por encima de la línea de 50 días y una señal de venta cuando está por debajo, para evitar el comercio frecuente y filtrar algunas señales falsas.
Además, el indicador RSI se utiliza para determinar si se está sobrecomprando o sobrevendendo. Si el RSI es superior a 70, se considera una zona de sobrecompra, en la que incluso un fuerte alza en el corto plazo puede enfrentar una reajuste. Si el RSI es inferior a 30, se considera una zona de sobreventa, en la que incluso una fuerte caída en el corto plazo puede tener un rebote.
Finalmente, el diagrama MACD se utiliza para determinar la tendencia a medio y largo plazo. Si el diagrama MACD es >0, la línea media es la tendencia al alza, y la señal de entrada es más confiable; si el diagrama MACD es , la línea media es la tendencia a la baja, y la señal de compra puede ser ajustada incluso en el corto plazo.
La mayor ventaja de esta estrategia es la combinación de múltiples indicadores, que hacen que las señales de entrada y salida sean más precisas y confiables. Un solo indicador es propenso a generar falsas señales, y la estrategia determina la tendencia a corto plazo mediante un promedio móvil, el RSI determina la tendencia a la sobrecompra y la sobreventa y el MACD determina la tendencia a medio y largo plazo, lo que aumenta considerablemente la probabilidad de éxito en cada operación.
Otra ventaja es la combinación de comercio de tendencia y comercio de contravalor. Seguir la tendencia, seguir el momento es la creencia de todos los comerciantes de tendencia.
El principal riesgo de esta estrategia proviene de los eventos inesperados que provocan un ajuste rápido. Cualquier estrategia cuantitativa tiene dificultades para hacer frente a las fuertes fluctuaciones de precios causadas por grandes brechas de ganancias o noticias positivas. En este caso, el punto de parada puede ser roto y causar grandes pérdidas. Además, el riesgo de política también puede causar un impacto en la estrategia.
El otro riesgo es que la corrección a corto plazo en el movimiento de múltiples direcciones causa una salida a la pérdida. Incluso si la línea media sigue siendo un mercado alcista, la corrección a corto plazo también puede ser detenida para cerrar la posición larga. En este caso, se pierde el aumento posterior.
La estrategia puede ser optimizada en las siguientes dimensiones:
Optimización de parámetros. Se pueden probar más combinaciones de parámetros para encontrar el parámetro óptimo.
Añadir más indicadores. Se puede probar la adición de otros indicadores como líneas de Brin, KDJ, para enriquecer la combinación de múltiples indicadores y mejorar la calidad de la señal.
Mecanismos de optimización de la parada de pérdidas. Se pueden probar métodos de parada más avanzados, como la parada de seguimiento de pérdidas, la parada de ruptura de intervalos, para reducir la probabilidad de que la parada sea impactada.
Adaptación a un mayor número de entornos de mercado. Se pueden optimizar algunos parámetros de la estrategia para que pueda obtener ganancias estables en más tipos de mercados.
La estrategia utiliza una combinación de promedios móviles, indicadores RSI y MACD para generar señales de alta calidad, evitando los límites de un solo indicador, lo que permite una gran confianza en cada decisión de compra y venta. Al mismo tiempo, la estrategia también contempla el comercio de tendencias y el comercio de contratiempos, y al mismo tiempo garantiza que la tendencia golpee.
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('sachin 3.30 ', overlay=true)
// Input parameters
length = input.int(14, title='RSI Length', minval=1)
overbought = input.int(70, title='RSI Overbought Level', minval=0, maxval=100)
oversold = input.int(30, title='RSI Oversold Level', minval=0, maxval=100)
ema3_length = input(3, title='EMA 3 Length')
ema30_length = input(30, title='EMA 30 Length')
ema50_length = input(50, title='EMA 50 Length')
// Calculate EMAs
ema3 = ta.ema(close, ema3_length)
ema30 = ta.ema(close, ema30_length)
ema50 = ta.ema(close, ema50_length)
// Calculate RSI
rsiValue = ta.rsi(close, length)
// Calculate MACD
[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)
var float buyPrice = na
// Buy condition: EMA 3 crosses above EMA 30 and price is above EMA 50
buyCondition = ta.crossover(ema3, ema30) and close > ema50
if (buyCondition)
buyPrice := close
strategy.entry('Buy', strategy.long)
// Exit long position when close is below EMA30 and below the low of the previous 3 candles after the buy entry
exitLongCondition = close < ema30 and close < ta.lowest(low, 3) and close < buyPrice
if (exitLongCondition)
strategy.close('BuyExit')
// Sell condition: EMA 3 crosses below EMA 30 and price is below EMA 50
sellCondition = ta.crossunder(ema3, ema30) and close < ema50
if (sellCondition)
strategy.entry('Sell', strategy.short)
// Exit short position when close is above EMA30 and above the high of the previous 3 candles after the sell entry
exitShortCondition = close > ema30 and close > ta.highest(high, 3)
if (exitShortCondition)
strategy.close('SellExit')
// Plot EMAs on the chart
plot(ema3, color=color.new(color.blue, 0), title='EMA 3')
plot(ema30, color=color.new(color.red, 0), title='EMA 30')
// Change color of EMA 50 based on MACD histogram
ema50Color = hist > 0 ? color.new(color.blue, 0) : hist < 0 ? color.new(color.black, 0) : color.new(color.blue, 0)
plot(ema50, color=ema50Color, title='EMA 50 Colored')
// Change color of EMA 30 based on RSI trend
ema30Color = rsiValue > oversold ? color.new(color.green, 0) : rsiValue < overbought ? color.new(color.red, 0) : color.new(color.blue, 0)
plot(ema30, color=ema30Color, title='EMA 30 Colored')
// Highlight Buy and Sell signals on the chart
bgcolor(buyCondition ? color.new(color.green, 90) : na)
bgcolor(sellCondition ? color.new(color.red, 90) : na)
// Plotting Buy and Sell Signals on the Chart until strategy exit
barcolor(strategy.position_size > 0 and rsiValue > overbought ? color.new(color.yellow, 0) : strategy.position_size < 0 and rsiValue < oversold ? color.new(color.black, 0) : na)