ここ最近、何度目かわからないけど、ガチでjForexのストラテジ(EAみたいなもの)を作成しています。
現在の方針として、自動売買を組むより、裁量トレードがし易いようにインディケータのような挙動(チャートへの描写)をするようなものを目指して製作中です。
で、jForexの機能を色々漁っているうちに気づきました。
バックテスト実行中に、裁量トレードの練習が可能だ
裁量トレードする時の動きとして、
- 自分のトレード手法のインディケータなりをチャートに表示
- チャートが遷移し(時間経過・相場変動)、セットアップを見つける
- 発注時に、T/P・S/Lを設定する
- 任意のタイミングでポジションが決済できる
大体こんなことしますよね。
で、jForexのチャート描写機能の中に、ウィジェット追加機能があり、そこにアクションボタンが設置できます。と。
さらに、テスト中は、トレードエンジンが実市場ではなくテスターを向きます。ここまでくれば、簡単に裁量トレードの練習ができるのでは、、、
というわけで、できました。
任意の通貨ペア、任意のチャートテンプレート、任意の期間、任意のスピードで裁量トレードがテスト実施可能な状況になりました。
jForexですので、精度はもちろんTick単位です。(MT4のような、疑似1分足ではなく、実際にあった動きに則したトレードが可能です)
現在のトレード手法が、自動化は困難でバックテストが難しいが、有効かどうか検証したい、、、こんなことができるのではと思い、やっつけで作りました。
::出来ないこと::
- テスターチャートのウィジェットではなく、jForex本体のワンクリック注文を誤って押してしまうこと(実注文の誤発注)
- スリッページの検証
- その他いろいろあるかと思います
- 複数時間チャートの同時表示 (これは、未実装であって、jForexテスターの仕組み上は可能と思います)
:: サンプルソースコード ::
- 文字化けしているかもです
- 最低限Javaが分かる方向け
- いろいろやっつけ部分があります
- Java7の標準ライブラリのみに依存して、他のサードパーティー製のライブラリは不要
- 私のトレード手法のセットアップ等ごちゃごちゃ表示されますが、気にしないで下さい
実口座にダメージを与えないよう、
デモ口座と、テスター時のみウィジェット注文を通すようにセーフティー機構を組み込んでいます。
リアル口座では、発注エラー(というより、発注スキップ)になります。
稼働風景は、こんな感じになります。
ウィジェットから、疑似発注できます。
テスタースピードも調整可能
テスト期間も調整可能
テスターチャートのテンプレートを指定することで、
いつものトレード手法の検証が可能になります
テスト裁量トレードの結果は、テスターレポートで検証可能です。
レポートをExcel等で取り込めば、どういうエッジでトレードしているのか
分析ができますよね。
ちょっと脱線したけど、これはこれで使える。でも、あとでできると、逆にやらないことになりそうな。
そういえば、MT4でこんな製品があったような。jForexだと簡単に、、、