4

dde リンクによってデータを収集し、いくつかのルールに従ってそれらを実行するコードを Excel VBA で作成しました。まもなく、この Excel VBA コードから、追跡している株の売買に関するメッセージが送信されます。

ここで、修正プロトコルを使用してこれらのメッセージを実行したいと思います。Excel VBA を使用して、Web サービスに接続し、Excel VBA からの操作を実行できる修正プロトコル エンジンを作成することはできますか?

ご協力いただきありがとうございます。

4

1 に答える 1

5

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 = "リアルタイム データ") を使用してトレード ブロッターを更新することです。これは別の大きなトピックです。出発点は次のとおりです。

Microsoft KB: Excel で RTD 関数を設定して使用する方法

于 2012-07-17T15:13:30.370 に答える