Il s'agit d'une stratégie d'entrée croisée de moyenne mobile double basée sur la moyenne mobile à 5 jours (MA5). L'idée principale de cette stratégie est d'entrer dans des positions à une certaine distance au-dessus ou en dessous de la MA5, et de fermer des positions lorsque le prix de clôture est supérieur au prix d'entrée ou revient au prix d'entrée. Cette stratégie vise à capturer les tendances à court terme tout en contrôlant les risques.
Cette stratégie utilise la moyenne mobile simple (SMA) à 5 jours comme indicateur principal. Lorsque le prix d'ouverture d'une nouvelle bougie est supérieur au MA5, elle exécute le scénario d'achat 1; lorsque le prix d'ouverture d'une nouvelle bougie est inférieur au MA5 et que la distance du MA5 dépasse 0,002 point, elle exécute le scénario d'achat 2. Pour les conditions de vente, lorsque le prix de clôture est supérieur ou égal au prix d'entrée moyen, elle exécute le scénario de vente 1; lorsque le prix de clôture est inférieur à 0,1% du prix d'entrée moyen, elle exécute le scénario de vente 2.
Cette stratégie d'entrée double moyenne mobile est une stratégie simple basée sur les tendances à court terme. En franchissant au-dessus et en dessous du MA5 et en fixant des seuils de distance, les opportunités de tendance à court terme peuvent être capturées. Dans le même temps, les stop-loss à pourcentage fixe peuvent contrôler les risques. Cependant, cette stratégie a également certaines limitations, telles que le fait de s'appuyer sur un seul indicateur et le commerce fréquent. À l'avenir, plus d'indicateurs peuvent être introduits et les conditions de stop-loss et de take-profit peuvent être optimisées pour améliorer la robustesse et l'adaptabilité de la stratégie.
/*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")