クロスオーバーマスター - 逆転ブレイアウト戦略

作者: リン・ハーンチャオチャン,日付: 2023年10月20日 17:24:14
タグ:

img

概要

クロスオーバーマスター - リバースブレイクアウト戦略は,移動平均値に基づいたシンプルで実用的な取引戦略である. 急速な移動平均値とゆっくりとした移動平均値のクロスオーバーを買い・売る信号として使用する. 急速なMAが遅いMAを超えると,買い信号が生成される. 急速なMAが遅いMAを下回ると,売り信号が生成される. この戦略は,中程度の波動性のある市場に適している.

戦略の論理

この戦略は,短期間の高速MAと長期間の遅いMAの2つの移動平均を使用する.高速MA期間は12であり,遅いMA期間は26である.この戦略は,まず価格入力としてENDPOINTの2日間の単純な移動平均を計算し,その後,高速MAと遅いMAを計算する.高速MAが遅いMAを超えると,購入信号が誘発される.高速MAが遅いMAを下ると,販売信号が誘発される.

戦略は,市場動向を決定するために,高速MAと遅いMAの値を比較する.高速MAが遅いMAよりも大きいとき,市場は上昇傾向にあると考えられる.高速MAが遅いMAよりも小さいとき,市場は下落傾向にあると考えられる.戦略は,市場の逆転中にシグナルを生み出すために価格の勢いと組み合わせられる.

買い信号の論理は,市場がダウントレンドからアップトレンドに切り替えたとき,つまり速いMAがスローMAを超え,価格が速いMAを超えると,買い信号が生成されます.

売り信号の論理は,市場が上昇傾向から下落傾向に切り替わると,つまり高速MAが遅いMAを下回り,価格が高速MAを下回ると,売り信号が生成されます.

このデザインによって 戦略は 逆転の機会を 適時に把握できます

利点分析

この戦略の利点は次のとおりです.

  1. 戦略の論理は シンプルで明快で 分かりやすく実行できます

  2. 移動平均の技術は成熟し,信頼性があり,広く使用されています.

  3. 二重MA設計は,市場の騒音を効果的にフィルタリングし,トレンドを特定することができます.

  4. 価格の動きを組み合わせることで 取引のタイミングの精度は向上します

  5. 市場に応じてパラメータの最適化のための大きなスペース.

  6. ストップ・ロスはリスク管理に追加できます

  7. 適度な取引頻度で 過剰取引を避ける

  8. ボリンジャーバンドやRSIなどの指標と組み合わせて 強化できます

  9. 戦略のパフォーマンスを検証するための十分なバックテストデータ

リスク分析

この戦略のリスクは以下のとおりです.

  1. ダブルMA戦略は,誤った信号,見逃したトレンド,または不必要な取引を生む可能性があります.

  2. MAは遅延効果があり 急速な逆転を 見逃す可能性があります

  3. パラメータの設定が正しくない場合,取引頻度は高すぎたり低すぎたりします.

  4. この戦略は中長期取引に適しています

  5. 急激な市場ショックに適応できない

  6. 特定の期間の損失の可能性

  7. パラメーターは異なる製品で調整する必要があります

  8. 範囲限定市場では効果が低い.

リスクは以下によって軽減できます.

  1. 市場状況に合わせてパラメータを最適化する

  2. フィルターを他の指標で追加します

  3. ストップ・ロスを実行して 損失を制御する

  4. 位置のサイズを正しく調整する.

  5. 製品別のパラメータのテストと最適化

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

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

  1. 現在の市場に適した MA 期間を最適化します

  2. EMA,WMAなど,様々なタイプのMAsをテストします.

  3. トレンドを確認するためにボリュームインジケーターを追加します

  4. MACD,RSIなどの他の指標を組み合わせて

  5. ストップ・ロスの技術も追加します

  6. 位置サイズ測定方法,例えば固定分数,動的などを最適化する.

  7. 試験パラメータの最適化 期間と製品別

  8. 自動パラメータチューニングと信号検証のための機械学習を導入します

  9. より複雑なチャートパターンを検出するために ディープラーニングを適用します

  10. パラメータのない戦略設計の概念を探求する

継続的な最適化により 戦略の適応性が向上し,異なる市場条件において一貫した結果が得られる.

概要

概要すると,クロスオーバーマスター - リバーサルブレイクアウト戦略は明確な論理性と実用的な価値を持っています.移動平均値のトレンドフォロー能力を利用し,信号品質を改善するために価格の勢いを組み合わせます.パラメータとリスク管理を改善する余地があります.全体として,単純な指標に基づいたブレイクアウト戦略の良い例を提供し,量子戦略学習のための有用なケーススタディとして役立つことができます.継続的な強化により,適応性の高い効果的な戦略に進化する可能性があります.


/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("CDC Action Zone V.2 strategy", overlay=true)
// Credit Script base from CDC Action Zone V.2 by piriya33
// CDC ActionZone V2 29 Sep 2016
// CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market
// 11 Nov 2016 : Ported to Trading View with minor UI enhancement

src = input(title="Data Array",defval=ohlc4)
prd1=input(title="Short MA period",defval=12)
prd2=input(title="Long MA period",defval=26)
AP = ema(src,2)
Fast = ema(AP,prd1)
Slow = ema(AP,prd2)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

Bullish = Fast>Slow
Bearish = Fast<Slow

Green = Bullish and AP>Fast
Red = Bearish and AP<Fast
Yellow = Bullish and AP<Fast
Blue = Bearish and AP>Fast

//Long Signal
Buy = Green and Green[1]==0
Sell = Red and Red[1]==0

//Short Signal
Short = Red and Red[1]==0
Cover = Red[1] and Red==0

//Plot

l1=plot(Fast,"Fast", linewidth=1,color=red)
l2=plot(Slow,"Slow", linewidth=2,color=blue)
bcolor = Green ? lime : Red ? red : Yellow ? yellow : Blue ? blue : white
barcolor(color=bcolor)
fill(l1,l2,bcolor)

strategy.entry("Buy",true,when=window() and Buy)
strategy.close_all(when=window() and Sell)


もっと