9と20移動平均のクロスオーバー戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-28 11:17:10
タグ:

概要

この戦略は,トレンド方向を決定し,取引決定を行うために9日間の移動平均値と20日間の移動平均値のクロスオーバーを使用する.移動平均値,キャンドルスティック,ボリューム価格分析を統合し,典型的な短期取引戦略となっています.

戦略の論理

これは9日間の移動平均値と20日間の移動平均値のクロスオーバーに基づいたシンプルなトレンドフォロー戦略です.具体的には以下の部分を含みます.

  1. ろうそくの色を設定します.閉店価格が昨日より高くなった場合,緑色で,閉店価格が昨日より低くなった場合,赤色になります.

  2. 9日間のMAが上がり,20日間のMAが上がると緑色になります. 9日間のMAが下がり,20日間のMAが下がると赤色になります. そうでなければ黒色になります.

  3. 20日間のMAの色を設定します. 20日間のMAが上昇すると黒色,低下すると黒色になります. そうでなければ変化しません.

  4. 海軍の200日間の MAを図示する.

  5. 9日目と20日目のMAsの交差点を赤色で図に描く.

  6. 総量重度の平均価格 (VWAP) を白色に図示する.

  7. 9 日間MAが20 日間MAを上回るときに長行し,下回るときに短行する.

上記は,移動平均値,キャンドルスタイク,クロスオーバーポイントおよびボリューム価格分析を組み合わせて,市場の動向とシグナルを決定します.これは典型的な技術分析戦略です.

利点

この簡単な短期戦略には以下の利点があります

  1. 2つのMAsの関係を見てください

  2. 短期取引に適した小引き下げ. 9日および20日MAsは平滑効果を持ち,市場の騒音を軽減します.

  3. トレンドシグナルを識別しやすい.MAクロスは明確なトレンド逆転シグナルです.

  4. より良い意思決定のための複数の技術指標を統合します.キャンドルスタイク,MAおよびボリューム価格分析は,トレンドの包括的な見方をします.

  5. MQL4は,簡単なテストと最適化のためのシンプルでクリーンなコードです. MQL4は,迅速な実装とパラメータチューニングを可能にします.

  6. 異なる製品と時間枠に適用できます.OHLCデータを持つすべての製品で動作します.

リスク

この戦略は利点にもかかわらず,以下のリスクも伴います.

  1. MAパラメータは,異なる市場のために最適化する必要があります.

  2. 誤ったブレイクや引き戻りに 傾向がある 信号はすぐに無効化する

  3. 市場が動向しない場合,頻繁に損失が発生する可能性があります.

  4. 短信信号が間違って 変動する市場では 損失が増える可能性があります

  5. 主要なニュースに反応できない. 歴史的なデータだけに頼る.

リスクに対処するために,ポジションサイズ調整,ストップロスの使用,パラメータの最適化,または他の要因との組み合わせを検討します.

最適化

戦略は以下の側面で最適化できます.

  1. 異なる市場に最適な組み合わせを見つけるために,MA期間を最適化します.

  2. MACD,KD,ボリンジャー帯など,他の指標をフィルター信号に追加します.これは誤った信号を減らすことができます.

  3. ストップ・ロスのストラテジーを追加します.

  4. 明らかに動いている市場のみで取引し,範囲限定市場を避ける.

  5. ポジションのサイズ,ストップ・ロース,ストップ・ロースなどを含むマネーマネジメントモデルを最適化し,安定性を向上させる.

  6. 異なる製品と時間枠で性能をテストし,パラメータを調整します.

  7. 機能エンジニアリングやパラメータ最適化のために RNN や LSTM などの機械学習モデルを適用する.

結論

概要すると,これはシンプルで実践的な短期トレンドフォロー戦略である.MAクロスを利用してトレンドを特定し,キャンドルスタイク,MAとボリューム価格分析を統合して意思決定を行う.しかし,パラメータ最適化,ストップ損失,マネーマネジメントを通じて対処する必要があるいくつかのリスクもあります.機械学習はパフォーマンスをさらに向上させることができます.全体として,調査し適用する価値のある定量的な取引に信頼性の高いアプローチを提供します.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1
strategy("Dieyson daytrade EMA 9+20+200+VWAP and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

plot(ema(close,9), color=col8, style=line, linewidth=2)
plot(ema(close,9), color=col28, style=line, linewidth=2)
plot(ema(close,9), color=col38, style=line, linewidth=2)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(black,0) : na)
col2 = (MMred ? color(black,0) : na)
col3 = (not MMgreen and not MMred ? color(black,0) : na)
col4 = color(navy,0)
plot(ema(close,20), color=col, style=line, linewidth=1)
plot(ema(close,20), color=col2, style=line, linewidth=1)
plot(ema(close,20), color=col3, style=line, linewidth=1)
plot(ema(close,200), color=col4, style=line, linewidth=3)
plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
//plot(cross(ema(close,9), ema(close,200)) ? ema(close,9) : na, style = cross, color=fuchsia, transp=0,linewidth = 4)

colorvwap = color(white,0)
plot(vwap, color=colorvwap, style=line, linewidth=1)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
v = crossunder(ema(close,9), ema(close,20))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)




もっと