移動平均追跡取引戦略

作者: リン・ハーンチャオチャン開催日:2023年10月24日 14:39:08
タグ:

img

概要

この戦略は,トレード決定のためにMACD指標フィルタリングと組み合わせた移動平均値を追跡することをベースにしている.高速移動平均値がスロー移動平均値を超えると長くなって,高速MAがスローMAを下回ると短くなってしまいます.一方,MACD指標は偽ブレイクをフィルタリングするために使用できます.

戦略の論理

この戦略は主に以下の原則に基づいています.

  1. ハイキン・アシのろうそくを使うことで 市場の騒音をフィルターし 傾向を特定できます

  2. スローMAを上回る高速MAは上昇傾向を示し,ロング;下を横断すると下降傾向を示し,ショート.

  3. MACD指標は価格動向を特定し,偽のブレイクアウトをフィルタリングすることができます.0以上のMACDヒストグラムは上昇市場を示し,0以下のヒストグラムは下落市場を示します.

  4. この戦略は,まずハイキン・アシ・キャンドルの開閉価格を計算し,その後,速いEMAと遅いEMAを計算する.速いEMAがスローEMAを超えるとロングになり,速いEMAがスローEMAを超えるとショートする.MACDインジケーターは,偽のブレイクアウト信号をフィルタリングするために使用される.

利点

  1. ハイキン・アシのろうそくは 騒音をフィルターし 傾向の方向性を決定するのに役立ちます

  2. スピードとスローの EMAクロスシステムは,トレンドに従う成熟した取引戦略です.

  3. MACDフィルターは偽ブレイクを減らすことでより正確な取引信号を提供します.

  4. この戦略は EMA 期間,MACD パラメーター等を調整することで大きな最適化余地があります.

  5. シンプルで直感的な戦略論理で 分かりやすく実行し 非常に不安定な暗号市場に適しています

リスク

  1. 戦略は基本的分析なしの技術指標のみをベースにしており,重要なニュースイベントを見逃し損失を引き起こす可能性があります.

  2. 誤ったEMA期間の設定は,過剰な誤った信号と損失を生む可能性があります.

  3. MACDフィルターはパラメータ調整に依存しており,誤った設定は誤ったブレイクを効果的にフィルタリングできない可能性があります.

  4. 突然の価格上昇はストップロスを打って大きな損失を引き起こす可能性があります

  5. 不安定な市場では 適切なストップロスを設定するのは困難です 損失の拡大のリスクです

最適化

  1. 最適な組み合わせを見つけるために EMA 期間パラメータを最適化します.

  2. トレンド識別能力を向上させるためにMACDパラメータを最適化する.

  3. RSI,KDなどの他の技術指標をフィルター信号に追加します.

  4. トレンドライン,サポート/レジスタンス等に基づいて取引範囲を決定する.

  5. 異なる暗号特性に応じてパラメータを調整します

  6. ストップロスの戦略を追加して,単一の取引損失額を制御します.

概要

この戦略は,明確で理解しやすい論理を持っています. 取引信号は,高速/スロー EMA クロスとMACDフィルターから得ることができます. しかし,パラメータ最適化とリスク管理を必要とする固有のシステムリスクがあります. この戦略は,非常に不安定な暗号市場に適していますが,安定した利益のために定期的に更新する必要があります. 継続的な改善により,戦略をフォローする安定した収益性の高いトレンドになる可能性があります.


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

//@version=4
//Heikin Ashi Strategy  V3 by breizh29

// strategy("Heikin Ashi Strategy  V3",shorttitle="HAS V3",overlay=true,default_qty_value=100,initial_capital=100,currency=currency.EUR) 
res = input(title="Heikin Ashi Candle Time Frame",  defval="30")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame",  defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(10,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="12")
macds = input(1,title="MACD Shift")




//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = security(ha_t, res, open[hshift])
ha_close = security(ha_t, res, close[hshift])
mha_close = security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = security(ha_t,res2,macdLine[macds])
macdsl= security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)


//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )


strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)

もっと