Подключаюсь и подписываюсь на все транзакции, запускаю подписку, но ничего не приходит.
Не приходит не в основную программу, ни в тестовую, что идет вместе с dll-файлом.
Версия quik: "Quik Junior 6.16.1.15"
Версия trans2quik.dll: 1.2
Защитник Windows отключен.
Как вообще передаются данные между api и программой?
Скрытый текст |
---|
Исходный код программы
Код |
---|
#include "stdafx.h"
#include <windows.h>
#include "../trans2quik_api.h"
#include <iostream>
#include <thread>
#include <chrono>
void __stdcall trade_cback(long nMode, double dNumber, double dOrderNumber, LPCSTR ClassCode, LPCSTR SecCode, double dPrice, long nQty, double dValue, long nIsSell, long nTradeDescriptor) {
std::cerr << "mode:" << nMode
<< ";number:" << dNumber
<< ";orderNum:" << dOrderNumber
<< ";ClassCode:" << ClassCode
<< ";SecCode:" << SecCode
<< ";Price:" << dPrice
<< ";Qty:" << nQty
<< ";dValue:" << dValue
<< ";IsSell:" << nIsSell
<< ";tradeDesc:" << nTradeDescriptor
<< std::endl;
}
int main(){
long ec;
char buffer[1024];
char const* path2quik = R"path(C:\Program Files (x86)\QUIK-Junior)path";
char path2quik2[1024] = {};
memcpy(path2quik2, path2quik, strlen(path2quik));
auto connection_result = TRANS2QUIK_CONNECT(path2quik2, &ec, buffer, sizeof(buffer));
if (connection_result != TRANS2QUIK_SUCCESS) {
std::cerr << "Cannot connect, error: " << connection_result << std::endl;
return -1;
}
auto subscribe_result = TRANS2QUIK_SUBSCRIBE_TRADES("", "");
if (subscribe_result != TRANS2QUIK_SUCCESS) {
std::cerr << "Cannot subscribe, error: " << subscribe_result << std::endl;
return -1;
}
auto start_result = TRANS2QUIK_START_TRADES(trade_cback);
if (start_result != TRANS2QUIK_SUCCESS) {
std::cerr << "Cannot start, error: " << start_result << std::endl;
return -1;
}
std::this_thread::sleep_for(std::chrono::seconds(30));
return 0;
}
|
|