이 전략의 주된 아이디어는 가격 동력 지표에 따라 암호화폐를 언제 구매하고 판매할지 결정하는 것입니다. 가격 반전이 발생하면서 트렌드를 파악하고 가격 움직임의 동력으로부터 이익을 얻으려고합니다.
이 전략은 두 가지 메트릭스를 사용하여 입점 및 출구 신호를 결정합니다. 첫 번째는 가격 자체입니다. 지난 10 개의 촛불에서 가장 높고 가장 낮은 가격을 검사합니다. 두 번째는 가격 - %K 값에 기반한 모멘텀 지표입니다.
특히, 가격이 지난 10 개의 촛불에서 가장 높은 가격의 98% 이하로 떨어지면 (구매 문턱), 전략은 구매 신호를 유발합니다. 이것은 하향 브레이크업이 일어난다는 것을 의미합니다. 마찬가지로 가격이 지난 10 개의 촛불에서 가장 낮은 가격의 102% 이상으로 상승하면 (판매 문턱), 전략은 판매 신호를 유발합니다.
이 방법으로 전략은 가격 움직임에 새로운 트렌드가 형성됨에 따라 전환점을 포착 할 수 있습니다. 구매/판매 임계치를 조정함으로써 전략의 브레이크 아웃 신호에 대한 민감도는 조정 될 수 있습니다.
이 전략의 가장 큰 장점은 가격 수준과 동력 요인을 모두 고려한다는 것입니다. 동력 지표에 의존하는 것은 가짜 브레이크에 의해 오해되는 대신 진정한 트렌드 역전을 보다 신뢰할 수 있습니다. 구체적인 장점은 다음과 같습니다:
이 전략에서 주목해야 할 몇 가지 위험:
완화:
전략의 추가 최적화:
전반적으로 이 추진력 브레이크아웃 전략은 암호화폐의 단기 거래 기회를 포착하는 데 적합하다. 이는 위험을 제어하면서 수익을 위해 가격 반전의 추진력 특성을 효과적으로 활용한다. 매개 변수와 모델에 대한 지속적인 정제로 인해 전략이 일관된 수익을 위해 더 견고해질 수 있다.
/*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")