L'idée principale derrière cette stratégie est de décider quand acheter et vendre une crypto-monnaie en fonction des indicateurs de dynamique des prix.
La stratégie utilise deux indicateurs pour déterminer les signaux d'entrée et de sortie. Le premier est le prix lui-même
Plus précisément, lorsque le prix tombe en dessous de 98% du prix le plus élevé au cours des 10 derniers cierges ( seuil d'achat), la stratégie déclenche un signal d'achat. Cela signifie qu'une rupture à la baisse s'est produite. De même, lorsque le prix dépasse 102% du prix le plus bas au cours des 10 derniers cierges ( seuil de vente), la stratégie déclenche un signal de vente, ce qui signifie qu'une rupture à la hausse s'est produite.
En ajustant les seuils d'achat/vente, la sensibilité de la stratégie aux signaux de rupture peut être ajustée.
Le plus grand avantage de cette stratégie est qu'elle prend en compte à la fois le niveau des prix et les facteurs de dynamique.
Quelques risques à prendre en compte avec cette stratégie:
Les mesures d'atténuation
D'autres optimisations de la stratégie:
Dans l'ensemble, cette stratégie de rupture de dynamique est bien adaptée pour saisir les opportunités de trading à court terme dans les crypto-monnaies. Elle capitalise efficacement sur les caractéristiques de dynamique des renversements de prix pour le profit tout en contrôlant le risque.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © nyxover //@version=5 strategy("Stratégie d'achat bas/vendre haut", shorttitle="Achat/Vente") // Paramètres d'entrée crypto = input("BTC", "Crypto-monnaie") capital = input(1.0, "Capital de départ") buy_threshold = input(0.02, "Seuil d'achat") sell_threshold = input(0.02, "Seuil de vente") fee_rate = input(0.01, "Taux de frais") // Balances var float initial_balance = na var float current_balance = na // Fonction pour calculer les frais calculate_fees(amount) => amount * fee_rate // Fonction pour acheter should_buy() => close < ta.highest(close, 10) * (1 - buy_threshold) // Fonction pour vendre should_sell() => close > ta.lowest(close, 10) * (1 + sell_threshold) // Logique de la stratégie if barstate.isfirst initial_balance := capital current_balance := capital if should_buy() amount_to_buy = current_balance / close fees = calculate_fees(amount_to_buy) current_balance := current_balance - amount_to_buy - fees strategy.entry("Achat", strategy.long) if should_sell() amount_to_sell = current_balance fees = calculate_fees(amount_to_sell) current_balance := current_balance - amount_to_sell - fees strategy.close("Achat") // Affichage des informations plot(initial_balance, color=color.green, title="Capital de départ") plot(current_balance, color=color.blue, title="Capital actuel")