ローソク足の終値に基づく買いと売りの比較とEMAフィルターを用いた定量取引戦略
一、戦略概要
本戦略の名称は「ローソク足の終値によるロング・ショート比較とEMAフィルターを用いた定量取引戦略」です。この戦略は、直近の一定期間におけるローソク足の終値に基づくロングローソク足とショートローソク足の本数を集計し、EMAによるフィルターを組み合わせ、取引時間帯に合致した場合にロング・ショートのシグナルを判定します。
二、戦略の原理
本戦略の核心的ロジックは、直近のlookback期間内に上昇して終了したローソク足の本数upCloseCountと下落して終了したローソク足の本数downCloseCountを集計し、上昇終了の本数が多い場合は強気市場、下落終了の本数が多い場合は弱気市場と判断します。同時にEMA指標を用いて価格トレンドを判断し、フィルターとして機能させます。価格がEMAを上回っている場合のみロングを検討し、価格がEMAを下回っている場合のみショートを検討します。さらに、取引時間帯としてsession1とsession2を設定し、この2つの時間帯のみで取引を行います。
具体的な判断ロジックは以下の通りです。
ロングシグナル発生条件:inSessionがtrue(取引時間帯内)かつupCloseCount > downCloseCount(上昇終了ローソク足の本数が多い)かつclose > ema(終値がEMAを上回っている)かつcurrentSignalが"long"ではない(現在ポジションなし)
ショートシグナル発生条件:inSessionがtrueかつdownCloseCount > upCloseCount(下落終了ローソク足の本数が多い)かつclose < ema(終値がEMAを下回っている)かつcurrentSignalが"short"ではない(現在ポジションなし)
三、戦略の優位性分析
- 一定の過去期間におけるローソク足終値のロング・ショート比較により、価格トレンドと市場心理を判断するため、一定のトレンドフォロー効果がある。
- EMA指標を組み合わせて価格トレンドをフィルタリングし、レンジ相場での誤取引を回避する。
- 特定の取引時間帯を設定することで、主要取引時間帯以外のノイズ相場での取引を避ける。
- トレンドと頻繁な取引のバランスを取ることができる。
四、戦略のリスク分析
- ボックス相場では、終値のロング・ショート比較が誤った判断を招きやすく、不必要な損失が発生する可能性がある。
- EMAパラメータの設定が不適切だとフィルター効果が低下する。
- 取引時間帯の設定が不適切だと、多くの取引機会を逃したり、誤った取引を行ったりする可能性がある。
- 突発的なイベントによるギャップ相場には効果的に対応できない。
対策:
- EMAパラメータを最適化し、最適なバランスを探す。
- 取引時間帯を最適化する。
- ストップロス戦略を組み合わせ、1回あたりの損失を管理する。
五、戦略の最適化方向
- 取引時間帯を最適化し、最適な取引時間帯を見つける。
- EMAの期間と平滑度に関するパラメータを最適化する。
- ATRに基づくストップロスメカニズムを追加する。
- 突発的なイベントを認識するモジュールを追加し、ギャップ相場のリスクを回避する。
- 他のインジケーターとの組み合わせを検討し、より良いエントリーフィルター条件を模索する。
- 異なる銘柄のパフォーマンスの違いをテストし、それに応じてパラメータを調整する。
六、まとめ
本戦略は、一定の過去期間におけるローソク足終値に基づくロング・ショートの本数を集計し、EMA指標によるフィルター効果を組み合わせ、設定された特定の取引時間帯内でトレンドシグナルを識別します。一定のトレンドフォロー効果があります。しかし、誤取引のリスクも存在するため、パラメータ最適化、ストップロス戦略、シグナルフィルタリングなどの方法で改善し、バックテストで効果を検証する必要があります。
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Up vs Down Close Candles Strategy with EMA and Session Time Frames", shorttitle="UvD Strat EMA Session", overlay=true)
// User input to define the lookback period, EMA period, and session strings for time frames- 1

