資源の読み込みに... 荷物...

GM-8 と ADX の 双重 移動 平均 戦略

作者: リン・ハーンチャオチャン開催日:2024年4月30日15時50分57秒
タグ:ADXエイマ

img

概要

GM-8&ADXデュアルムービング平均戦略は,複数の技術指標を組み合わせた定量的な取引戦略である.GM-8指標,ADX指標,および第2のEMA指標を利用して潜在的な買い売り信号を特定する.GM-8指標は価格動向を決定するために使用され,ADX指標はトレンド強さを確認するために使用され,第2のEMA指標はトレンド方向を決定するのに役立ちます.価格がGM-8移動平均を突破し,ADX指標が限界を超えると買い売り信号が生成されます.この戦略の利点は複数の指標の組み合わせにあります.これは信号の信頼性を向上させます.しかし,偽の信号や遅れなどの特定のリスクも伴います.戦略の方向性にはパラメータ最適化,ストップ損失と利得の最適化などが含まれます.全体的に,GM-8&ADXデュアルムービング平均は比較的成熟した取引戦略であり,さらなる調査と利得を得ています.

戦略原則

GM-8とADXの二重移動平均戦略の原則は以下のとおりである.

  1. 価格動向を決定するためにGM-8指標を計算します.閉値がGM-8移動平均値以上/以下を横切ると,潜在的なトレンド逆転を示します.
  2. ADX指標を計算してトレンド強さを確認します.ADX指標が限界値 (例えば34) を超えると,現在のトレンドが強くなることを示し,エントリーを検討することができます.
  3. 2番目の EMA インディケーターを計算し,トレンド方向を決定します.価格が2番目の EMA を上回ると,上昇傾向があります.そうでなければ,下落傾向があります.
  4. GM-8,ADX,そして第2EMAを全面的に検討し,購入・販売シグナルを生成します.
    • ロング・シグナル:現在の閉盤価格がGM-8移動平均線を上回り,GM-8と第2EMAを上回り,ADXは値を超えています.
    • ショートシグナル:現在の閉盤価格がGM-8移動平均線を下回り,GM-8と第2EMAの両方よりも低く,ADXは値を超えています.
  5. 入力したら,出口信号が表示されるまで位置を保持します.
    • ロングシグナルを閉じる:現在の閉じる価格はGM-8移動平均線を下回り,GM-8より低い.
    • ショートシグナルを閉じる: 現在の閉店価格がGM-8移動平均線を上回り,GM-8より高い.

戦略 の 利点

  1. 信号の信頼性を向上させるために複数の指標を組み合わせます.この戦略は,トレンド指標 (GM-8),トレンド強度指標 (ADX),トレンド方向指標 (EMA) を包括的に考慮し,いくつかの誤った信号を効果的にフィルタリングすることができます.
  2. 高柔軟性のための調整可能なパラメータ:この戦略の様々なパラメータ,例えばGM-8期,ADX期,ADXしきい値,第2EMA期など,市場特性と個人の好みに合わせて,異なる取引スタイルに適応するために調整できます.
  3. この戦略の取引論理は,比較的シンプルで直接的で,理解し実行するのが簡単で,初心者の量的なトレーダーが学ぶために使用するのに適しています.

戦略リスク

  1. 遅れの傾向認識:GM-8および他の傾向ベースの指標は,本質的に遅れの傾向指標であり,傾向認識が遅れて,最適なエントリーポイントを逃したり損失を増やす可能性があります.
  2. 頻繁な取引:この戦略は,比較的頻繁な買い売り信号を生成し,頻繁な取引につながり,取引コストを増やし,範囲限定市場では不良なパフォーマンスを発揮する可能性があります.
  3. パラメータ選択の難しさ:この戦略には複数のパラメータが含まれ,最適なパラメータ組み合わせを見つけるには,多くのバックテストと分析作業が必要であり,初心者にとっては挑戦的かもしれません.

戦略の最適化方向

  1. GM-8,ADX,EMAに加えて,取引量,変動等などの他の補助指標を追加して信号品質をさらに向上させることができます.
  2. 入口と出口のタイミングを最適化: 単一の取引リスクを軽減し,全体的な収益性を向上させるために,段階的なポジション構築と段階的な利益とストップロスの方法を導入することを検討する.
  3. パラメータを動的に調整する: 市場状況の変化に基づいて,トレンド市場ではより長いGM-8期間,レンジバインド市場ではより短いGM-8期間を使用するなど,戦略パラメータを動的に調整する.
  4. ポジション管理を追加する: 口座資本状況やリスク偏好などの要因に基づいて,過剰なリスク集中を避けるために,各取引のポジションサイズを制御する.

概要

GM-8&ADXデュアルムービング・アベレージストラテジーは,購入・売却のシグナルを識別するために複数の技術指標を組み合わせたクラシックな定量的な取引戦略である.この戦略の利点は,シンプルで明確な論理,比較的信頼性の高いシグナル,そして初心者が学習し使用するための適性にある.しかし,遅れのトレンド認識,頻繁な取引,パラメータ選択の困難などのリスクも伴う.戦略のパフォーマンスをさらに向上させるために,より多くのフィルタリング条件を導入し,エントリーと出口タイミングを最適化し,パラメータを動的に調整し,ポジション管理を追加するなどの最適化措置を検討することができる.全体として,GM-8&ADXデュアルムービング・アベレージストラテジは定量的な取引のための良好な基本的な枠組みを提供し,実践で継続的な精製と改善に値する.


/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)

// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")

// Calculate the ADX manually
adx(high, low, close, length) =>
    sum_truerange = 0.0
    sum_plusDM = 0.0
    sum_minusDM = 0.0
    for i = 1 to length
        truerange_calc = high[i] - low[i]
        truerange_prev_close = high[i] - close[i-1]
        truerange_close = low[i] - close[i-1]
        truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
        truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
        sum_truerange := sum_truerange + truerange_calc
        plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
        sum_plusDM := sum_plusDM + plusDM
        minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
        sum_minusDM := sum_minusDM + minusDM
    plusDI = sum_plusDM / sum_truerange * 100
    minusDI = sum_minusDM / sum_truerange * 100
    sumDI = plusDI + minusDI
    adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)

// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)

// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold

// Entry and exit logic
if (buy_condition)
    strategy.entry("Buy", strategy.long, qty=lot_size)

if (sell_condition)
    strategy.entry("Sell", strategy.short, qty=lot_size)

// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8

if (exit_buy_condition)
    strategy.close("Buy")

if (exit_sell_condition)
    strategy.close("Sell")


関連性

もっと