Esta é uma estratégia de entrada cruzada de média móvel dupla baseada na média móvel de 5 dias (MA5). A ideia principal desta estratégia é entrar em posições a uma certa distância acima ou abaixo da MA5, e fechar posições quando o preço de fechamento for maior do que o preço de entrada ou retornar ao preço de entrada. Esta estratégia visa capturar tendências de curto prazo enquanto controla os riscos.
Esta estratégia usa a média móvel simples de 5 dias (SMA) como indicador principal. Quando o preço de abertura de uma nova vela está acima do MA5, executa o cenário de compra 1; quando o preço de abertura de uma nova vela está abaixo do MA5 e a distância do MA5 excede 0,002 pontos, executa o cenário de compra 2. Para as condições de venda, quando o preço de fechamento é maior ou igual ao preço de entrada médio, executa o cenário de venda 1; quando o preço de fechamento é inferior a 0,1% do preço de entrada médio, executa o cenário de venda 2.
Esta estratégia de entrada de crossover de média móvel dupla é uma estratégia simples baseada em tendências de curto prazo. Através de cruzar acima e abaixo do MA5, e definir limiares de distância, as oportunidades de tendência de curto prazo podem ser capturadas. Ao mesmo tempo, os stop-loss de porcentagem fixa podem controlar os riscos. No entanto, esta estratégia também tem algumas limitações, como confiar em um único indicador e negociação frequente. No futuro, mais indicadores podem ser introduzidos e as condições de stop-loss e take-profit podem ser otimizadas para melhorar a robustez e adaptabilidade da estratégia.
/*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")