mmonk1980 (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
getNumCandles не работает
 
Точно! Вот работающий код;

dofile(getWorkingFolder() .. "\\LuaIndicators\\LuaIndicators\\BB.lua")

function main()
   func = BB()
   ds = CreateDataSource("SPBFUT", "RIU7", INTERVAL_M15)
   sleep(500)

   for i = 1, ds:Size() do
       x, y, z = func(i, { Period = 20, Shift = 2, Metod = "VMA", VType = "Close", round = 4 }, ds)
   end
   message(x .. "," .. y .. "," .. z)
end

надо LuaIndicators readme добавить этот пример.  
getNumCandles не работает
 
Я как вы советали LuaIndicators:

dofile(getWorkingFolder() .. "\\LuaIndicators\\LuaIndicators\\BB.lua")
function main()
   func = BB()
   ds = CreateDataSource("SPBFUT", "RIU7", INTERVAL_M15)
   sleep(500)

   for i = 1, ds:Size() do
       ma_out = func(i, { Period = 20, Shift = 2, Metod = "VMA", VType = "Close", round = 4 }, ds)
   end
   message("" .. ma_out)
   sleep(2000)
end

и это выдает только среднюю линию, верхнюю и нижнюю нет! Как сделать чтобы выдавал верхнюю и нижнюю линию?
getNumCandles не работает
 
Цитата
Александр Волфовиц написал:
Идентификатор графика проверяйте.
Это все нормально.
getNumCandles не работает
 
getNumCandles и bollinger bands, выводит 0, почему? Там три волны может в этом проблема?
LUA C++
 
Когда появиться реализация CreateDataSource, SetUpdateCallback, Size, Close, SetEmptyCallback? Просто библиотека месяц не исправлялась.
LUA C++
 
Вы хотели переписать библиотеку, прошел месяц - оно переписано или нет?
LUA C++
 
Вот так надо:

auto it = q.getItem<qlua::alltrade>("all_trades", 0);
q.message("Price " + std::to_string(it.price));
LUA C++
 
А как правильно? Можете переписать эту строку? (getItem чтобы вoзращала price)
auto item_t = q.getItem("all_trades", 0).price;
LUA C++
 
Можно сделать как вот с этим?

par = q.getParamEx("SPBFUT", "MMM7", "BID");

вот так:

auto it = q.getItem("all_trades", 0, "BID");  
LUA C++
 
Написал

auto it = q.getItem<>("all_trades", 0);

выдает такую ошибку:

'qlua::api::getItem': no matching overloaded function found
'item_t qlua::api::getItem(const char *,const int) const': could not deduce template argument for 'item_t'

видимо функция не реализована.
LUA C++
 
Как делать getItem получать цену, так не хочет работать:

auto item_t = q.getItem("all_trades", 0).price;
LUA C++
 
Как например вызвать CreateDataSource и CALLBACK к нему?
LUA C++
 
Документации никакой. Я этой строчной час бился например:

qlua::param par;
par = q.getParamEx("SPBFUT", "MMM7", "BID");

без мне брать param.
LUA C++
 
Мне нужно callback "Таблица всех сделок" и "Таблица текущих торгов" с разными инструментами. Что бы когда-они менялись C++ я принимал это. Как это сделать?  
LUA C++
 
my_main вызывается и все нормально, а вот OnAllTrade и OnQuote молчит, нечего не приходит! Может QUIK в квик надо поставит и еще что?
LUA C++
 
Скомпилировал библиотеку, даже запустил. my_main вызывается и все нормально, а вот OnAllTrade и OnQuote молчит, нечего не приходит! Что надо сделать что бы тоже работали?

static struct luaL_reg ls_lib[] = {
{ NULL, NULL }
};

void OnAllTrade(lua::state& l, const qlua::alltrade& data) {
qlua::extended_api q(l);
q.message(std::string("OnAllTrade: ") + data.sec_code + std::to_string(data.price));
}

void OnQuote(lua::state& l, const char* class_code, const char* sec_code) {
// Print depth for currently opened depth windows (aka "level 2 quotes"
qlua::extended_api q(l);
if (class_code == qlua::classcode::TQBR::name()) {
// Get quote info with normal API
auto quote = q.getQuoteLevel2(class_code, sec_code);
// Same with Extended API, with typechecked class code
auto quote_tl = q.getQuoteLevel2<qlua::classcode::TQBR>(sec_code);

//ss << "Quotes for " << sec_code << " (class " << class_code << "):\n"
// << "  Bid:\n";
//for (const auto& r : quote.bid) ss << "    " << r.quantity << " - " << r.price << "\n";
//ss << "  Offer:\n";
//for (const auto& r : quote.offer) ss << "    " << r.quantity << " - " << r.price << "\n";

//q.message(ss.str());
}
}

void my_main(lua::state& l) {
using namespace std::chrono_literals;
qlua::extended_api q(l);
const char *path;
path = q.getScriptPath();
q.message(path);
q.message(q.getInfoParam("VERSION"));

qlua::param par;
//par = q.getParamEx("SPBFUT", "RIM7", "BID");
par = q.getParamEx("SPBFUT", "MMM7", "BID");
q.message(std::to_string(par.double_value));

//q.message("qluacpp tutorial: Starting main handler");
//for (int i = 0; i < 3; ++i) {
// q.message("qluacpp tutorial: Tick " + std::to_string(i));
// std::this_thread::sleep_for(1s);
//}
//q.message("qluacpp tutorial: Terminating main handler");
}

extern "C" {
LUALIB_API int luaopen_Win32Project1(lua_State *L) {
lua::state l(L);
qlua::extended_api q(l);

q.set_callback<qlua::callback::main>(my_main);
q.set_callback<qlua::callback::OnAllTrade>(OnAllTrade);
q.set_callback<qlua::callback::OnQuote>(OnQuote);

luaL_openlib(L, "Win32Project1", ls_lib, 0);
return 0;
}
}
LUA C++
 
Ладно буду сидеть на DDE раз LUA не доступна. Удачи вам за ответы. Может сделаете .sln когда нибудь!
LUA C++
 
Цитата
El El написал:
Если нужно, как вы писали выше, подключить библиотеку уже к существующему не-CMake проекту в студии, нужно сделать то же самое, но скачав только qluacpp, и указав дополнительно всего-лишь две опции: путь к .h файлу от lua и путь к .lib файлу от lua.
Такое делал не помогает.
LUA C++
 
"Файл .sln от примера будет ссылаться на непортабельный .sln библиотеки"

zip либа она там .sln файл, так тут не факт!
LUA C++
 
Программисты разные бывают я например не cmake не пользуюсь и сразу ступор встаю как это делать. Обычно .sln идет c либой и example можно сразу проверить.
LUA C++
 
У вас example в файле README.md, выложить dll и проект .sln к нему...
LUA C++
 
Не понятно. Может сделаете "example" где есть .sln и  dll компилируется?
LUA C++
 
Вы пишете как нуля это либу подключить, а надо в текущий проект Visual Studio 2015.
LUA C++
 
Например просто скомпилировать dll и один .h файл и все. Как обычно  либы делаются.  
LUA C++
 
Есть проект Visual Studio 2015, как нему подключить либу?  
LUA C++
 
Ну хотя бы example и чтобы dll делал? У меня на VS 2015 проект и знаю как это либу прикрутить (это не помогло: пример плагина и пошаговая инструкция к нему, включая генерацию проекта под студию). Нужен .sln  и ваш example dll компилируется.
LUA C++
 
Например как тут http://smart-lab.ru/blog/387954.php есть .sln и dll компилируется!
LUA C++
 
Не могу скомпилировать DLL. Не находит LUA. Может сделаете все-таки .sln?
LUA C++
 
Цитата
El El написал:
Для желающих писать плагин целиком на C++ библиотека доступа к QLUA API:   https://github.com/elelel/qluacpp
Реализовано не все, но при необходимости не сложно дописать доступ к нужным функциям.
Никак не хочет компилировать в Visual Studio, может есть (.sln) проект?
LUA C++
 
Цитата
El El написал:
Для желающих писать плагин целиком на C++ библиотека доступа к QLUA API:   https://github.com/elelel/qluacpp
Реализовано не все, но при необходимости не сложно дописать доступ к нужным функциям.

Вот что надо, только лучше чтобы команда Quik это написала! Почему это не написано?
LUA C++
 
Дело в другом для DDE есть либа, а вот LUA нету С++, почему не сделаете? Типа такой QscalpAgent.dll?

int __cdecl luaopen_QScalpAgent(int a1)
{
   lua_pushcclosure(a1, sub_10008220, 0);
   lua_setfield(a1, -10002, "OnAllTrade");
   lua_pushcclosure(a1, sub_10008280, 0);
   lua_setfield(a1, -10002, "OnQuote");
   lua_pushcclosure(a1, sub_10008310, 0);
   lua_setfield(a1, -10002, "OnParam");
   lua_pushcclosure(a1, sub_10008410, 0);
   lua_setfield(a1, -10002, "OnTransReply");
   lua_pushcclosure(a1, sub_10008470, 0);
   lua_setfield(a1, -10002, "OnOrder");
   lua_pushcclosure(a1, sub_100084D0, 0);
   lua_setfield(a1, -10002, "OnTrade");
   lua_pushcclosure(a1, sub_10008530, 0);
   lua_setfield(a1, -10002, "OnStopOrder");
   lua_pushcclosure(a1, sub_10008200, 0);
   lua_setfield(a1, -10002, "OnStop");
   lua_pushcclosure(a1, sub_100081E0, 0);
   lua_setfield(a1, -10002, "OnClose");
   lua_pushcclosure(a1, sub_10007F90, 0);
   lua_setfield(a1, -10002, "main");
   return result;
}


int __usercall sub_10002490@<eax>(int a1@<esi>)
{
 int v1; // edi@1

 lua_getfield(a1, -10002, "Subscribe_Level_II_Quotes");
 lua_pushstring();
 lua_pushstring();
 lua_call(a1, 2, 1);
 v1 = lua_toboolean(a1, -1);
 lua_settop(a1, -2);
 return v1;
}
LUA C++
 
Привод QScalp как то получает все таблицы, а почему у вас нету такой библиотеки С++?  Раз такое возможно?
опционы тек.чист.поз.
 
Ау!
опционы тек.чист.поз.
 
Нет опционов и ставок нету, позиция показывает "тек.чист.поз." -940 рублей минус. Что этого значит?
Как подключится с двух компьютеров.
 
Не понятно как быть?
Как подключится с двух компьютеров.
 
Скажите пожалуйста, как подключиться двум компьютерам к одному аккаунту. Сейчас пишет "Соединение другой программе". Жена тоже хочет играть.
Страницы: 1
Наверх