Esta estrategia es una estrategia de seguimiento de tendencia a largo plazo basada en el cruce de promedios móviles simples (SMA). Genera señales de compra cuando el SMA de corto período cruza el SMA de largo período y sigue la tendencia alcista. Al mismo tiempo, también establece tomar ganancias y detener pérdidas basadas en ciertos porcentajes del precio de entrada para gestionar riesgos.
La estrategia utiliza principalmente las señales
Además, la estrategia también establece dinámicamente el take profit y el stop loss basados en el 1.5% y el 1% del precio de entrada. Eso significa que el take profit será 1.5% por encima del precio de entrada y el stop loss será 1% por debajo. A través de este enfoque, gestiona los riesgos estableciendo una relación riesgo-recompensación predefinida.
Esta es una tendencia a mediano y largo plazo siguiendo la estrategia basada en el cruce de SMA. Identifica las tendencias con SMA y controla los riesgos estableciendo take profit y stop loss. La ventaja es que es simple y fácil de implementar, adecuado para principiantes en el comercio cuantitativo. Mientras tanto, también hay espacios para mejora, como agregar otros filtros de señal, seguir tomando ganancias/stop loss dinámicamente, ajustar las relaciones riesgo-recompensa basadas en la volatilidad, etc. A través de mejoras continuas, la estrategia puede volverse más robusta y adaptarse a más entornos de mercado.
/*backtest start: 2023-01-28 00:00:00 end: 2024-02-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Masterdata //@version=5 strategy("Simple MA Crossover Long Strategy v5", overlay=true) // Define the short and long moving averages shortMa = ta.sma(close, 9) longMa = ta.sma(close, 21) // Plot the moving averages on the chart plot(shortMa, color=color.green) plot(longMa, color=color.orange) // Generate a long entry signal when the short MA crosses over the long MA longCondition = ta.crossover(shortMa, longMa) if (longCondition) strategy.entry("Long", strategy.long) // Define the take profit and stop loss as a percentage of the entry price takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price // Calculate the take profit and stop loss price levels dynamically takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc) stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc) // Set the take profit and stop loss for the trade if (longCondition) strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)