
Se trata de una estrategia de apertura de posición de doble línea media cruzada basada en el promedio móvil de 5 días (MA5). La idea principal de la estrategia es: abrir una posición a cierta distancia por encima o por debajo de MA5 y cerrar cuando el precio de cierre es más alto que el precio de apertura o volver al precio de apertura. La estrategia tiene como objetivo capturar tendencias a corto plazo y controlar el riesgo.
La estrategia utiliza el promedio móvil simple de 5 días (SMA) como indicador principal. Se ejecuta la escena de compra cuando el precio de apertura de la nueva carta es superior a la MA5; se ejecuta la escena de compra cuando el precio de apertura de la nueva carta es inferior a la MA5 y está a más de 0.002 puntos de la MA5; se ejecuta la escena de venta cuando el precio de apertura es superior a la media de la posición abierta o igual a la media de la posición abierta; se ejecuta la escena de venta cuando el precio de apertura es inferior al 0.1% de la media de la posición abierta.
La estrategia de apertura de posición de doble equilátero cruzado es una estrategia simple basada en tendencias a corto plazo. A través de la travesía ascendente y descendente de la MA5 y la configuración de la distancia al límite, se pueden capturar oportunidades de tendencia a corto plazo. Al mismo tiempo, el stop loss de proporción fija puede controlar el riesgo.
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("YBS Strategy 1.1", overlay=true)
// Moving Average Settings
ma5 = ta.sma(close, 5)
// Scenario 1: Buy when a new candle opens above the MA5
buy_condition_scenario1 = open > ma5
// Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5
distance_from_ma5 = open - ma5
buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here
// Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price
sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price
sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price
// Execute buy and sell orders
if (buy_condition_scenario1 and not (strategy.opentrades > 0))
strategy.entry("Buy Scenario 1", strategy.long)
if (buy_condition_scenario2 and not (strategy.opentrades > 0))
strategy.entry("Buy Scenario 2", strategy.long)
if (sell_condition_scenario1)
strategy.close("Buy Scenario 1")
if (sell_condition_scenario2)
strategy.close("Buy Scenario 2")