api reqMktData () для интерактивных брокеров опаздывает на 24 часа

Я наконец получил reqMktData () для работы! К сожалению, он просто дал мне цену $ 5,54 за акцию SHLD. Это конец четверга. и сейчас суббота … я думаю, она должна дать мне цену закрытия пятницы … и даже самую последнюю цену закрытия после закрытия.

Так кажется, что это выходной? Интересно, это из-за выходных?

Я не уверен. Вот мой фрагмент кода для функции 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 ():

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

Решение

С reqMktData вы получите все данные, которые вам нужны, на бумаге и в реальном счете. Проверьте правильность настроек, получая данные в реальном времени в TWS для учетной записи, которую вы хотите подключить к API.

Затем посмотрите на сообщения, полученные обработчиком. Есть много разные поля. Я также не нашел ничего полезного в документации. Но я передал все данные сообщения и проверил поля:

  • field = 9 -> последний близко цена (большую часть времени со вчерашнего дня)
  • field = 4 -> в реальном времени рынок данные (например, отображаются в TWS под
    условное обозначение)

Я надеюсь, что смогу помочь вам и смогу прислать вам пример кода, если он вам понадобится.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]