分析家语法执行器
HQChart 内置一个分析家语法的执行器, 把分析家脚本通过词法,语法分析构建一个抽象语法树(AST), 执行器通过AST执行, 最后获得数据。我把这套体系又移植到了python上, 目前只支持python3版本
python执行器地址: \umychart_python\ 这个目录下
Demo部分代码
我们要计算一个MA(5) MA(10) MA(15)
import sys
from umychart_complier_jscomplier import ScriptIndexConsole, ScriptIndexItem, SymbolOption, RequestOption, HQ_DATA_TYPE, ArgumentItem
def Test_ScriptIndexConsole():
# 创建脚本, 及参数
scpritInfo=ScriptIndexItem(name='测试MA脚本', id=888888,
script='MA1:MA(CLOSE,M1);\n' # 指标脚本代码
'MA2:MA(CLOSE,M2);\n'
'MA3:MA(CLOSE,M3);',
args=[ ArgumentItem(name='M1', value=5), ArgumentItem(name='M2', value=10), ArgumentItem(name='M3', value=20) ] # 脚本参数
)
indexConsole = ScriptIndexConsole(scpritInfo)
option = SymbolOption(
symbol='000001.sz', # 计算的股票
right=1, # 复权 0 不复权 1 前复权 2 后复权
period=0 # 周期 0=日线 1=周线 2=月线 3=年线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟
)
#执行指标脚本
result=indexConsole.ExecuteScript(option)
if not result.Error :
print('run successfully.')
Test_ScriptIndexConsole()
这样3个MA的指标就计算完成。
返回数据格式
Date:[] 日期数组 和输出变量的参数数组一一对应
Time:[] 如果是分钟K 线指标这个就是对应的分钟
Error: 错误信息,如果执行错误 这里会有错误信息
OutVar:输出变量, 一个变量一个数组,如果是画图函数 Draw会保存画图的信息
Stock: 股票信息 Name:股票名称 Symbol: 股票代码
如果还有问题可以加交流QQ群: 950092318