SMI エルゴジックオシレーターモメント取引戦略

作者: リン・ハーンチャオチャン, 日付: 2023年11月1日 11:19:18
タグ:

img

概要

この戦略は,上級モメントインデックス (SMI) とエルゴジックラインをベースにトレンドフォローシステムを構築し,高速および遅い移動平均の組み合わせを通じて取引信号を生成する.これは高周波モメントトレードシステムに属する.

戦略の論理

この戦略は主に上級モメントインデックス (SMI) とエルゴディックラインを使用して取引信号を構築します.

SMIは,異なる期間の2つの指数関数移動平均値の違いを絶対差分で割る方法で価格変化の速度を測定する.その式は:

SMI = (Fast EMA - Slow EMA) / Abs ((Fast EMA - Slow EMA) について

FAST EMAは短期EMAで,SLOW EMAは長期EMAである.

SMIは価格変動の速度を測定することで,市場のトレンド変化を決定することができる. 0以上のクロスは上向きを示し,0以下のクロスは下向きを示唆する.

エルゴディックラインは,SMIのEMAであり,取引信号を生成する. エルゴディックラインの上のクロスは購入信号であり,下のクロスは販売信号である.

SMIとErgodic Lineを組み合わせることで,この戦略は遅延のないトレンドフォローシステムを形成し,高周波のモメントトレード戦略になります.

利点

  1. 価格速度に基づいてトレンド変化に敏感です

  2. Ergodic Lineは SMIからの偽信号をフィルターし 信頼性の高い取引信号を形成します

  3. 二重レール構造によって生成される 明確な買い/売る信号

  4. 高い取引頻度で,トレンド内の急速な価格変動を把握する.

  5. 遅滞なく ターニングポイントを 及時に把握できる

リスク

  1. 動力システムとして,変動市場での頻繁にストップ・ロスの傾向があります.

  2. 不適切な二重レール設定は,頻繁な信号による過剰な取引を引き起こす可能性があります.

  3. 短時間のパラメータ調節が悪ければ 過剰な誤った信号が生じます

  4. 主要なトレンドの方向性を考慮しないことは,トレンドに反する取引につながる可能性があります.

  5. ストップ・ロスの厳格なルールが守られなければ 損失が増える可能性があります

リスクに対処するために,次の側面を最適化するために考慮することができます:

  1. 偽信号を減らすために 双列車パラメータを最適化します

  2. 逆トレンド取引を避けるためにトレンドフィルターを追加します.

  3. 単一の取引損失を制御するためのストップ損失戦略を実施する.

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

戦略は以下の点で改善できる:

  1. 最適なパラメータの組み合わせを見つけるために,高速と遅いEMAパラメータを最適化します.

  2. オープン,高い,低い価格などの異なる価格インプットをテストします

  3. マシン学習アルゴリズムを組み込み パラメータを自動最適化します

  4. 逆トレンドの取引を避けるためにトレンドフィルターを追加します.

  5. ストップロスの戦略を導入し,単一の取引損失を厳格に制御する.

  6. 取引頻度と利益因子を考慮し,過剰な取引を防ぐ.

  7. 適正な資産を見つけるために 異なる製品で適用性をテストします

  8. より包括的なシステムを構築するために,他の指標との組み合わせを探る.

結論

この戦略は,SMIとエルゴジックラインを使用して遅延のないトレンドフォローシステムを構築し,ダブルレール構造を通じて明確なトレード信号を生成する.これは高周波のモメントトレード戦略に属している.利点はトレンド変化を迅速に把握することであり,デメリットにはオーバートレードとコントランドトレードが含まれます.より堅牢な定量的なトレードシステムを構築するためにパラメータ最適化,ストップ損失,トレンドフィルターなどを通じて改善することができます.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/11/2017
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by 
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages 
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the 
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine 
// tune these signals. The user may change the input (close), method (EMA), period lengths 
// and guide values.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="SMI Ergodic Oscillator")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
xSMI = xSMA_R / xSMA_aR
xEMA_SMI = ema(xSMI, SmthLen)
pos = iff(xEMA_SMI < LowBand, -1,
	   iff(xEMA_SMI > TopBand, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(xSMI, color=green, title="Ergotic SMI")
plot(xEMA_SMI, color=red, title="SigLin")

もっと