クロッシングマスター-反転突破戦略


作成日: 2023-10-20 17:24:14 最終変更日: 2023-10-20 17:24:14
コピー: 0 クリック数: 680
1
フォロー
1617
フォロワー

クロッシングマスター-反転突破戦略

概要

横断マスター - 反転突破戦略は,移動平均をベースにしたシンプルで実用的取引戦略である. それは,速い移動平均と遅い移動平均の交差を買入と売却の信号として利用する. 速い移動平均が,下からゆっくり移動平均を横断すると買入の信号が生じ,速い移動平均が,上からゆっくり移動平均を横断すると売り出します. この戦略は,中等波動の市場環境に適用されます.

戦略原則

この戦略は,2つの移動平均を使用します. 一つは短期の急速移動平均であり,もう一つは長期の遅い移動平均です. 急速移動平均のパラメータは12日,遅い移動平均のパラメータは26日です. 戦略はまずENDPOINTの2日間のシンプル移動平均を価格データとして計算し,それから急速移動平均と遅い移動平均を計算します.

具体的には,戦略は,迅速な移動平均と遅い移動平均の数値の大きさを比較して市場の動きを判断する. 迅速な移動平均の数値が遅い移動平均よりも大きいときは,市場が上昇傾向にあると考えて (Bullish); 迅速な移動平均の数値が遅い移動平均の数値よりも小さいときは,市場が下降傾向にあると考えて (Bearish). 戦略は,価格の動き量指標と組み合わせて,市場の逆転を判断するときに買入と売却を行う.

買い信号のトリガーロジックは,市場が下向きから上向きに転じるとき,つまり,速動平均が遅動平均を横切って,価格が速動平均より高くなる時に買い信号が生じる.

売り込みシグナルのトリガーの論理は,市場が上昇傾向から下降傾向に転じるとき,つまり,急速な移動平均線が遅い移動平均線の下を通過し,価格が急速な移動平均線より低いとき,売り込みシグナルの発生である.

市場が逆転した時に,逆転の機会を有効に活用する戦略を設計する.

優位分析

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

  1. 戦略の論理はシンプルで明快で,理解し,実行しやすい.

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

  3. 双移動平均の設計により,市場騒音を効果的にフィルターし,市場トレンドを識別できます.

  4. 価格動態指標と組み合わせると,買い物タイミングの精度が向上します.

  5. パラメータの最適化スペースは広く,市場に応じてパラメータを調整して,よりよい効果を得ることができる.

  6. リスク管理のためのストップダストロジックが追加されます.

  7. 取引の頻度は適度で,過剰な取引は避けましょう.

  8. ブリン帯,RSIなど,他の指標と組み合わせて最適化できます.

  9. 戦略の効果を検証する十分なデータがあります.

リスク分析

この戦略には以下のリスクもあります.

  1. 双動平均戦略は誤ったシグナルを生じやすく,市場のトレンドを逃したり,不必要な取引を生じさせたりする可能性がある.

  2. 移動平均は遅滞しており,迅速な反転の機会を逃す可能性があります.

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

  4. この戦略は中長線での取引に適しており,短線での取引はあまり効果的ではない.

  5. この戦略は,市場における突発的な出来事の影響に 対応できない.

  6. 特定の期間,損失のリスクがある.

  7. 異なる品種のパラメータ設定は調整する必要があります.

  8. 金融危機の状況では効果が低下するかもしれない.

リスクは以下の方法で軽減できます.

  1. 市場環境に適したパラメータの最適化

  2. 他の指標と組み合わせたフィルター信号.

  3. 損失を制御する止損メカニズムを追加する.

  4. ポジション管理を適切に調整する.

  5. 種ごとに最適化パラメータをテストする.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 移動平均の周期パラメータを最適化し,現在の市場状況に適合させる.

  2. 指数移動平均,加重移動平均など,さまざまな種類の移動平均をテストする.

  3. トレンドを検証する取引量指標を追加する.

  4. MACD,RSIなどの他の技術指標と組み合わせる.

  5. 移動止損,時間止損などの止損策を追加する.

  6. ポジション管理戦略の最適化,例えば固定シェア,動的比率など.

  7. 分時段,分品種テストパラメータの最適化

  8. 機械学習アルゴリズムを追加し,AI技術を活用してパラメータの自動最適化と信号検査を行う.

  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)