
Esta estrategia es una estrategia de inversión de línea cruzada basada en un promedio móvil simple. Utiliza un promedio móvil simple de longitud 1 y longitud 5.
Esta estrategia calcula el promedio móvil simple de 1 día SMA1 y el promedio móvil simple de 5 días SMA5 de los precios de cierre. Se hace una entrada adicional cuando se usa SMA5 sobre SMA1 y una entrada de cierre cuando se usa SMA5 debajo de SMA1. Se establece un stop loss de \( 5 por debajo del precio de entrada y un stop loss de \) 150 por encima del precio de entrada.
La dirección de la optimización:
Esta estrategia es una estrategia simple de doble línea uniforme, con características de operación simple y fácil de implementar, que puede verificar rápidamente la idea de la estrategia. Sin embargo, su capacidad de soporte y su espacio de ganancia son limitados, y se necesita optimizar los parámetros y las condiciones de filtración para adaptarse a un mayor número de entornos de mercado. Como la primera estrategia de cuantificación para principiantes, contiene los elementos básicos que se pueden mejorar iterablemente como un marco simple.
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-19 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100)
var float lastLongOrderPrice = na
var float lastShortOrderPrice = na
longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5))
if (longCondition)
strategy.entry("Long Entry", strategy.long) // Enter long
shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5))
if (shortCondition)
strategy.entry("Short Entry", strategy.short) // Enter short
if (longCondition)
lastLongOrderPrice := close
if (shortCondition)
lastShortOrderPrice := close
// Calculate stop loss and take profit based on the last executed order's price
stopLossLong = lastLongOrderPrice - 5 // 10 USDT lower than the last long order price
takeProfitLong = lastLongOrderPrice + 151 // 100 USDT higher than the last long order price
stopLossShort = lastShortOrderPrice + 5 // 10 USDT higher than the last short order price
takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price
// Apply stop loss and take profit to long positions
strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong)
// Apply stop loss and take profit to short positions
strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)