KTL 一个支持C++14编辑公式的K线技术工具平台 - 第九版,数据分析工具。支持通达信日线数据。增强即时插件编程体现。

K,K线,Candle蜡烛图。

T,技术分析,工具平台

L,公式Language语言使用c++14,Lite小巧简易。

项目仓库:https://github.com/bbqz007/KTL

国内仓库:https://gitee.com/bbqz007/KTL

CoreAnimation for Windows: https://github.com/bbqz007/xw

zqt5 一个超简单的Qt5窗口语法: https://github.com/bbqz007/zqt5

zqlite3 一个超简单的流式语法,整合封装Sqlite3 capis 与 SQL 跟 c/c++程序绑定:https://github.com/bbqz007/sqlite3zz

zgl 一个对OpenGL常规功能api重新抽象封装。https://github.com/bbqz007/zgl

KTL提供一个c++14编译平台,用户可以使用c++14编辑自定义技术指标等。

用户可以使用crt常用函数,c++标准库容器以及算法,c++14特性编程。

本文于博客园地址。

本期更新内容

    1. 添加数据分析工具,
    • 1.1 可以直接导入通达信日线转换到sqlite3数据库。
    • 1.2 可以自定义各种指标或公式的运算结果导出到sqlite3数据库。
    • 1.3 提供sqlite3数据库浏览器。
    • 1.4 提供sqlite3查询控制台。
    • 1.5 提供通达信日线数据浏览器。
    • 1.6 编程代码提供TdxK类,自定义加载通达信日线文件数据。
    1. 支持加载通达信日线文件。
    • 2.1 直接加载通达信日线day文件
    • 2.2 从通达信日线数据zip包加载日线文件
    • 2.3 每个日线文件对应一个K线图,独立应用插件如OpenGL3D视图,指标公式,画线工具等。
    1. 增强编程体验
    • 3.1 增强使用zqt5进行的Qt窗口编程的体验
      • 3.1.1 预置辅助代码,使用zqt5语法layout QLayout
      • 3.1.2 预置辅助代码,使用zqt5语法layout QWidgets
    • 3.2 增加使用sqlite3zz进行数据库编程的体验
      • 3.2.1 预置辅助代码,使用sqlite3zz语法,定义创建表,不用写sql。
      • 3.2.2 预置辅助代码,插入表,upsert表。不用写sql。
      • 3.2.3 预置辅助代码,更新表。不用写sql。
      • 3.2.4 预置辅助代码,查询表数据。不用写sql。
    • 3.3 添加对书签#pragma mark - 的支持
    • 3.4 从K线图加载算法系统(AlgoSys)即时插件失败,直接打KTLEditor编辑cpp源文件以及错误信息窗口,选中错误信息按回车键定位到代码编辑器错误行。
    • 3.5 KTLEditor编辑器右上角添加了菜单按钮。
    • 3.6 KTLEditor编辑器补做finder对话框,goto对话框。
    1. OpenGL3D视图插件,添加了两个Camera角度按钮,方便观察
    1. GPGPU插件,整理了glsl的代码,方便阅读。

下面演示图。

新添加的数据分析工具,浏览通达信日线数据

数据分析工具,加载从通达信官网下载的日线数据包

新添加的数据分析工具

  • 右健转换至sqlite3数据库,
  • 右健计算自定义公式结果传入数据库,这里简单以ma5为例,数据保存在lma5表,用户可以在AlgoDataTool.cpp源文件修改对应代码。
  • 通过sqlite3控制台,查询某日的日线数据与公式结果, select printf("%06d", a.code) as CODE, a.*, b.* from lday a left join lma5 b on a.code=b.code and a.date=b.date where a.date = 20240202

K线主视图通过按钮open打开通达信日线文件

OpenGL3D视角插件,新添加了两个Camera角度,观察更加有趣的东西。

其中CAM0是环比视角,CAM1是同比视角。

每个日线文件对应一个独立的K线主视图,各自应用OpenGL3D视角插件。

内置代码编辑器对#pragma mark -进行书签添加。

代码编辑器添加了coding辅助功能。

使用者可以更加简单地使用zqt5语法进行窗口编程。

你是否想过用c++,可以像html+js般,轻松地完成一些常用的窗口界面功能的编程。

例如,html<标签,属性,属性,事件=js函数 />, zqt5可以 (Widget对象名)属性属性事件=c++lambda函数定义

例如,html<div><input type='text'/><input type='button' onclick=''/></div>,zqt5可以layout::begin(new QHBoxLayout)(new QLineEdit)(new QPushButton)onclick=\[{}](layout::end)

6个布局相关的编程辅助代码

  • 水平布局,垂直布局
  • 带标题的水平布局,带标题的垂直布局
  • 与其它QWidget同级的水平或垂直布局,用于跟同级的其它QWidget平等参与上一层布局。

9个常用QWidget的编程辅助代码,

id是一个常用属性,可以通过findChild<>(id)函数获取,类似于html通过findElementById

onload是一个虚拟事件,用于初始其它复杂的属性。

代码编辑器添加了coding辅助功能。

使用者可以更加容易地应用sqlite3zz进行sqlite3编程。

sqlite3zz只有头文件,模板封装常用sqltie3 c api调用的繁杂的流程。

你是否想过只用c++基本类型就可以直接定义表结构,创建表,查询数据,更新数据,无需写SQL语句,无需记住SQL语法。

几种常用的sqlite3zz辅助代码。

<<第二版 多编译器支持,OpenMP,SIMD支持>>

<<第三版 Qt支持>>

<<第四版 zqt5语法升级,SIMD重写公式函数,性能提升>>

<<第五版 sqlite3编程支持,sqlite3zz流式语法>>

<<第六版 OpenGL编程支持,3D上帝视角>>

<<第七版 体验GPGPU>>

<<第八版 数据解析>>

<<第九版 数据分析工具,增强编程体验>>

相关推荐
hansang_IR4 小时前
【题解】[APIO2023] 赛博乐园 / cyberland
c++·算法·图论
落羽的落羽5 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生5 小时前
Linux-进程控制
linux·运维·服务器·c++
刃神太酷啦5 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
喜欢吃燃面8 小时前
深入 C++ STL:从 unordered_set与unordered_map到底层哈希表的原理与实现
数据结构·c++·散列表
FlightYe9 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
ShineWinsu9 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
云小逸10 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++
夜航海图10 小时前
S-57 数据解剖:把一个 ENC 文件拆给你看
c++
(Charon)10 小时前
【C++】网络缓冲区设计(三):Chain Buffer链式缓冲区、动态扩容与跨节点读写
服务器·c++