HQChart使用教程70 -通达信语法检测/指标翻译
语法检测应用样例
指标翻译
为了方便指标阅读, 我们会把指标翻译成中文。
如:
VOL:VOL,VOLSTICK;
MA1:MA(VOL,M1);
MA2:MA(VOL,M2);
翻译成中文为
输出VOL: 成交量,画成交量柱状线
输出MA1: 成交量的M1日简单移动平均
输出MA2: 成交量的M2日简单移动平均
语法检测
验证指标脚本是否正确
VOL:VOL,VOLSTICK;
MA1:MA(VOL,10);
MA2:MA(VOL1,20);
语法错误: 行号:3, 变量VOL1不存在
接口函数
JSComplier.Explain(code, option, errorcallback)
参数
code
指标脚本
option
{
Arguments: 参数数组,
Callback:成功回调函数,函数格式:function(data)
}
data :指标翻译, 数组.
{
Name:返回变量名,
Data:数据解释,
IsOut: 是否是输出变量, 如果是false, 不输出要屏幕
Type: 数据类型 0=一般数据, 1=绘图函数
Draw:绘图函数解释, 只有在Type==1才有效
}
errorcallback
翻译失败回调函数
函数格式: function(error, data)
h5例子
var code="T:MA(C,10);";
var option=
{
Callback:(data)=>
{
console.log("[Explain] data ", data);
for(var i in data)
{
var item=data[i]; //每一句翻译好的语句
}
alert("语法正确");
}
};
if (code)
{
JSComplier.Explain(code,option, (error, data)=>
{
console.log("[Explain] error, data ", error, data);
alert(`语法错误: 行号:${error.LineNumber}, ${error.Description}`);
});
}
小程序例子
版本>=10119 才支持
import { JSCommonComplier } from "../../jscommon/umychart.complier.wechat.js"
import {} from "../../jscommon/umychart.explainer.wechat.js"
....................
OnExplain()
{
var testindex="PLOYLINE(C>O,C),COLORRED;"+
"T2:DYNAINFO(3);"+
"T4:T5;"
var option=
{
Callback:(data)=>
{
console.log("[Explain] data ", data);
for(var i in data)
{
var item=data[i]; //每一句翻译好的语句
}
console.log("语法正确");
},
ErrorCallback:(error, data)=>
{
console.log("[Explain] error, data ", error, data);
console.log(`语法错误: 行号:${error.LineNumber}, ${error.Description}`);
}
};
JSCommonComplier.JSComplier.Explain(testindex,option,option.ErrorCallback);
}
uniapp例子
版本>=10119 才支持
// #ifdef H5
import HQChart from '@/uni_modules/jones-hqchart2/js_sdk/umychart.uniapp.h5.js'
// #endif
// #ifndef H5
import {JSCommon} from '@/uni_modules/jones-hqchart2/js_sdk/umychart.wechat.3.0.js'
import {JSCommonHQStyle} from '@/uni_modules/jones-hqchart2/js_sdk/umychart.style.wechat.js'
import {JSConsole} from '@/uni_modules/jones-hqchart2/js_sdk/umychart.console.wechat.js'
import {JSCommonComplier} from "@/uni_modules/jones-hqchart2/js_sdk/umychart.complier.wechat.js"
import { } from "@/uni_modules/jones-hqchart2/js_sdk/umychart.explainer.wechat.js"
//禁用日志
//JSConsole.Complier.Log=()=>{ };
//JSConsole.Chart.Log=()=>{ };
// #endif
.....................................
OnExplain()
{
var testindex="PLOYLINE(C>O,C),COLORRED;"+
"T2:DYNAINFO(3);"+
"T4:T5;"
var option=
{
Callback:(data)=>
{
console.log("[Explain] data ", data);
for(var i in data)
{
var item=data[i]; //每一句翻译好的语句
}
console.log("语法正确");
},
ErrorCallback:(error, data)=>
{
console.log("[Explain] error, data ", error, data);
console.log(`语法错误: 行号:${error.LineNumber}, ${error.Description}`);
}
};
// #ifdef H5
HQChart.JSComplier.Explain(testindex,option,option.ErrorCallback);
// #endif
// #ifndef H5
JSCommonComplier.JSComplier.Explain(testindex,option,option.ErrorCallback);
// #endif
},
HQChart代码地址
地址:github.com/jones2000/HQChart
个人爱好摄影/模型