HQChart使用教程70 -通达信语法检测/指标翻译

151 篇文章 33 订阅

语法检测应用样例

仿通达信公式编辑器
在这里插入图片描述

指标翻译

为了方便指标阅读, 我们会把指标翻译成中文。
如:

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

个人爱好摄影/模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HQChart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值