Основная идея этой стратегии заключается в том, чтобы решить, когда покупать и продавать криптовалюту на основе индикаторов динамики цен.
Стратегия использует два показателя для определения сигналов входа и выхода. Первый - сама цена
В частности, когда цена падает ниже 98% от самой высокой цены за последние 10 свечей (покупать порог), стратегия запускает сигнал покупки. Это означает, что произошел падение. Точно так же, когда цена поднимается выше 102% от самой низкой цены за последние 10 свечей (продать порог), стратегия запускает сигнал продажи, что означает, что произошел подъем.
Таким образом, стратегия может зафиксировать переломные моменты по мере формирования новых тенденций в движении цен.
Наибольшее преимущество этой стратегии заключается в том, что она учитывает как уровень цен, так и факторы импульса.
Некоторые риски, которые следует учитывать при этой стратегии:
Уменьшение последствий:
Дальнейшие оптимизации стратегии:
В целом эта стратегия быстрого выхода хорошо подходит для захвата краткосрочных торговых возможностей в криптовалютах. Она эффективно использует характеристики быстрого изменения цен для получения прибыли, контролируя риск.
/*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")