指標駆動型ストップロス・テイクプロフィット戦略
概要
本戦略は移動平均線を取引シグナルとして利用し、ユーザーが設定した損切り・利食い比率と組み合わせることで、完全なインジケーター駆動型の損切り・利食い戦略を実現します。この戦略はエントリー、損切り、利食いを自動で行い、人手を介さずに実行できるため、自動売買に適しています。
戦略の仕組み
本戦略の中心的なロジックは以下の通りです。
- 3期間のSMAを取引シグナルとして使用し、SMAが0を上抜けたら買い、SMAが0を下抜けたら売り。
- エントリー後、ユーザーは損切り比率と利食い比率を任意に設定できます。
- エントリー価格とユーザー設定の損切り比率に基づき、自動で損切りラインを設定。
- エントリー価格とユーザー設定の利食い比率に基づき、自動で利食いラインを設定。
- 価格が損切りラインに接触すると自動で損切り、利食いラインに接触すると自動で利食い。
- ポジションクローズ後、損切り・利食い注文は自動でキャンセルされます。
具体的には、戦略はsma関数を使って3期間の移動平均線を計算し、その値をma変数に代入します。
次に、買いエントリーラインlongを計算します。これはmaにmaのlo%を加えた値です。loはユーザー調整可能なパラメーターで、買い時のエントリーラインのオフセット量を表します。
maが0を上抜けた時点で買いシグナルとみなし、strategy.entry関数で買いエントリーします。エントリー価格はlongです。
同時に、損切り価格と利食い価格を設定します。損切り価格はエントリー価格からエントリー価格のsl%を差し引いた値、利食い価格はエントリー価格にエントリー価格のtp%を加えた値です。slとtpはユーザー調整可能なパラメーターで、それぞれ損切り比率と利食い比率を表します。
strategy.entry関数を使って損切り注文と利食い注文をそれぞれ設定します。価格が損切りラインに接触すると自動で損切り、利食いラインに接触すると自動で利食いされます。
ポジションクローズ後、strategy.cancel関数で損切り・利食い注文を自動でキャンセルします。
戦略の優位性
本戦略には以下の利点があります。
- 自動化の度合いが高く、人手を介さずに実行できるため、自動売買に最適。
- 損切り・利食い比率を自由に設定でき、リスクをコントロール可能。
- 取引シグナルをインジケーターから取得するため、偽のブレイクアウトを回避。
- 損切り・利食いラインを可視化でき、直感的でわかりやすい。
- 戦略ロジックが明確でシンプルなため、理解・実装が容易。
リスクとその対策
本戦略には以下のようなリスクもあります。
- インジケーターが偽シグナルを発生させるリスク。対策:パラメーターを最適化し、インジケーターの安定性・信頼性を確保する。
- 損切り・利食い比率の設定が不適切で、緩すぎたり厳しすぎたりするリスク。対策:異なる市場に合わせて損切り・利食いパラメーターを調整する。
- ブレイクアウトエントリーで買い(売り)の罠にはまるリスク。対策:トレンドや出来高・価格の指標などと組み合わせてエントリーシグナルをフィルタリングする。
- ドローダウンが大きくなる可能性。対策:ポジションサイズを小さくする、またはトレーリングストップを採用する。
戦略の改善方向
本戦略は以下の点で改善が可能です。
- 移動平均線のパラメーターを最適化し、信頼性を高める。
- エントリー条件を改善し、偽のブレイクアウトを防ぐために出来高・価格確認などを追加する。
- 損切り・利食い戦略を改善し、動的損切りやトレーリングストップなどを使用する。
- 資金管理を最適化し、ポジションサイズを調整して1回あたりのリスクを低減する。
- エントリータイミングのフィルタリングを改善し、トレンドやサポート・レジスタンスラインなどの指標と組み合わせる。
- ピラミッディング(Pyramiding)を導入してポジション追加戦略を組み、収益性を高める。
- 特定の銘柄に合わせてパラメーターを最適化する。
まとめ
本戦略はインジケーター駆動型の損切り・利食い戦略であり、取引の自動化やリスクコントロールの面で優れており、定量取引に適しています。ただし、インジケーターパラメーターの最適化、エントリーフィルター、損切り・利食い戦略、資金管理など、改善すべき点もいくつかあります。総じて、本戦略はシンプルで信頼性の高い取引フレームワークを提供しており、これを基に拡張・最適化することで、さらに強力な戦略へと発展させることができます。
/*backtest
start: 2023-01-01 00:00:00
end: 2023-11-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("example for panel signals", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//https://www.tradingview.com/script/m2a04xmb-noro-s-shiftma-tp-sl-strategy/
//Settings- 1

