Esta estrategia pertenece al tipo de estrategia de scalping, con el objetivo de abrir y cerrar posiciones con frecuencia para beneficiarse de pequeñas ganancias al tiempo que limita los riesgos a la baja.
La estrategia utiliza 4 promedios móviles: 9, 50, 100 y 200 períodos.
Las reglas específicas para el comercio son:
Esta combinación identifica situaciones en las que el precio está en tendencia a la baja a corto plazo pero puede producirse una reversión.
La regla de salida es cuando 9 MA cruza por encima de 200 MA. Se utiliza un objetivo cercano a la ganancia para obtener ganancias pequeñas frecuentes para obtener ganancias constantes.
Los riesgos pueden reducirse:
La estrategia puede mejorarse mediante:
Optimización de las combinaciones de MA
Prueba de más períodos de admisión para una mejor detección de la inversión.
Ampliación de los niveles de beneficios
Permite una distancia TP más amplia para obtener más ganancias de tendencia.
Adición de otros indicadores
Como KDJ, MACD para confirmar para reducir las operaciones no válidas.
Optimización del tamaño de la posición
Posiciones de tamaño dinámico basadas en TP y SL específicas.
Añadir normas de reingreso
Considere volver a entrar después de TP si la tendencia continúa.
Esta estrategia de scalping identifica posibles reversiones a corto plazo con combinaciones de MA para obtener ganancias pequeñas frecuentes. Esto controla eficazmente pérdidas y riesgos individuales, lo que lo hace adecuado para el crecimiento de cuentas pequeñas. Sin embargo, existen limitaciones como un pequeño rango de ganancias y operaciones excesivas. Se pueden hacer mejoras mediante ajuste de parámetros, ajuste de TP, adición de filtros, etc., para expandir las ganancias mientras se conservan sus fortalezas, lo que hace que la estrategia sea más robusta y eficiente. También es importante aprender continuamente otras estrategias más avanzadas.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations movingaverage_signal = sma(close, input(9)) movingaverage_fast = sma(close, input(50)) movingaverage_slow = sma(close, input(200)) movingaverage_mid= sma(close, input(100)) //Entry bullish = crossover(movingaverage_signal, movingaverage_fast) strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window()) //Exit bearish = crossover(movingaverage_signal, movingaverage_slow) Stop_loss= ((input (2))/100) Take_profit= ((input (8))/100) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = bearish) // close < longStopPrice or close > longTakeProfit and window()) //PLOT plot(movingaverage_signal, color=color.black, linewidth=2 ) plot(movingaverage_fast, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=2) plot(movingaverage_mid, color=color.blue, linewidth=2)