モメントブレイク戦略

作者: リン・ハーンチャオチャン開催日:2024年2月29日 (月) 14:04:50
タグ:

img

概要

この戦略の背後にある主なアイデアは,価格動向指標に基づいて暗号通貨の購入と販売のタイミングを決定することです. 価格逆転が起こるにつれてトレンドを把握し,価格動向の勢いから利益を得ようとします.

戦略の論理

この戦略は,エントリーと出口シグナルを決定するために2つのメトリックを使用します.最初のものは価格そのものです.過去10のキャンドルスタイクにおける最高値と最低値を確認します.もう1つは価格 - %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")



もっと