All Projects → elelel → qluacpp

elelel / qluacpp

Licence: other
C++ interface for Quik trading terminal via lua bindings

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to qluacpp

Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (+136.36%)
Mutual labels:  stock, exchange
Klinechart
📈Lightweight k-line chart that can be highly customized. Zero dependencies. Support mobile.(可高度自定义的轻量级k线图,无第三方依赖,支持移动端)
Stars: ✭ 303 (+588.64%)
Mutual labels:  stock, exchange
Rhlineplot
Line plot like in Robinhood app in SwiftUI
Stars: ✭ 179 (+306.82%)
Mutual labels:  stock
Acgn Stock
PTT ACGN股票交易市場
Stars: ✭ 252 (+472.73%)
Mutual labels:  stock
Deeptrade keras
Stars: ✭ 228 (+418.18%)
Mutual labels:  stock
Stock Selection A Framework
This project demonstrates how to apply machine learning algorithms to distinguish "good" stocks from the "bad" stocks.
Stars: ✭ 198 (+350%)
Mutual labels:  stock
Deep Rl Trading
playing idealized trading games with deep reinforcement learning
Stars: ✭ 228 (+418.18%)
Mutual labels:  stock
Stock Chart
基于 canvas 的沪深两市股票分时 K 线图
Stars: ✭ 170 (+286.36%)
Mutual labels:  stock
gromox
Groupware server backend for the grommunio Distribution, supporting MAPI/HTTP, RPC/HTTP, IMAP, POP3 protocols, PHP-MAPI bindings, and import from PST/OST/MSG/TNEF, EML/ICAL/VCF, KDB
Stars: ✭ 163 (+270.45%)
Mutual labels:  exchange
Sphinx Quant
一个基于vnpy,支持多账户,多策略,实盘交易,数据分析,分布式在线回测,风险管理,多交易节点的量化交易系统;支持CTP期货,股票,期权,数字货币等金融产品
Stars: ✭ 217 (+393.18%)
Mutual labels:  stock
Trading Backtest
A stock backtesting engine written in modern Java. And a pairs trading (cointegration) strategy implementation using a bayesian kalman filter model
Stars: ✭ 247 (+461.36%)
Mutual labels:  stock
Stocksensation
基于情感字典和机器学习的股市舆情情感分类可视化Web
Stars: ✭ 215 (+388.64%)
Mutual labels:  stock
Stock
30天掌握量化交易 (持续更新)
Stars: ✭ 2,966 (+6640.91%)
Mutual labels:  stock
Storagesystem
🗒️ Personal Stock Control System
Stars: ✭ 236 (+436.36%)
Mutual labels:  stock
Yykline
iOS YYKline:Kline、Chart、Volume、Scroll、Scale、MACD、KDJ、K线图、分时图...
Stars: ✭ 2,318 (+5168.18%)
Mutual labels:  stock
python-api
Trading API for Quedex Bitcoin Derivatives Exchange.
Stars: ✭ 20 (-54.55%)
Mutual labels:  exchange
Alpha Mind
quantitative security portfolio analysis. The analysis pipeline including data storage abstraction, alpha calculation, ML based alpha combining and portfolio calculation.
Stars: ✭ 171 (+288.64%)
Mutual labels:  stock
Dolibarr
Dolibarr ERP CRM is a modern software package to manage your company or foundation's activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). It is open source software (written in PHP) and designed for small and medium businesses, foundations and freelancers. You can freely install, use and distribute it as a standalon…
Stars: ✭ 2,877 (+6438.64%)
Mutual labels:  stock
Laravel Stock
Keep stock for Eloquent models
Stars: ✭ 229 (+420.45%)
Mutual labels:  stock
Chase
Automatic trading bot (WIP)
Stars: ✭ 73 (+65.91%)
Mutual labels:  stock

QluaCpp

C++ interface for Quik trading terminal via Lua bindings

Интерфейс для написания на C++ плагинов к торговому терминалу Quik через байндинги Lua

// ... 
#include <qluacpp/qlua>

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

void my_main(lua::state& l) {
  qlua::api q(l);
  std::string name;
  q.getSecurityInfo("TQBR", "SBER",
                    [&name] (const auto& sec_info) {     // C++14 style lambda
                      name = sec_info().name();
                      return 1;  // How many stack items should be cleaned up (poped)
                    });
  std::string text = "qluacpp: Hello, world! Ticker's SBER name is " + name;                  
  q.message(msg.c_str());  
}

LUACPP_STATIC_FUNCTION2(main, my_main)
                        
extern "C" {
  LUALIB_API int luaopen_lualib_hello(lua_State *L) {
    lua::state l(L);

    ::lua::function::main().register_in_lua(l, my_main);

    luaL_openlib(L, "lualib_hello", ls_lib, 0);
    return 0;
  }
}

Преимущества

  • Позволяет писать плагины к терминалу Quik на типизированном языке с развитой экосистемой и избежать программирования на сложном для отладке языке Lua
  • Предельная быстрота: в отличие от других интерфейсов к Quik данные не пересылаются и в большинстве случаев даже не копируются, чтение осуществляется непосредственно через ссылки на память терминала. В ряде случаев даже быстрее, чем доступ через встроенный интерпретатор Lua (благодаря C-интерфейсу к API Lua, предоставляющему больше возможностей, чем языковые средства).

Requirements / Требования

  • Lua 5.1 or Lua 5.3 library (depending on target Quik)
  • C++17-compliant compiler (C++17 compliant, tested with VS 2017 15.0)

Usage example / Пример использования

See tutorials for code examples, as well as step by step instruction for creating qluacpp projects.

Примеры содержат пошаговые инструкции и исходные коды небольших плагинов

License / Лицензия

GPL v3.0.

Distribute your source code if you distribute the binaries.

Если распространяете бинарники, прилагайте и исходный код.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].