- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
使用数据库
这些数据库函数使用了流行且易于使用的SQLite引擎。该引擎的便利之处在于,整个数据库都位于用户PC硬盘上的单个文件中。
这些函数可以方便地创建表格、向表中添加数据、执行更改和使用简单的SQL请求进行采样:
- 接收任何格式的交易历史和报价,
- 保存优化和测试结果,
- 通过其他分析组合准备和交换数据,
- 存储MQL5应用程序设置和状态。
数据库函数可以使您通过SQL请求替换重复率最高的大数据组处理操作,因此常常可以使用DatabaseExecute/DatabasePrepare调用,而不是编写复杂的循环和比较。使用DatabaseReadBind函数,方便地获取现有架构中的查询结果。该函数运行在单个调用中一次性读取所有记录字段。
若要加快读取、编写和更改速度,可以使用DATABASE_OPEN_MEMORY标识在RAM中打开/创建数据库,虽然这样的数据库只适用于特定的应用程序,不可共享。当处理位于硬盘上的数据库时,应该使用DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollback将批量数据插入/更改封装在交易事务中。这可以使整个过程加快数百倍。
若要开始使用函数,请参阅文章SQLite:本地操作MQL5中的SQL数据库。
函数 |
操作 |
---|---|
在指定文件中打开或创建数据库 |
|
关闭数据库 |
|
从文件导入数据到表格中 |
|
将表格或SQL请求执行结果到处到CSV文件 |
|
在专家日志中打印表格或SQL执行结果 |
|
检查数据库中是否存在表格 |
|
执行对指定数据库的请求 |
|
创建可使用DatabaseRead()执行的请求句柄 |
|
重置请求,比如调用DatabasePrepare()之后 |
|
在请求中设置一个参数值 |
|
将数组设置为参数值 |
|
作为请求结果,移到下一个条目 |
|
移除在DatabasePrepare()中创建的请求 |
|
开始事务执行 |
|
完成事务执行 |
|
回滚事务 |
|
获取请求中的字段数 |
|
按索引获取字段名 |
|
按索引获取字段类型 |
|
获取字段大小(以字节为单位) |
|
从当前记录中获取作为字符串的字段值 |
|
从当前记录中获取int类型的值 |
|
从当前记录中获取long类型的值 |
|
从当前记录中获取double类型的值 |
|
从当前记录中获取作为数组的字段值 |
- mode 模式
- median median中值(50百分位)
- percentile_25 25百分位
- percentile_75
- percentile_90
- percentile_95
- percentile_99
- stddev或stddev_samp ― 采样标准偏差
- stddev_pop ― 总体标准偏差
- variance或var_samp ― 采样方差
- var_pop ― 总体方差
- acos(X) 反余弦弧度值
- acosh(X) 双曲反余弦
- asin(X) 反正弦弧度值
- asinh(X) 双曲反正弦
- atan(X) 反正切弧度值
- atan2(X,Y) X/Y比的反正切弧度值
- atanh(X) 双曲反正切
- ceil(X) 四舍五入到整数
- ceiling(X) 四舍五入到整数
- cos(X) 角余弦弧度值
- cosh(X) 双曲余弦
- degrees(X) 将弧度转换为角度
- exp(X) 指数
- floor(X) 四舍五入到整数
- ln(X) 自然对数
- log(B,X) 指示基数的对数
- log(X) 小数对数
- log10(X) 小数对数
- log2(X) 基数2的对数
- mod(X,Y) 余数的除数
- pi() 近似Pi
- pow(X,Y) 指示基数的幂数
- power(X,Y) 指示基数的幂数
- radians(X) 将角度转换为弧度
- sin(X) 角正弦弧度值
- sinh(X) 双曲正弦
- sqrt(X) 平方根
- tan(X) 角正切弧度值
- tanh(X) 双曲正切
- trunc(X) 截取到最接近0的整数
例如:
select
|