トレードステーションEasyLanguageでのVWAPによるデイトレード自動売買

前回、 トレードステーションでチャートにVWAPを表示するEasyLanguageコード という記事にて、擬似的なVWAPをEasyLanguageコードにしてみました。
今回は、この疑似VWAPをもとに、デイトレ自動売買を行ってみることにします。
VWAP自動売買
今回はこのような戦略を試してみます。戦略1と戦略2とで逆の売買を試しています。バックテストで最適化をかける狙いです。
戦略1
- 5分足
- VWAPを上回ったら買い(売りポジを持っていたらドテン)
- VWAPを下回ったら空売り(買いポジを持っていたらドテン)
- 大引けで決済
戦略2
- VWAPを上回ったら空売り(買いポジを持っていたらドテン)
- VWAPを下回ったら買い(売りポジを持っていたらドテン)
- その他は同じ
EasyLanguageコード
上記の自動売買ストラテジーは、以下のようなEasyLanguageコードで実現可能です。インプット変数BuyModeで、戦略1と戦略2の切り替えです。
[Intrabarordergeneration = true]; Input:BuyMode(true); vars: _VWAP(0), _lastVWAP(0), pv(0), Totalvolume(0), Barfromstart(0) ; If date > date[1] then begin Barfromstart=0; pv=AvgPrice*volume; Totalvolume=volume; _VWAP=pv/totalvolume; end else begin Barfromstart=Barfromstart[1]+1; pv=pv[1] + AvgPrice*Volume; Totalvolume=Totalvolume[1] + Volume; _VWAP=pv/Totalvolume; end; If BuyMode AND TIME > 0906 then begin If Close cross over _VWAP then begin Buy next bar at market; end; If Close cross under _VWAP then begin Sellshort next bar at market; end; end Else IF BuyMode=false AND TIME > 0906 then begin If Close cross over _VWAP then begin Sellshort next bar at market; end; If Close cross under _VWAP then begin buy next bar at market; end; end; Setexitonclose;
※なお、SellExitOnCloseではバックテストでしか動作しませんので、実際に大引け決済させるには他のコードが必要です。 トレードステーションEasyLanguageで、寄付、指成、引け注文は可能? も参照ください。
※なお、実際にリアルタイムでの自動売買を行う場合では上記のようにわざわざ面倒な方法で擬似VWAPを求めずとも、ただ「VWAP」と記述するだけで真のVWAPが出せるはずです。(試していませんが・・)
バックテスト結果
バックテストをかける銘柄はなんでも良いのですが、今回は2017年1月からの、9983 ファーストリテイリングとしてみます。ルックインサイドバーバックテストは、1分足にてONにしています。
戦略1の結果
こちらが戦略1の売買イメージです。VWAP超えで買っているシーンがなんとなく分かりますね。
結果はこちらです。プロフィットファクターは1.38とそこそこ優秀です。しかも売り取引に限ればより良い成績です。
このまま使っても儲かりそうですね。
戦略2
一方で戦略2はこちらです。戦略1の逆ですので、当然ですが損失を出しています。
アイデア募集
今回は、トレードステーション・Easylanguageの実用アイデア・面白アイデアを募集します! というという記事で頂いたアイデアをもとにしたところ、なかなか良さそうな結果が出てきました。
今でもアイデア募集しておりますので、面白いアイデアがあったらぜひお願いします!
トレードステーションの口座開設
トレードステーションで株の自動売買をするには、もちろんトレードステーションの口座開設は欠かせません。口座開設はこちらから可能です。
また、少し手順が増えますが、fx-onというサイトを経由してトレードステーションの口座開設をすると、自動売買プログラムが無料でもらえるキャンペーンが行われています。
詳細はトレードステーション口座開設で、自動売買プログラムがもらえるキャンペーン!をご覧ください!