2016-04-27 10 views
2

IBからRにデータをダウンロードするために、ここで手順を実行しました:IBrokers request Historical Futures Contract Data?。これはこことほぼ同じです:https://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdfR IBrokers APIが期限切れの月間にreqHistoricalDataに失敗する

すべて動作します。 1つの例外を除き:reqHistoricalDataは有効期限が切れた月では機能しません。次のコードを実行すると、エラーメッセージが表示されます: "警告メッセージを:ErrorHandlerを(CON、冗長、OK = Cを(165、300、366、2104、2106年では、:いいえ、セキュリティの定義が要求のために発見されていない"

#DOES NOT WORK (using expired month) 
tws <- twsConnect() 
mydata <- reqHistoricalData(tws, twsFuture("ES","GLOBEX","201603"), barSize='1 min', duration='5 D', useRTH='0', whatToShow='TRADES') 

#YET THE FOLLOWING DO WORK (using unexpired months) 
mydata <- reqHistoricalData(tws, twsFuture("ES","GLOBEX","201606"), barSize='1 min', duration='5 D', useRTH='0', whatToShow='TRADES') 
mydata <- reqHistoricalData(tws, twsFuture("ES","GLOBEX","201609"), barSize='1 min', duration='5 D', useRTH='0', whatToShow='TRADES') 
getContract("ES_M6") 

"株式契約のためにreqContractDetails、reqMktData、またはaddOrder()を呼び出すと、要求に対してセキュリティ定義が見つかりませんでした200 - エラーが表示されるのはなぜですか?これらの株式契約の方法は、グローバルシンボルとトレーディングクラスを空白のままにしてください。」(https://www.interactivebrokers.com/en/software/api/apiguide/tables/frequentlyaskedquestions.htm

洞察をこれにありがとうございました。

答えて

2

include_expiredをtrueに設定する必要があります。ドキュメントからの引数の完全なリストがある

twsFuture("ES","GLOBEX","201603",include_expired='1') 

twsEquity(symbol, 
      exch="SMART", 
      primary, 
      strike='0.0', 
      currency='USD', 
      right='', 
      local='', 
      multiplier='', 
      include_expired='0', 
      conId=0) 

、ヘルプページを引用する:私は、コードは次のようになります推測している

endDateTime引数をしなければなりません'CCYYMMDD HH:MM:SS TZ'の形式でなければなりません。 TWSサーバーから戻される現在時刻が指定されていない場合は、 を使用します。これは、データをバックフィルするのに適した方法です。文字列の 'TZ' 部分はオプションです。

だから、また、非常に多くの

reqHistoricalData(..., endDateTime='20160315 16:00:00') 
+0

感謝を使用して試みることができます。まだ動作しません。今、別の問題。 "mydata < - reqHistoricalData(" ES "、" GLOBEX "、" 201603 "、include_expired = '1')、barSize = '1時間'、duration = '5 D'、useRTH = '0'、whatToShowエラーメッセージ: エラーメッセージ:errorHandler(con、verbose、OK = c(165,300,366,2104,2106:: ヒストリカルマーケット)で、TWS応答を待っています。データサービスのエラーメッセージ:HMDSクエリでデータが返されなかった:ESH6 @ GLOBEX Trades "。これは201606(現在の月)で正常に動作します – Krug

+1

データがない場合は間違った日付を使用しています。有効期限の中央よりも前の日付を使用してください(ESの場合)。したがって、H = Marの場合は、Mar 15/2016を最新の日付として使用してください。 – brian

関連する問題