この記事では,EMAとHeikin Ashiの取引戦略について説明しています.
この戦略は指数的な移動平均値 (EMA) とハイキン・アシ (Heikin Ashi) を使用して,トレンドを決定し,価格が異なる期間の EMA を突破したときの取引信号を生成します.
この戦略は15期と50期EMAを使用する.現在のハイキン・アシの閉値を計算し,EMAと比較する.閉値が両方のEMAよりも高く,15期EMAが50期EMAよりも高くなった場合,ロング信号が生成される.閉値が両方のEMAよりも低く,15期EMAが50期EMAよりも低くなった場合,ショート信号が生成される.
価格が 15 期間の EMA を越えると,逆取引が行われます.
市場騒音をフィルタリングし 傾向の方向性を決定するのに役立ちます
異なる期間の EMA を組み合わせることで,短期的および中期的トレンドの両方を把握できます.
ハイキン・アシは 偽のブレイクをフィルタリングし 取引信号を確認します
戦略はシンプルで 実行も簡単です
EMAは遅延し,トレンドターニングポイントを見逃す可能性があります.
固定パラメータは 変化する市場に適応できず 動的な最適化が必要です
頻繁な取引は 高額な取引コストにつながる可能性があります
ブレイク取引は偽のブレイクが起こりうるため,追加の指標の確認が必要です.
パラメータの最適化,他の指標の統合などによってリスクを軽減できます
市場の変化に基づいて EMA 期間を動的に最適化します
偽のブレイクを防ぐためにブレイクアウトフィルターを最適化します 例えばボリューム確認を追加します
MACDのような他の指標を組み込み 信号を確認します
トレンドの EMA は遅い EMA で,範囲の EMA は上位です.
この戦略は,トレンド指向を決定するためにEMAとシグナルを検証するためにHeikin Ashiを使用する.それは単純で直接的だが,EMA遅延と誤ったブレイクアウトリスクに対処する必要がある.リスクを軽減し戦略パフォーマンスを向上させるためにパラメータ最適化,指標統合を通じて改善を行うことができる.
/*backtest start: 2023-10-09 00:00:00 end: 2023-10-12 02:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("EMA & Heikin Ashi", shorttitle="EMA & Heikin Ashi", overlay=true, initial_capital=1) // squaa's Strategy // // Idea by Thw on March 10, 2018. // // // The strategy should be used with high leverages, // never stop running, // and is always long or short. // Input price = input(close) MA1_Length = input(15) MA2_Length = input(50) haclose = request.security(heikinashi(syminfo.tickerid), timeframe.period, close) // === FUNCTION EXAMPLE === start = timestamp(2018, 01, 01, 20, 00) // backtest start window window() => time >= start ? true : false // create function "within window of time" // Calculation MA1 = ema(price, MA1_Length) MA2 = ema(price, MA2_Length) // Strategy long = haclose > MA1 and haclose > MA2 and MA1 > MA2 and window() short = haclose < MA1 and haclose < MA2 and MA1 < MA2 and window() // MA trend output color MA2_color = long?lime:short?red:blue strategy.entry("Long", strategy.long, when=long) strategy.entry("Short", strategy.short, when=short) strategy.close("Long", when=haclose < MA1) strategy.close("Short", when=haclose > MA1) // MA output EMA1 = plot(MA1, title="EMA 1", style=linebr, linewidth=1, color=MA2_color) EMA2 = plot(MA2, title="EMA 2", style=linebr, linewidth=3, color=MA2_color) fill(EMA1, EMA2, color=silver, transp=50) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)