概要
本戦略は、市場の安値で買い、高値で売るという考え方に基づいて設計されています。過去一定期間内の最高値と最安値を追跡し、価格が最安値をブレイクした時に買いポジションを建立し、価格が最高値を下回った時、または利益確定条件を満たした時にポジションをクローズします。また、オプションでトレンドフィルターを追加し、価格が上昇トレンドにある場合のみ買いを行います。
戦略の原理
最安値と最高値の計算
-
最安値(lowcriteria):
ta.lowest関数を呼び出し、ユーザーが設定したルックバック期間(デフォルト20本のローソク足)に基づいて過去一定期間の最安値を計算し、最安値線を描画します。 -
最高値(highcriteria):
ta.highest関数を呼び出し、ユーザーが設定したルックバック期間(デフォルト10本のローソク足)に基づいて過去一定期間の最高値を計算し、最高値線を描画します。
エントリーシグナル
現在価格が最安値線をブレイクした時に買いシグナルが発生し、買いポジションを建立します。
エグジットシグナル
以下の2つのエグジット方法から選択可能です。
-
固定利益確定: 価格が設定した利益確定水準(例:エントリー価格の8%超)に達した場合、ポジションをクローズして利確します。
-
最高値ブレイク: 価格が最高値線を下回った場合、トレンド反転と判断し、ポジションをクローズして損切りします。
トレンドフィルター
EMA(指数移動平均線)を追加してトレンド方向を判断し、価格がEMA線より上(上昇トレンドとみなす)にある場合のみ買いを行います。このフィルターは有効/無効を選択可能です。
優位性分析
- 安値ブレイクで買い、高値ブレイクで売る戦略は、市場の基本的な法則に合致します。
- トレンド判断メカニズムを追加することで、価格がレンジ内で変動する際の頻繁なポジション開設を回避できます。
- 2つのエグジット選択肢を提供し、高い利益確定を追求することも、損失を抑えることも可能です。
- パラメータをカスタマイズ可能で、より幅広い市場環境に適応できます。
- 戦略の最適化の余地が大きく、パラメータ調整やフィルター設計などによりさらに改善できます。
リスク分析
- 固定利益確定は市場の実際の動きに応じて調整できないため、早期の利確や利確幅が小さすぎる可能性があります。
- 最高値ブレイクで売る場合、既に大きな損失が発生している可能性があり、損失を効果的に制御できません。
- EMAによるトレンド判断は、一定の過去期間のみに基づくため、実際のトレンド転換に遅れる可能性があります。
- バックテストの結果は将来のパフォーマンスを保証するものではなく、実運用では不確実性が存在します。
最適化の方向性
- 利益確定方法の追加: 移動利確や段階的利確など、利益確定水準を市場の動きに応じてリアルタイムで調整できるようにします。
- エグジットシグナルの最適化: 例えば、分割エグジットや他のインジケーターの追加判断を行います。
- トレンド判断の最適化: より多くのインジケーターを追加したり、機械学習を導入することを検討します。
- パラメータの最適化: より広範なバックテストを通じて最適なパラメータ組み合わせを見つけます。
- ストップロス方法の追加: 損失制御をより柔軟かつ効果的にします。
まとめ
本戦略は、古典的な「安く買って高く売る」原則を全体的に活用し、一定の条件下で良好な効果を発揮することができます。しかし、戦略自体にはまだ最適化の余地があり、パラメータ調整、エグジットの最適化、ストップロス方法の改善などにより、より安定した収益を得ることが可能です。本稿では戦略の原理、優位性、リスク、最適化の方向性などについて包括的かつ詳細に分析し、戦略のアイデアを提供するとともに、投資家にリスクに注意し、アルゴリズム取引には慎重に取り組むよう促すことを目的としています。
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version=5
// Author = TradeAutomation
- 1

