dde リンクによってデータを収集し、いくつかのルールに従ってそれらを実行するコードを Excel VBA で作成しました。まもなく、この Excel VBA コードから、追跡している株の売買に関するメッセージが送信されます。
ここで、修正プロトコルを使用してこれらのメッセージを実行したいと思います。Excel VBA を使用して、Web サービスに接続し、Excel VBA からの操作を実行できる修正プロトコル エンジンを作成することはできますか?
ご協力いただきありがとうございます。
dde リンクによってデータを収集し、いくつかのルールに従ってそれらを実行するコードを Excel VBA で作成しました。まもなく、この Excel VBA コードから、追跡している株の売買に関するメッセージが送信されます。
ここで、修正プロトコルを使用してこれらのメッセージを実行したいと思います。Excel VBA を使用して、Web サービスに接続し、Excel VBA からの操作を実行できる修正プロトコル エンジンを作成することはできますか?
ご協力いただきありがとうございます。
Excel から FIX メッセージを送信するには、いくつかのオプションがあります。
まず第一に、ゼロから FIX エンジンを作成するのは簡単なことではありません。まず第一に、仕様 (特に 4.2 などの以前のバージョン) はかなりあいまいであり、詳細の多くは実際の経験からしか知ることができません。したがって、既製のソリューションから始める方がよいでしょう。
いくつかのオプションがあります:
1) Excel から、FIX エンジンのリモート API を呼び出します。http://fixprotocol.org/products/1にリストされているさまざまな商用エンジンがあります。製品 SDK で Excel プラグインを提供するものもあります。
2) QuickFIX.NET を VBA コードに埋め込みます。コード例についてはhttp://www.quickfixengine.org/を参照してください(トピックが大きすぎてその回答に投稿できません)。
3) FIX for Excel プラグインを購入します。いくつかあります。おすすめはできません(諸事情により)。ここでも、FIX Protocol Ltd のサイトでいくつかの出発点を検索できます: http://fixprotocol.org/products/2
もう 1 つ注意:
これをコーディングしたとき、Excel のスレッド モデルではセルの非同期更新が許可されませんでした。そのため、リモート FIX サーバーにコマンドを送信すると、応答メッセージ (取引) が非同期で受信されました。返信があったので、Excel の更新を試みました。更新が到着したときにセルを同時に編集していると、Excel プロセスが激しくクラッシュします。
これを克服する 1 つの解決策は、Excel RTD インターフェイス (RTD = "リアルタイム データ") を使用してトレード ブロッターを更新することです。これは別の大きなトピックです。出発点は次のとおりです。