FXDaemonは使いやすく、軽量かつ高性能な自動取引プラットフォームです。
CUIから起動してヒストリカルバックテストモードまたは自動取引モードで稼働します。
自動取引モードの場合は、主に2種類のアカウントが利用できます。
プラグインを経由してブローカーの取引サーバーとつながります。
ストラテジーはJavaScriptで開発します。
TA-Libによる標準テクニカル指標はJavaScriptビルトイン関数の形で提供します。
自動売買は利用者がJavaScriptで作成したプログラムによって行われます。ポジションのオプーン・クローズ、マッケートデータ・ヒストリカルデータの取得はビルトイン関数によってJavaScriptから呼び出すことができます。起動されるタイミングは1分足~日足まで設定可能です。
トレーリングストップ・リミットについてはマッケートデータの変動に合わせて利用者が作成したJavaScriptプログラムが呼び出されて自動調整ができます。
ティック値及びスプレッドは1分足のデータで設定します。テストした結果及びテクニカル指標などの一時データはDBに登録されてSQLを利用すれば様々な集計方法で分析できます。
1分足のデータを元に動かすため多少誤差があり、実のティック値より早くてパフォーマンスも良いです。
ブローカーによって対象となる金融商品が異なります。FXだけでなく、株などのその他の金融商品も取引可能です。
ポジションをオプーンまたはクローズした際には、指定されたメールアドレスにポジション情報を送信することができます。
ディープラーニングの技術はストラテジーの改善に活用することができます。学習済みモデルをJavaSrciptビルトイン関数から呼び出して、推論した売買シグナルによって売買ロジックを改善します。
FXDaemonが起動する際にモデルをロードします。モデルが更新された場合はFXDaemonの再起動が必要です。複数アカウントから同じモデルを利用する場合、同じモデルを複数ロードすることになります。
ブローカーからの情報やシステム内部で作成したデータは3方式で格納します。
稼働情報は日単位でログファイルに出力します。出力レベルが4種類あります。
fxService は共有メモリとDBに格納されているデータを外部に連携して、Web API機能を提供します。FXDaemonと同じマシンに配置する必要があります。認証やアクセス制御などはHTTPサーバーによって設定します。
fxService経由でDBに登録している実行プランも更新できます。ストラテジーは更新された実行プランを参照することによって、連携されている外部システムから自動売買ロジックをリアルタイムで制御することができます。
fxBench はテクニカル分析ためのGUIツールです。FXDaemonと同じマシンまたは別の端末に配置されます。ヒストリカルデータにテクニカルチャートを載せて、バックテストした結果をみながら、テクニカル分析を行うことができます。