直近の最高値・最安値(レジスタンスラインやサポートラインと言われている水平ライン)をブレークしたタイミングで、その方向にポジション(買いまたは売りポジション)を持ちます。
自動売買なので、なかなか突破しない時でも、チャートを眺めて待つ必要もないので、システムトレードに向いた手法だと思います。
私が実際に運用しているのは、さらにクローズ条件を追加したバージョンではありますが、値動きの激しいGBPJPYとかだと、結構、プラスの収益を出してくれています。
以下、段階的に、エントリー条件、クローズ条件を追加して、検証してみたいと思います。
[検証1] 最高値・最安値越えでエントリー、決済指値、逆指値でクローズ
(1)トレードプログラム(EA)について
トレードロジックはこちら「過去の一定期間の最高値・最安値ライン越えでエントリー」に記載した内容になります。凄く単純で、
直近の一定期間の最高値、最安値を超えたら、抜けた方向に、買いポジションまたは売りポジションを持つ。
クローズは、ポジションを持つ(注文を入れる)際に設定した、決済指値に達したら利益確定、決済逆指値まで逆行したら負け確定。
とだけです。
(2)バックテストでの検証
MT4のストラテジーテスタで、2007/1/1~2019/6/30までのおよそ12年間の過去の相場データで、バックテスト(過去の相場で運用したら、どのような収益となったかテストする)し、パラメータを調整した結果です。※(3)で記載しているフォワードテストもやりたかったので、2019/6/30までにしています
ちょっと補足。
パラメータとは、前述(1)のソースコードの以下の部分の変数がパラメータになります。
MT4のストラテジーテスタを使うと、パラメータ値をいろいろ変更させた何千回、何万回ものテストを、簡単に行うことができるのです
例えば、今回のプログラムでは、”TakePrice_HL”が決済指値(注文した時の値からどれだけ上昇または下降したら利益確定するか)の値になりますが、これがいくらであれば最適か(一番利益あったかなど)を探し出すことができます。
パラメータとは、前述(1)のソースコードの以下の部分の変数がパラメータになります。
MT4のストラテジーテスタを使うと、パラメータ値をいろいろ変更させた何千回、何万回ものテストを、簡単に行うことができるのです
例えば、今回のプログラムでは、”TakePrice_HL”が決済指値(注文した時の値からどれだけ上昇または下降したら利益確定するか)の値になりますが、これがいくらであれば最適か(一番利益あったかなど)を探し出すことができます。
extern int CheckStart_Hl = 1; //水平ラインのチェック開始位置
extern int CheckPeriod_Hl = 3; //水平ラインのチェック期間
extern double RegOpen_Hl = 10; //足の長さ(勢いの確認)
extern double ClosePrice_Hl = 300; //決済逆指値
extern double TakePrice_HL = 300; //決済指値
以下、通貨はGBPJPYで、15分足でバックテストした結果です。
純益15586なので、12年間、1万通貨をスプレッド2.0銭で運用した場合、155万円も利益があったことになります。
(もし、うまく複利運用できれば、もっとすごいことに。)
あくまでも過去データなので、今後も勝ち続けれる保証はありません。
また、今回のプログラムは、勝つときに大きく勝つ(リスクリワードはおよそ6.4:1)けど、勝率は17.81%とかなり低いものになります。
もし、使い始めるタイミングが運が悪いと、最初から負けまくって資金がなくなってしまうという可能性もありそうです。
(3)フォワードテストでの検証
バックテストの結果(期待値)が今後も続きそうかを検証するため、簡易フォワードテストもやってみました。もし、2019/6/30の時点で、このプログラムを作りパラメータ調整して、2019/7/1から運用していたとしたら、どれだけ利益が見込まれたのか、を確認します。
(ただ、実運用だと、一時的にスプレッドが広がるとかあるので、ほんとに同じ結果が出たとは限りませんが。)
以下が、その結果です。
2019/7/1~2020/08/17まで運用した場合の見込みです
純益221なので、1万通貨の運用で、およそ2万円利益が出ていたことになります。
これだとまだ、ちょっと期待薄ですかね。
(4)他の時間足(4時間足)で実施
上記は、15分足でバックテスト、フォワードテストを実施した結果でした。他の時間足ではどうかというところで、4時間足でも実施してみました。
それぞれ以下の結果でした。
バックテスト:
フォワードテスト:
純利益は12382と15分足より少ないですが、こちらの方はプロフィットファクタが1.8と高く、フォワードテスト(2019/7/1~2020/08/17)は2.66、利益は1879(約18万)と結構良い結果だと思います。
(5)ちなみに
ちなみにですが、このプログラムそのものではないですが、このロジックにさらにクローズ条件とかを加えたプログラムで、私が実際に運用している結果では、GBPJPYは確かにプラスの収益が得られています。
ただ、他の通貨でも運用していたので、トントンかマイナスの結果のものも多く、それらには足を引っ張られてしまった感じです。
GBPJPYだけは値動きが激しかったので勝てたけど、他の通貨はこの数か月は、値動きが乏しいためではと推測しています。
ロジック的にも、トレンドが出て大きく動いてくれないと、直近の高値安値を超えにくく、利益が出にくいロジックだと思います。
=> 続きは[検証2]へ「MT4でEA(自動売買プログラム)を作成し働いてもらう([検証2] 水平ラインブレイク+クローズ条件判定追加)」へ。
=> 本ロジックを利用して作成したEAがこちら「直近一定期間の最高値、最安値ラインブレイクを利用したトレンドフォロー型EA(HLブレイク+)」です。
コメント