Подсчитать среднее значение внутри dll для многих предметов - PullRequest
0 голосов
/ 17 сентября 2018

Я создаю DLL, написанную на C ++. Основной сценарий написан на Lua. Внутри dll есть функция:

static int OnQuote(lua_State* L) {
//receives parameter called "last_price" and try to count average price
return 0;
}

Получает «last_price» за 5 акций, торгующих на бирже. Я хочу посчитать среднее "last_price" на 100 последних сделок, которые приходят в эту функцию. Каждая бумага рассчитывает свою среднюю цену отдельно друг от друга. Примеры работ: "SBER", "GAZP", "ROSN", "GMKN", "MGNT" Каков наилучший способ сделать это? Какой контейнер следует использовать для хранения данных? Может быть карта с векторами? Где объявить глобальную карту?

Я создал карту внутри DllMain, но она не видна внутри функции OnQuote:

map <string, vector <int> > avr;
avr.insert(pair<string, vector<int> >("SBER", vector<int>{}));
avr.insert(pair<string, vector<int> >("GAZP", vector<int>{}));
avr.insert(pair<string, vector<int> >("GMKN", vector<int>{}));
avr.insert(pair<string, vector<int> >("MGNT", vector<int>{}));
avr.insert(pair<string, vector<int> >("ROSN", vector<int>{}));

Я стараюсь хранить промежуточные данные внутри векторов. Помогите мне пожалуйста со стратегическим взглядом на эту задачу.

...