最初の自動売買システム
今回は、自分がFXを始めた頃の自動売買の話。2005年頃かな。
過去のブログ見ると、エンジュクのブログにこんなことを書いてた。
自動売買の手法には色々ありますが、大きく3つの処理に分けられます。
1.売買対象となる価格データを取り出す
2.価格データから売買シグナルを発生させる
3.売買シグナルを業者に送り、実際に売買を行う
私が最初に作ったシステムでは、これらの3つの処理を別々のプログラムで行わせるものでした。
何をやってたのかほとんど記憶になかったけど、PCのハードディスク(今はSSD)を探したところ、昔のソースコードが残ってた。
全部C++で書いてある。今見てもよくわからないけど、ざっとこんなところだろう。
価格データの取得
コードを見ると、DDEを使っている。サーバーは何かと思ったら「FXtrek」というワードがある。ググってみよう。
あった!これだ。
この画面見覚えある。え、15年近くもデザインが変わっていない?やっぱり化石か?
まあこれを使って1分足のデータを取り出していたらしい。
売買シグナルの生成
価格データが取得できれば、売買シグナルの生成はそんなに難しくない。
ただ、自前でテクニカル指標をC++で計算させるから、それなりのコードになる。
コードを見ると、この部分でシグナル生成だけでなく、バックテストとかパラメータの最適化とかもやっていたみたい。
今ならメタトレーダーで簡単にできてしまうことだ。我ながらよくやったなと思う。
実際、不便な時代の方が自分の技術を磨くことができる。今は探せば何でもあるから、自分で作ろうという気がしないんだよね。いい時代なんだか、悪い時代なんだか。
売買オーダーの送信
それはそうと、売買シグナルの生成まではそんなにハードルは高くない。問題なのは、業者サーバーに接続して売買を行うことだ。
今ならAPIを公開している業者も多いから、それを使えば問題ない。
ただ、当時は個人で口座開設できる業者で、そういうところはほとんどなかった。
それでも海外では自動売買の情報も少しはあったので、それを頼りに何とかやってみた。
当時海外でまあまあ知られてた業者はFXCMだったので、それに対応した接続ツールがいくつかあった。
確か、DynaorderとかHyperOrderとかだった。
HyperOrderは無料だったし、日本語の情報があった。ググると今も残っている。
http://kawarobo.com/archives/hyperorder/hyperorder_/index.html
ただ、自分が試そうと思ったときはダウンロードできなくなっていたので、断念した記憶がある。
なので、もう一つのDynaorder(これは有料だったような気がする)を使って売買シグナルの送信を行って自動売買システムを完成させた。
これでしばらく自前の自動売買システムを動かしていたのだが、そのうちDynaorderが終了した。
もともとDynaorderも業者公認というわけでもなく、独自にプロトコルを解析して接続できるようにしていたのだろう。業者の接続プロトコルの変更に対応にできなくなり、そのうち使えなくなり、サイトもそのうち消滅した。
結局2005年に始めた最初の自動売買システムも、1年経たずに終了に追い込まれた。
ただ、自前の自動売買システムを運用していた頃、InterbankFXというメタトレーダー採用業者を見つけていたので、Dynaorderの終了と同時にメタトレーダーに自動売買システムを乗り換えることになる。