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

ゴールデンクロス戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-27 16:23:51
タグ:

概要

ゴールデンクロス戦略は,長期投資家がエントリータイミングを決定するのに役立つシンプルな市場指標である. 戦略は,短期および長期移動平均のクロスオーバーに基づいて取引信号を生成する. 短期移動平均が長期移動平均を超越してゴールデンクロスを形成すると,市場はブールトレンドに入り,ロングポジションが開くことを示唆する. 短期移動平均が長期移動平均を下回り,デスクロスを形成すると,市場は下落トレンドに入り,既存のポジションを閉鎖すべきであることを示す.

戦略の論理

この戦略は,短期および長期の単純な移動平均値を計算するために sma関数を使用します.短期MA長さは50日,長期MA長さは200日に設定されています. 戦略は,クロスオーバーとクロスアンダー関数を使用して,短期MAが長期MAを横切るか横切るか判断します.これは取引信号を生成します.

短期MAが長期MAを超えると,トレンドがダウンからアップに変化していることを信号し,ゴールデンクロスを形成し,ロングエントリー信号となる. 戦略は,strategy.entryを使用してロングポジションを開く.短期MAが長期MAを下回ると,トレンドがアップからダウンに変化していることを信号し,デスクロスを形成し,アウトシグナルとなる. 戦略は,strategy.close_allを使用してすべてのポジションを閉じる.

この戦略は,ゴールデン/デス・クロスによってマークされたトレンド逆転点を捕捉し,エントリーと出路のタイミングを決定することで,市場のノイズを効果的にフィルタリングすることができ,シンプルで実践的なトレンドフォロー戦略です.

利点分析

  • 戦略は理解し実行しやすく,初心者にも適しています.
  • 移動平均値は市場の騒音をフィルターし,傾向を把握するのに役立ちます.
  • 黄金十字は上昇傾向を捉える強力な牛信号として認識されています.
  • 死の十字架は損失を減らすために比較的強い熊の信号です
  • 異なる市場向けにMA長さを調整することで,パラメータは高度に最適化できます.
  • 視覚的なクロスオーバー信号は直感的で読み取れます

リスク分析

  • MA は遅れがあり,トレンド逆転の最適なタイミングを逃す可能性があります.
  • 単純なMA交差は,偽信号を完全に回避できない.
  • ブラック・スワン・イベントは,大きなネガティブなニュースのように考慮されません.
  • 単一の損失を効果的に制限するためにストップ・ロスは不要です.
  • 死の十字架で購入すると 損失を冒し ゴールデンクロスで退場すると 利益を失くします

ストップ・ロスを追加し,誤った信号を減らすために MA パラメータを最適化し,信号を確認するために他の指標と組み合わせ,ブラック・スワン・イベントに対処するメカニズムを開発することでリスクを管理することができます.

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

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

  1. 短期および長期間のMA長さを調整し,異なる市場特性により適するように,MAパラメータを最適化する.

  2. 音量上昇時にのみ音量条件を表示する

  3. MACD,RSIなどの他の指標を組み込み,クロスオーバー信号を確認し,誤った信号を避ける.

  4. ストップ・ロスのストラテジーを追加します. ストップ・ロスのストラリングや ストップ・ロスのパーセント, 単一の損失を制御するために.

  5. 固定分数や指数的なサイズなどのポジションサイズの戦略を追加し,全体的なリスクを制御します

  6. 偽のクロスをフィルタリングするためにクロスオーバー後にしばらく観察することでエントリーを最適化します

上記の最適化により,戦略パラメータは市場の統計特性をより良くマッチし,誤った信号をフィルターし,リスクを制御し,シンプルさを維持しながら戦略の安定性と収益性をさらに向上させることができます.

結論

ゴールデンクロス戦略は,シンプルで実用的なトレンドフォロー戦略である.移動平均のクロスを通して市場のトレンドを直感的に捉え,長期投資家のエントリー&エグジットポイントを効果的に特定することができる. 実行しやすく,初心者向けに適し,さまざまな最適化に適応できるため,戦略は柔軟で信頼性の高い取引システムになることができます. 全体的に,シンプルさと実用性を組み合わせ,ゴールデンクロス戦略は定量的な取引ツールキットに貴重な追加です.


/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

lShort = input(50, title="short length")
lLong = input(200, title="long length")
src = input(close, title="Source")

smaShort = sma(src, lShort)
smaLong = sma(src, lLong)

plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime)
plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red)


//
//Backtest Time Inputs
//

testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(01, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na
bgcolor(testPeriodBackgroundColor, transp=80)


testPeriod() => true

	

if testPeriod()
	longCondition = crossover(smaShort, smaLong)
	if (longCondition)
		strategy.entry("Long Entry", strategy.long)

	shortCondition = crossunder(smaShort, smaLong)
	if (shortCondition)
		strategy.close_all(true)
	

もっと