모멘텀 브레이크업 전략

저자:차오장, 날짜: 2024-02-29 14:04:50
태그:

img

전반적인 설명

이 전략의 주된 아이디어는 가격 동력 지표에 따라 암호화폐를 언제 구매하고 판매할지 결정하는 것입니다. 가격 반전이 발생하면서 트렌드를 파악하고 가격 움직임의 동력으로부터 이익을 얻으려고합니다.

전략 논리

이 전략은 두 가지 메트릭스를 사용하여 입점 및 출구 신호를 결정합니다. 첫 번째는 가격 자체입니다. 지난 10 개의 촛불에서 가장 높고 가장 낮은 가격을 검사합니다. 두 번째는 가격 - %K 값에 기반한 모멘텀 지표입니다.

특히, 가격이 지난 10 개의 촛불에서 가장 높은 가격의 98% 이하로 떨어지면 (구매 문턱), 전략은 구매 신호를 유발합니다. 이것은 하향 브레이크업이 일어난다는 것을 의미합니다. 마찬가지로 가격이 지난 10 개의 촛불에서 가장 낮은 가격의 102% 이상으로 상승하면 (판매 문턱), 전략은 판매 신호를 유발합니다.

이 방법으로 전략은 가격 움직임에 새로운 트렌드가 형성됨에 따라 전환점을 포착 할 수 있습니다. 구매/판매 임계치를 조정함으로써 전략의 브레이크 아웃 신호에 대한 민감도는 조정 될 수 있습니다.

이점 분석

이 전략의 가장 큰 장점은 가격 수준과 동력 요인을 모두 고려한다는 것입니다. 동력 지표에 의존하는 것은 가짜 브레이크에 의해 오해되는 대신 진정한 트렌드 역전을 보다 신뢰할 수 있습니다. 구체적인 장점은 다음과 같습니다:

  1. 실제 신호를 식별하기 위해 모멘텀 메트릭을 사용하여 소음을 필터합니다.
  2. 비교적 적은 최대 수요로 훌륭한 백테스트 결과
  3. 주파수는 조절 가능한 매개 변수를 통해 제어 할 수 있습니다.
  4. 위험은 스톱 로스를 포함함으로써 효과적으로 관리될 수 있습니다.

위험 분석

이 전략에서 주목해야 할 몇 가지 위험:

  1. 시장 붕괴는 멈출 수 없는 플래시 붕괴로 이어집니다.
  2. 거래 수수료와 미끄러짐의 영향
  3. 오버 트레이딩 또는 놓친 기회를 초래하는 매개 변수 잘못된 구성

완화:

  1. 단일 지표의 실패를 방지하기 위해 여러 요소 모델을 사용
  2. 최대 손실을 제한하기 위해 중지 손실을 포함
  3. 전략이 더 견고하기 위해 매개 변수를 최적화

더 나은 기회

전략의 추가 최적화:

  1. 부피, 볼링거 밴드 등과 같은 더 많은 필터를 추가합니다.
  2. 기계 학습에 기반한 매개 변수를 동적으로 조정합니다
  3. 주요 사건에 대한 전략을 조정하기 위해 근본 분석을 포함
  4. 수익을 증대시키기 위해 레버리지를 통해 자본 활용을 최적화합니다.

요약

전반적으로 이 추진력 브레이크아웃 전략은 암호화폐의 단기 거래 기회를 포착하는 데 적합하다. 이는 위험을 제어하면서 수익을 위해 가격 반전의 추진력 특성을 효과적으로 활용한다. 매개 변수와 모델에 대한 지속적인 정제로 인해 전략이 일관된 수익을 위해 더 견고해질 수 있다.


/*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")



더 많은