Die Hauptidee hinter dieser Strategie besteht darin, zu entscheiden, wann man Kryptowährung basierend auf Preisdynamikindikatoren kauft und verkauft.
Die Strategie verwendet zwei Metriken, um Ein- und Ausstiegssignale zu bestimmen. Die erste ist der Preis selbst
Wenn der Preis unter 98% des höchsten Preises in den letzten 10 Kerzen (Kaufschwelle) fällt, löst die Strategie ein Kaufsignal aus. Dies bedeutet, dass ein Abbruch eingetreten ist. Ähnlich, wenn der Preis über 102% des niedrigsten Preises in den letzten 10 Kerzen (Verkaufschwelle) steigt, löst die Strategie ein Verkaufssignal aus, was bedeutet, dass ein Aufbruch eingetreten ist.
Auf diese Weise kann die Strategie Umkehrpunkte erfassen, wenn sich neue Trends in der Preisbewegung bilden.
Der größte Vorteil dieser Strategie besteht darin, dass sowohl Preisniveau als auch Momentumfaktoren berücksichtigt werden.
Einige Risiken bei dieser Strategie:
Abmilderung:
Weitere Optimierungen der Strategie:
Insgesamt eignet sich diese Dynamik-Breakout-Strategie gut, um kurzfristige Handelschancen in Kryptowährungen zu erfassen. Sie nutzt effektiv die Dynamik-Eigenschaften von Preisumkehrungen für den Gewinn und kontrolliert gleichzeitig das Risiko.
/*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")