2017-02-12 8 views
0

私はついにreqMktData()を使用しました!残念ながら、それはちょうど私に株式SHLDの$ 5.54の価格を与えました。それが木曜日の終わりです。そして今は土曜日です...金曜日の終値...そして最近の時間外の終値まですべきだと思います。インタラクティブブローカーapi reqMktData()は24時間遅れです

だから、休みだと思われますか?これが週末のためだと思いますか?

わかりません。ここでtickPrice()関数のための私のコードスニペットがある(基本的に物事をプリントアウト):

void PosixTestClient::tickPrice(TickerId tickerId, TickType field, double price, int canAutoExecute) { 
    printf("Tick Price. Ticker Id: %ld, Field: %d, Price: %g, CanAutoEx: %ld \n", 
      tickerId, (int)field, price, canAutoExecute); 
} 

そして、ここではreqMktData()関数の私のコードは次のとおりです。

reqMktData
void PosixTestClient::getHData(){ 
    Contract contract; 
    contract.symbol = "SHLD"; 
    contract.secType = "STK"; 
    contract.exchange = "SMART"; 
    contract.currency = "USD"; 

    TagValueListSPtr mktDataOptions(new TagValueList); 


    m_pClient->reqMktData(1,contract,"",false, mktDataOptions); 


} 
+0

デモアカウントを使用している場合、有効なデータは送信されません。それが本当の勘定であれば、私は夢中です。 – brian

+0

私がデモ版で実際の市場データを支払っていても? – rikkitikkitumbo

+0

デモアカウントで実際のデータを取得することはできません。ログインであなたの名前やパスワードが使用されないことに注意してください。データを持つ実際のアカウントをお持ちの場合は、それを使用してください。ペーパートレーディング勘定を設定し、データ購読を共有することができます。 – brian

答えて

0

あなたはすべての受信あなたが紙とライブアカウントで必要なデータ。 APIに接続するアカウントのTWSでリアルタイム・データを取得することで、設定が正しいかどうかを確認してください。

次に、ハンドラが受信したメッセージを確認します。 異なるフィールドがたくさんあります。私はドキュメンテーションに役立つものは何も見つかりませんでした。しかし、私はすべてのメッセージデータをストリーミングし、フィールドをテストした:

  • field = 9 - >最後近い価格(昨日からほとんどの時間)
  • field = 4 - >リアルタイム市場データ(TWSに表示のように シンボルの下に)

私はあなたを助けることができ、必要な場合はサンプルコードをお送りすることを希望します。

関連する問題