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

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

Страницы: 1
QLUA + C#, Вызов методов C# из QLua
 
Методов C#
QLUA + C#, Вызов методов C# из QLua
 
Коллеги, удалось кому-нибудь вызывать методы из обработчиков событий в QLua. Поделитесь
Не работает sendTransaction в версии 9.3.1.11, Не работает sendTransaction в версии 9.3.1.11
 
Еще бы подсказали как правильно комментарий задать, что бы он потом в OnTransactReply и OnOrder подтягивался
Не работает sendTransaction в версии 9.3.1.11, Не работает sendTransaction в версии 9.3.1.11
 
local transaction = {
ACCOUNT="4104S58",
CLIENT_CODE="4104S58",
TYPE="L",
TRANS_ID="7",
CLASSCODE="SPBFUT",
SECCODE="MMU2",
ACTION="NEW_ORDER",
OPERATION="B",
PRICE="2206",
QUANTITY="1"
}

Да, вот так работает. Спасибо тех. поддержке
Не работает sendTransaction в версии 9.3.1.11, Не работает sendTransaction в версии 9.3.1.11
 
Вот например на такой запрос
local transaction={
["TRANS_ID"]=tostring(123456789),
["CLASSCODE"]="SPBFUT",
["Класс"]="SPBFUT",
["Инструмент"]="MMU2",
["Количество"]="1",
["Цена"]="2225",
["ACTION"]="NEW_ORDER",
["CLASSCODE"]=class,
["Торговый счет"]="4104S58",
['К/П']="Продажа",
['Комментарий']="ghghghghgh"
}
Ответ: Не указан инструмент транзакции
Не работает sendTransaction в версии 9.3.1.11, Не работает sendTransaction в версии 9.3.1.11
 
local transaction={
["TRANS_ID"]=tostring(trans_id),
["ACTION"]="NEW_ORDER",
["CLASSCODE"]=class,
["Тип"]="Лимитированная",
["Условие исполнения"]="Поставить в очередь",
["Класс"]=class,
["SECCODE"]=security,
["Количество"]="1",
["QUANTITY"]="1",
["PRICE"]=price,
["Цена"]=price,
["Торговый счет"]=account,
["ACCOUNT"]=account
}
if direction=='B' then transaction['К/П']='Покупка' else transaction['К/П']='Продажа' end

и по английски указываю поля, и по русски, одинаковый эффект
Не работает sendTransaction в версии 9.3.1.11, Не работает sendTransaction в версии 9.3.1.11
 
Не работает sendTransaction в версии 9.3.1.11, приходят сообщение, что не указаны какие либо поля, хотя все поля указаны (русская версия)
Ошибка скрипта Lua
 
Цитата
Anton написал:
package.loadlib(getScriptPath() .. "\\luacdll.dll", "luaopen_luacdll")()
На эту инструкцию ошибка attempt to call a nil value
Сорри, с путями напута. Все заработало если вместо require("luacdll") написать package.loadlib(getScriptPath() .. "\\luacdll.dll", "luaopen_luacdll")()
Спасибо
Ошибка скрипта Lua
 
Цитата
Anton написал:
package.loadlib(getScriptPath() .. "\\luacdll.dll", "luaopen_luacdll")()
На эту инструкцию ошибка attempt to call a nil value
Ошибка скрипта Lua
 
В Lua загружаю библиотеку написанную мной на C++ (я предварительно переписал и скомпилировал C++ код под Lua5.3)require("luacdll")
Файлы luacdll.dll и файл lua положил в папку с quik. При загрузке dll выдает ошибку
error loading module 'luacdll' fr om file '.\luacdll.lua':
.\luacdll.lua:1: too many C levels (lim it is 200) in main function near '"luacdll"'
Компилировал библиотеку на C++ под Win64 Relise в Visual Studio 2017
регистрировал внешние функции так
extern "C" LUALIB_API int luaopen_luacdll(lua_State *L) {
// эта функция выполнится в момент вызова require() в Lua-коде
// регистрируем реализованные в dll функций, чтобы они стали дуступны для Lua
#if LUA_VERSION_NUM >= 502
lua_newtable(L);
luaL_setfuncs(L, ls_lib, 0);
lua_setglobal(L, "luacdll");
#else
luaL_openlib(L, "luacdll", ls_lib, 0);
#endif
return 0;
}
Если указать в коде Lua перед загрузкой модуля dll
package.cpath = "C:\\Open_Broker_QUIK_AGromazin\\luacdll.dll"
Ничего не меняется
Страницы: 1
Наверх