動的サポートレジスタンスのバックテスト戦略
概要
本戦略は、前日の取引日の最高値、最安値、終値から算出したサポート・レジスタンスレベルに基づき、当日の取引でロングまたはショートのポジションを取ります。価格が上方のレジスタンスラインR1を突破した場合にロング、下方のサポートラインS1を下回った場合にショートします。この戦略は動的サポート・レジスタンス戦略に該当します。
戦略の原理
-
前日の取引日の最高値xHigh、最安値xLow、終値xCloseから、当日のサポートラインS1、レジスタンスラインR1、ピボットポイントvPPを算出します。
vPP = (xHigh + xLow + xClose) / 3
vR1 = vPP + (vPP - xLow)
vS1 = vPP - (xHigh - vPP)
-
価格がvR1またはvS1を突破したかどうかを判断し、vR1を突破した場合はロング、vS1を下回った場合はショートします。POSはロング・ショートの方向を記録します。
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0))) -
possigは実際の取引方向を記録します。反転取引reverse=trueが有効な場合、取引シグナルは反転します。
-
possigシグナルに基づき、vR1を突破した時点でロング、vS1を突破した時点でショートします。
戦略の優位性
- 動的サポート・レジスタンス指標を利用することで、ブレイクアウト相場を捉えることができます。
- サポート・レジスタンスレベルは毎日更新され、動的性を持ちます。
- 順張り取引または逆張り取引を選択でき、様々な市場環境に対応します。
- 戦略の考え方はシンプルで明確であり、理解・実装が容易です。
- サポート・レジスタンスレベルを可視化し、トレンドの転換を直感的に判断できます。
リスク分析
- 相場が揉み合いの場合、不要な売買シグナルが複数発生する可能性があります。
- 異常なトレンド相場が発生した場合、サポート・レジスタンスが突破された後にさらに延伸し、損失が発生する可能性があります。
- ピボットポイントとサポート・レジスタンスレベルの計算方法が比較的単純であり、さらなる最適化が必要です。
リスク解決方法:
- ポジションサイズを適切に調整し、1回の損失を管理します。
- ストップロスを設定し、許容損失を超えないようにします。
- 他の指標と組み合わせてシグナルをフィルタリングし、揉み合い相場での頻繁な取引を回避します。
最適化の方向性
- サポート・レジスタンスレベルの計算方法を最適化し、より予測性を高めます。
- トレンドやモメンタムなどの指標を追加し、不要な取引を回避します。
- ストップロス戦略を追加し、1回の損失および最大損失を管理します。
- 機械学習手法を組み合わせ、サポート・レジスタンスレベルの計算を動的に最適化します。
まとめ
本戦略は動的サポート・レジスタンス指標に基づき、価格のブレイクアウトの方向に応じてポジションを保有します。戦略の考え方はシンプルで、理解・実装が容易であり、トレンドの転換点を効果的に捉えることができます。ただし一定のリスクも存在するため、他の指標と組み合わせてさらに最適化し、取引シグナルの精度と信頼性を高める必要があります。総じて、本戦略は補助的判断指標として、または定量取引の基本戦略の一つとして適しています。
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and
// divided by 3 to find the pivot. From this pivot, traders would then base their
// calculations for three support, and three resistance levels. The calculation for the most
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:- 1

