2つの移動平均のブレイクアウト戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-11 12:31:51
タグ:

この戦略は,SMAとEMAの移動平均の両方を使用し,価格ブレイクアウトに基づいて長距離と短距離の方向性を決定する.閉じる時はSMAとEMAの両方の上,閉じる時はSMAとEMAの両方の下,閉じる時はSMAとEMAの間の間を平らにする.SMAとEMA期間はユーザーによってカスタマイズすることができます.

この二重移動平均ブレイクアウト戦略の利点は,2つの移動平均システムを組み合わせることで精度を向上させることができる.しかし,範囲限定市場や遅延信号の間に誤った信号などの問題が存在する.また,損失を制御するためにストップ損失は実装されません.

要約すると,この戦略は強いトレンドがあるときによりうまく機能しますが,慎重に取引する必要があります.パラメータの最適化,ストップを追加,追加のフィルターは,誤った信号を減らすことで戦略を改善することができます.

概して,二重移動平均のブレイクアウト戦略は単純な取引論理を持っていますが,リアルタイムの取引で成功するために適切なリスク制御とパラメータ調整が必要です.


/*backtest
start: 2023-08-11 00:00:00
end: 2023-09-10 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Multima v1.0", shorttitle = "Multima 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

needlong = input(true, "long")
needshort = input(true, "short")

usema1 = input(true, "Use MA1 (SMA, blue)")
usema2 = input(true, "Use MA2 (EMA, red)")
lenma1 = input(40, defval = 40, minval = 2, maxval = 1000, title = "MA1 length")
lenma2 = input(40, defval = 40, minval = 2, maxval = 1000, title = "MA2 length")
//anti = input(true, defval = true, title = "Antipila")
usecf = input(true, defval = true, title = "Use color-filter")

//Strategy
ma1 = sma(close, lenma1)
ma2 = ema(close, lenma2)
signal1 = usema1 == false ? 0 : close > ma1 ? 1 : -1
signal2 = usema2 == false ? 0 : close > ma2 ? 1 : -1
lots = signal1 + signal2

//Lines
plot(ma1, color = blue, linewidth = 3, transp = 0)
plot(ma2, color = red, linewidth = 3, transp = 0)

//Trading
if lots > 0 and (close < open or usecf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if lots < 0 and (close > open or usecf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if lots == 0
    strategy.close_all()
    
    
    

もっと