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

量的な取引戦略 変更されたハルム移動平均値とイチモク・キンコ・ヒョーに基づいた

作者: リン・ハーンチャオチャン開催日:2024年4月28日 13:39:00
タグ:HMAIKHSWMA

img

概要

この戦略は,2つの技術指標,改変されたハル移動平均値 (HMA) とイチモク・キンコ・ヒョウ (IKHS) を組み合わせ,中長期市場傾向を把握することを目的としている.主なアイデアは,HMAとIKHSのキジュンセン (ベースライン) の間のクロスオーバー信号を利用し, IKHSのクモ (クラウド) をフィルタリング条件として使ってトレンド方向を決定し,取引決定を下すことである.

戦略の原則

  1. 変更されたハルム移動平均 (HMA) を計算する
    • 重度の移動平均値 (WMA) を計算し,修正されたHMAを得るため,二重滑らかを行います.
  2. イチモク・キンコ・ヒョウの様々な指標を計算する
    • テンカン・セン (変換線),キジュン・セン (ベースライン),センクー・スパンA (リード・スパンA),センクー・スパンB (リード・スパンB) を計算する
  3. 取引信号を生成する
    • HMAがキジュン・センの上を横切って 閉じる価格がクモの上を横切ると 長い信号を生成します
    • HMAがキジュン・センを下回り,閉値がクモを下回ると,ショート信号を生成します.
  4. 取引を実行する
    • 長期または短期信号に基づいて対応する取引を行う
  5. エグジット取引
    • HMAが反対方向にキジュンセンを横切ると,現在の位置を出る

戦略 の 利点

  1. 市場動向をより良く把握するために,HMAとIKHSという2つの効果的な傾向指標を組み合わせます.
  2. IKHSのクモをフィルタリング条件として利用し,誤った信号を効果的に削減し,取引の勝利率を改善します.
  3. 修正されたHMAは,伝統的な移動平均値と比較して,より速い応答速度と遅延が低く,市場の変化を迅速に反映することを可能にします
  4. 戦略の論理は明確で,理解し,実行しやすい.様々な市場と時間枠に適しています.

戦略リスク

  1. 市場変動や不透明な動向の間,戦略はより多くの誤った信号を生成し,頻繁な取引と資本損失につながる可能性があります.
  2. 戦略のパラメータ設定は,取引結果に重要な影響を与えるし,異なるパラメータ組み合わせは,異なるパフォーマンスをもたらす可能性があります.
  3. 戦略は,市場の緊急事態や不合理な行動を考慮していない.そして,極端な市場状況下でより大きなリスクに直面する可能性があります.

戦略の最適化方向

  1. 信号の信頼性や安定性を向上させるため,他の技術指標や市場情勢指標を導入する.
  2. 戦略パラメータを最適化します.例えば,最適パラメータの組み合わせを見つけるために機械学習や遺伝アルゴリズムを使用します.
  3. ストップ・ロストとテイク・プロフィートのレベルを設定し,ポジションサイズ等を設定するリスク管理モジュールを追加することを検討し,戦略のリスク露出を制御する.
  4. 異なる市場と時間枠の特徴に基づいて,戦略の標的調整と最適化を行う

概要

この戦略は,変更されたハル移動平均値とイチモク・キンコ・ヒョーを組み合わせて,比較的安定したトレンドフォロー取引システムを構築する. 戦略論理は明確で実行しやすいが,一定の利点もある. しかし,戦略のパフォーマンスは依然として市場状況とパラメータ設定の影響を受け,さらなる最適化と改善を必要とする. 実用的な応用では,よりよい取引結果を得るために,特定の市場特性とリスク偏好に基づいて適切な調整と管理を行うことが必要である.


/*backtest
start: 2024-04-20 00:00:00
end: 2024-04-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull MA_X + Ichimoku Kinko Hyo Strategy", shorttitle="HMX+IKHS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)

// Hull Moving Average Parameters
keh = input(12, title="Double HullMA")
n2ma = 2 * wma(close, round(keh/2)) - wma(close, keh)
sqn = round(sqrt(keh))
hullMA = wma(n2ma, sqn)

// Ichimoku Kinko Hyo Parameters
tenkanSenPeriods = input(9, title="Tenkan Sen Periods")
kijunSenPeriods = input(26, title="Kijun Sen Periods")
senkouSpanBPeriods = input(52, title="Senkou Span B Periods")
displacement = input(26, title="Displacement")

// Ichimoku Calculations
highestHigh = highest(high, max(tenkanSenPeriods, kijunSenPeriods))
lowestLow = lowest(low, max(tenkanSenPeriods, kijunSenPeriods))
tenkanSen = (highest(high, tenkanSenPeriods) + lowest(low, tenkanSenPeriods)) / 2
kijunSen = (highestHigh + lowestLow) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)
senkouSpanB = (highest(high, senkouSpanBPeriods) + lowest(low, senkouSpanBPeriods)) / 2

// Plot Ichimoku
p1 = plot(tenkanSen, color=color.blue, title="Tenkan Sen")
p2 = plot(kijunSen, color=color.red, title="Kijun Sen")
p3 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p4 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p3, p4, color=color.gray, title="Kumo Shadow")

// Trading Logic
longCondition = crossover(hullMA, kijunSen) and close > senkouSpanA[displacement] and close > senkouSpanB[displacement]
shortCondition = crossunder(hullMA, kijunSen) and close < senkouSpanA[displacement] and close < senkouSpanB[displacement]

// Strategy Execution
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Logic - Exit if HullMA crosses KijunSen in the opposite direction
exitLongCondition = crossunder(hullMA, kijunSen)
exitShortCondition = crossover(hullMA, kijunSen)

if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")


関連性

もっと