SMAクロスオーバー イチモク 市場深度 量に基づく量的な取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-24 14:21:42
タグ:

img

概要

この戦略は"SMAクロスオーバーイチモク市場深度量ベースの定量取引戦略"と呼ばれる.主にSMAラインの黄金十字と死十字信号を使用し,イチモク市場深度クラウドチャート指標と取引量指標と組み合わせ,両方向のビットコインの自動取引を実装する.

原則

この戦略は主に以下の原則に基づいています.

  1. 異なるパラメータを持つSMAラインを使用して,ゴールデンクロスとデッドクロス取引信号を構築します.短期SMAが長期SMAを横切ると購入信号が生成され,短期SMAが長期SMAを下回ると販売信号が生成されます.

  2. イチモク・クラウド・チャート指標を使用して,市場の深さとトレンドを決定します. 閉じる価格がクラウド・チャートのリード・スパンAとリード・スパンBよりも高くなったときにのみ購入信号が生成され,閉じる価格がスペンAとスペンBよりも低くなったときにのみ販売信号が生成されます.これはほとんどの偽信号をフィルタリングします.

  3. 取引量の指標を使用して,低取引量の偽信号をフィルタリングします. 取引量が特定の期間中の平均量よりも大きい場合にのみ購入・販売信号が生成されます.

  4. グラフ上の買いと売るシグナルの位置をマークするためにプロットシェープ関数を使用します.

戦略は,短期的および長期的動向,市場深度指標,取引量指標を考慮し,取引決定を最適化します.

利点分析

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

  1. 基本的な買・売シグナルを生成するために SMA 金と死十字を使用し,複雑さを避ける.
  2. イチモク・クラウド・チャートを使って 市場の深さや 中長期の動向を判断します
  3. 取引量の指標を組み合わせて,低取引量の偽ブレイクを回避する.
  4. 異なる市場での最適化のための大きなパラメータ調整スペース
  5. 論理が明確で 分かりやすく 修正できます
  6. 戦略のテストと最適化を容易にするために,直感的に購入と販売信号を表示します.

リスク分析

この戦略のリスクには以下も含まれる.

  1. SMA線は誤った信号を容易に生成し,フィルターが必要です.
  2. イチモク・クラウド・チャートの市場構造判断効果はパラメータ設定に依存する.
  3. 取引量拡大効果は,取引量指標の判断を妨げる可能性があります.
  4. トレンドと振動する市場には異なるパラメータ設定が必要です
  5. 時間が遅れている

これらのリスクは SMA,イチモク,ボリュームなどのパラメータを最適化し,適切な取引製品を選択することで軽減できます

オプティマイゼーションの方向性

戦略はいくつかの方法で最適化できます.

  1. EMA,VIDYAなどより多くのMA指標をテストします
  2. イチモクパラメータの設定を
  3. 補足的な判断のために動力指標を使う.
  4. ストップ・ロストメカニズムを追加します
  5. 異なる市場や製品のためのパラメータを最適化します.
  6. マシン学習を使って パーマータを動的に最適化します

結論

この戦略は,SMAクロスオーバー,市場深度指標およびボリューム指標を統合して,比較的安定かつ信頼性の高い定量的な取引戦略を形成する.パラメータ調整,新しい技術指標を追加などによりさらに最適化することができる.バックテストおよびライブ結果は有望である.要約すると,この戦略は初心者にとって良い学習ケースを提供します.


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

//@version=4
strategy("SMA Crossover with Ichimoku & Volume", shorttitle="SCIV", overlay=true)

// Define the length of SMA
shortSmaLength = input(14, title="Short SMA Length")
longSmaLength = input(21, title="Long SMA Length")
volumeLength = input(20, title="Volume Moving Average Length")

// Calculate the SMA and Volume MA
shortSma = sma(close, shortSmaLength)
longSma = sma(close, longSmaLength)
volumeMa = sma(volume, volumeLength)

// Define the lengths of the Ichimoku Cloud components
tenkanLength = input(9, title="Tenkan Length")
kijunLength = input(26, title="Kijun Length")
senkouBLength = input(52, title="Senkou B Length")
displacement = input(26, title="Displacement")

// Calculate the Ichimoku Cloud components
tenkan = (highest(high, tenkanLength) + lowest(low, tenkanLength)) / 2
kijun = (highest(high, kijunLength) + lowest(low, kijunLength)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (highest(high, senkouBLength) + lowest(low, senkouBLength)) / 2

// Define the conditions for entry and exit with Ichimoku filter and Volume filter
buyEntry = crossover(shortSma, longSma) and close > senkouA[displacement] and close > senkouB[displacement] and volume > volumeMa
sellEntry = crossunder(shortSma, longSma) and close < senkouA[displacement] and close < senkouB[displacement] and volume > volumeMa

// Plot buy/sell conditions on the chart for visual inspection
plotshape(buyEntry, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", size=size.small)
plotshape(sellEntry, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", size=size.small)

// Execute the strategy
if (buyEntry)
    strategy.entry("Buy", strategy.long)
if (sellEntry)
    strategy.entry("Sell", strategy.short)

もっと