イチモク・クラウド・トレーディング・戦略

作者: リン・ハーンチャオチャン,日付: 2023年10月8日12時24分06秒
タグ:

概要

この戦略は,日々のチャート上のイチモク雲指標に基づいて単純なトレンドフォロー取引を実施する. 変換線,ベースライン,リードスパン1,リードスパン2を計算し,閉じる価格の位置をクラウドと比較して購入・売却信号を生成する. 閉じる価格がクラウド上にあるとき,それは上昇傾向とみなされ,購入信号が生成される. 閉じる価格がクラウドの下にあるとき,それはダウン傾向とみなされ,販売信号が生成される.

戦略の論理

この戦略は主に以下の式に基づいて イチモク雲指標の5行を計算します

  1. 換算線: 9 期間の平均値で,最高高値と最低低値

  2. ベーシックライン: 最大高値と最低低値の26期間の平均

  3. Leading Span 1: 変換線とベースラインの平均

  4. リードスパン 2: 52 期間の最高値と最低値の平均

  5. 遅延期間: 閉店価格が26期遅れ

閉じる価格が雲の上にある場合,それは上昇傾向とみなされ,購入信号が生成されます.閉じる価格が雲の下にある場合,それは下落傾向とみなされ,販売信号が生成されます.

具体的には,この戦略は,次のステップを通じてこの論理を実装します.

  1. 変換線,ベースライン,リードスパン1とリードスパン2を計算する

  2. 閉じる価格の遅延期間を 26 期間の遅延でグラフ化します

  3. 閉じる価格がクラウド (リードスパン 1 と 2) の上にあるかどうかを確認し,真である場合は購入信号を生成します.

  4. 閉じる価格が雲の下にあるかどうかを確認し,真である場合は販売信号を生成します

  5. 戦略設定に基づいて買い/売る信号で取引を行う

利点分析

この戦略の主な利点は以下の通りです.

  1. イチモククラウドを使用すると,トレンドを効果的に特定し,トレンド方向に沿ったシグナルを生成し,レンジバインド市場での不必要な取引を避けることができます.

  2. 計算パラメータは,日々の取引に最適化されています.

  3. リードスパン1とスパン2の両方を使えば 複数の信号を組み合わせて 誤った信号をフィルタリングします

  4. 遅延したスパン遅延は,雲の破裂後に即座に撤退するリスクを減らすのに役立ちます.

  5. シンプルで明快な論理で 分かりやすく実行できます

  6. 他の指標は必要ありません 完全なトレンドフォローシステムです

リスク分析

考慮すべきリスクは:

  1. クラウドは特定の市場条件で失敗し,間違った信号を生成する可能性があります.

  2. パラメータが 変化する市場動態に 適応できなければ システムは弱体化します

  3. 固定遅延は 機会を逃す可能性があります

  4. まだ完全にウィップソーを避けることはできません.

  5. 速度の逆転を捉えることができない.

  6. 主要なトレンドと短い修正を区別できないため,損失を引き起こす可能性があります.

改善 の 分野

戦略を改善する方法:

  1. 異なる市場条件に変換線のようなパラメータを最適化します

  2. トレンドフィルタリングインジケーターを追加して強さと方向性を確認します

  3. ストップ・ロスを実行し,トレード毎の損失を制御するために利益を取ります

  4. 音量が高い雲からの信号だけ

  5. 市場体制に基づいて異なるパラメータセットを使用する.

  6. 自動最適化パラメータに 機械学習を追加します

  7. 固定遅延の代わりに 動的遅延の範囲を考慮してください

概要

このイチモク・クラウド戦略は,基本的トレンドを規則に従って実装しているが,改善は可能である.コアロジックは健全で,パラメータは最適化され,良好なベースラインアルゴ・トレード戦略である.さらにクラウドパラメータの強化,フィルターとリスク制御を追加することで,非常に実践的な定量的なトレードシステムになることができる.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, commission_type=strategy.commission.percent,commission_value=0.075, initial_capital = 1000,  default_qty_type=strategy.percent_of_equity, default_qty_value=100)

conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=0, title="Displacement")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(leadLine1, offset = displacement, color=color.green,
 title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=color.red, 
 title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red)
buy = close > leadLine1[26] and close > leadLine2[26]
sell = close < leadLine1[26] and close < leadLine2[26]
strategy.entry("Buy", strategy.long, when = buy)
strategy.entry("Sell", strategy.short, when = sell)


もっと