
Il s’agit d’une stratégie d’ouverture de position basée sur la moyenne mobile à 5 jours (MA5). L’idée principale de cette stratégie est d’ouvrir une position à une certaine distance au-dessus ou en dessous de la MA5 et de la fermer lorsque le prix de clôture est supérieur au prix d’ouverture ou de la fermer lorsque le prix d’ouverture revient.
La stratégie utilise la moyenne mobile simple à 5 jours (SMA) comme indicateur principal. Exécutez le scénario d’achat lorsque le prix d’ouverture du nouveau tableau est supérieur à MA5; l’exécutez le scénario d’achat lorsque le prix d’ouverture du nouveau tableau est inférieur à MA5 et à plus de 0,002 point de MA5; pour les conditions de vente, exécutez le scénario de vente lorsque le prix d’ouverture est supérieur à la moyenne de l’ouverture ou égal à la moyenne de l’ouverture; l’exécutez le scénario de vente lorsque le prix d’ouverture est inférieur à 0,1% de la moyenne de l’ouverture.
La stratégie de démarrage de position en croisement bi-homogène est une stratégie simple basée sur les tendances à court terme. La traversée de la MA5 vers le haut et vers le bas, ainsi que la configuration de la distance de la limite, permettent de saisir les opportunités de tendance à court terme.
/*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")