当前位置: 首页 > news >正文

基于php网站开发HTML网站建设课程

基于php网站开发,HTML网站建设课程,广告公司简历模板,基于jsp网站开发HQChart实战教程67-worker批量计算股票指标 什么是Worker批量指标计算示例地址步骤1. 创建一个后台工作线程类2. 发送指标计算任务3. 接收计算结果数据对接 完整源码demo_workerthread_sina.htmlhqchart_worker_sina.js HQChart插件源码地址 什么是Worker Worker 接口是 Web W… HQChart实战教程67-worker批量计算股票指标 什么是Worker批量指标计算示例地址步骤1. 创建一个后台工作线程类2. 发送指标计算任务3. 接收计算结果数据对接 完整源码demo_workerthread_sina.htmlhqchart_worker_sina.js HQChart插件源码地址 什么是Worker Worker 接口是 Web Workers API 的一部分指的是一种可由脚本创建的后台任务任务执行中可以向其创建者收发信息。 批量指标计算 通过把指标计算迁移到后台线程中可以提高效率可以开N个后台线程平行计算也不会卡主线程。HQChart通达信指标计算引擎是一个独立的计算模块通过在后台线程中独立调用计算模块就可以达到批量计算指标 示例地址 https://jones2000.github.io/HQChart/webhqchart.demo/samples/demo_workerthread_sina.html 注意K线数据是网上找的不支持跨域调试的时候需要给浏览器安装一个跨域插件就可以用 可以参看教程解决Chrome本地调试跨域. 步骤 1. 创建一个后台工作线程类 hqchart内置一个后台指标计算的工作线程类HQChartScriptWorker 可以直接派生这个类 然后把数据对接上就可以了。 其他的基类都封装好了。 HQChartScriptWorker源码地址:https://github.com/jones2000/HQChart/blob/master/webhqchart/umychart.worker.js 2. 发送指标计算任务 通过系统api接口postMessage可以发送数据给工作线程 function RunIndexScript(symbol, index, jobID) {var message{ID:JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT, //任务类型固定值AryIndex: //需要执行的指标名称或指标脚本[{Index:index},//{Index:MACD},//{Index:TEST, Name:测试脚本, Script:T:MA((LH)/2,10)}],Symbol:symbol, //股票代码Name:symbol, //股票名称Period:5, //5分钟K线Right:0, //复权HQDataType:HQ_DATA_TYPE.KLINE_ID, //K线指标固定值)Guid:jobID,IsApiPeriodtrue, //后台计算周期};g_HQWorker.postMessage(message);}3. 接收计算结果 绑定onmessage的回调就可以 var g_HQWorkernew Worker(hqchart_worker_sina.js); g_HQWorker.onmessage(e){ OnRecvWorkerMessage(e); }function OnRecvWorkerMessage(e) {if (e.data.IDJSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT) //指标计算完成{console.log([OnRecvWorkerMessage] data, e.data);} }数据结构 {Data指标数据 { Date:日期 Time时间, Out:指标输出变量, Stock:股票信息, Index:指标名称 }IndexInfo: 指标信息JobInfo: 发送指标命令的内容 }注意 返回的指标结果数据是一个数组 数据对接 和前端图形一样通过NetworkFilter对接数据 function JSSampleScriptWorker() {this.newMethodHQChartScriptWorker; //派生this.newMethod();delete this.newMethod;this.NetworkFilterfunction(data, callback, indexInfo, message){//数据对接console.log([JSSampleScriptWorker::NetworkFilter] [${data.Name}][${data.Explain}] data, data);if (data.NameJSSymbolData::GetSymbolData){} ............} 完整源码 demo_workerthread_sina.html !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml head meta nameviewport contentwidthdevice-width, initial-scale1.0, minimum-scale1.0, maximum-scale1.0, user-scalableno / meta http-equivContent-Type contenttext/html; charsetutf-8 / title工作线程计算/title /head bodydiv idrange_title5分钟周期指标计算/divbr/divdiv classtable_rowspan classitem_symbol600000.sh/spanspan classitem_indexnameMA/spandiv iditem_result_1计算结果/div/divdiv classtable_rowspan classitem_symbol605166.sh/spanspan classitem_indexnameRSI/spandiv iditem_result_2计算结果/div/divdiv classtable_rowspan classitem_symbol601169.sh/spanspan classitem_indexnameMACD/spandiv iditem_result_3计算结果/div/div/divbr/divspan idbutton_1 classbtn-style开始计算/span/divscript src../jscommon/umychart.resource/js/jquery.min.js/scriptscript src../jscommon/umychart.console.js/script !-- 日志输出 --script src../jscommon/umychart.network.js/script !-- 网络请求分装 --script src../jscommon/umychart.js/script !-- K线图形 --script src../jscommon/umychart.complier.js/script !-- 麦语言解析执行器 --script src../jscommon/umychart.index.data.js/script !-- 基础指标库 --script src../jscommon/umychart.style.js/script !-- 白色风格和黑色风格配置信息 --scriptvar g_HQWorkernew Worker(hqchart_worker_sina.js);g_HQWorker.onmessage(e){ OnRecvWorkerMessage(e); }var jobCount1;var job_list[{ Symbol:sh600000.sh, Index:MA, OutDomID:item_result_1 },{ Symbol:sh605166.sh, Index:RSI, OutDomID:item_result_2 },{ Symbol:sh601169.sh, Index:MACD, OutDomID:item_result_3 },];function OnRecvWorkerMessage(e){if (e.data.IDJSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT){console.log([OnRecvWorkerMessage] data, e.data);var jobIDe.data.JobInfo.Guid;var aryDatee.data.Data.Date;var aryTimee.data.Data.Time;var indexaryTime.length-10; //输出最后条记录var aryResult[];var outText;for(var iindex;iaryTime.length;i){var datearyDate[i];var timearyTime[i];var textDate${date}, Time:${time} ;for(var j0;je.data.Data.Out.length;j){var namee.data.Data.Out[j].Name;var valuee.data.Data.Out[j].Data[i];text${name}${value.toFixed(4)}, ;}aryResult.push(text);outTexttext;outTextbr;}var domIDnull;for(var i0;ijob_list.length;i){var itemjob_list[i];if (item.JobIDjobID){domIDitem.OutDomID;break;}}if (!domID) return;$(#domID)[0].innerHTMLoutText;}}function RunIndexScript(symbol, index, jobID){var message{ID:JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT,AryIndex:[{Index:index},//{Index:MACD},//{Index:TEST, Name:测试脚本, Script:T:MA((LH)/2,10)}],Symbol:symbol,Name:symbol,Period:5, //5分钟K线Right:0,HQDataType:HQ_DATA_TYPE.KLINE_ID,Guid:jobID,IsApiPeriod:true,};g_HQWorker.postMessage(message);}function RunAll(){for(var i0;ijob_list.length;i){var itemjob_list[i];item.JobIDjobCount;RunIndexScript(item.Symbol, item.Index, item.JobID);}}$(function () {$(#button_1).click(function() { RunAll(); } );})/script /body /htmlstyle.btn-style {padding: 3px 8px;border: 1px solid #ececec;border-radius: 5px;background-color: #f5f5f5;cursor: pointer; }.item_symbol {display:block;line-height: 50px;width:100px;align-items: center; }.item_indexname {display:block;line-height: 50px;width:100px;align-items: center; }.table_row {display: flex; height: 200px;border-style:solid;border-width:1px;border-color:#BEBEBE; }/stylehqchart_worker_sina.js / // 工作线程 // // importScripts(../jscommon/umychart.complier.js,../jscommon/umychart.js, ../jscommon/umychart.index.data.js,../jscommon/umychart.worker.js);JSConsole.Complier.Log(){ }function JSSampleScriptWorker() {this.newMethodHQChartScriptWorker; //派生this.newMethod();delete this.newMethod;this.NetworkFilterfunction(data, callback, indexInfo, message){//数据对接console.log([JSSampleScriptWorker::NetworkFilter] [${data.Name}][${data.Explain}] data, data);if (data.NameJSSymbolData::GetSymbolData){var requestDatadata.Request.Data;if (requestData.period5) //5分钟K线{var symbolrequestData.symbol;symbolsymbol.replace(.sh,);//http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbolsz000001scale5ma5datalen1023var urlhttps://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol${symbol}scale5ma5datalen1023;console.log([JSSampleScriptWorker::NetworkFilter] url${url});var responsethis.HttpRequest(url);if (response.response){var recvJSON.parse(response.response);this.RecvHistoryMinuteData(recv, callback, data);}}}}this.RecvHistoryMinuteDatafunction(recv, callback, data){var hqChartData{code:0, data:[] };hqChartData.symbolhqChartData.namedata.Request.Data.symbol;var yClosenull;for(var i0;irecv.length;i){var itemrecv[i];var dateTimenew Date(item.day);var datedateTime.getFullYear()*10000(dateTime.getMonth()1)*100dateTime.getDate();var timedateTime.getHours()*100dateTime.getMinutes();var closeparseFloat(item.close);var highparseFloat(item.high);var lowparseFloat(item.low);var openparseFloat(item.open);var volparseFloat(item.volume);var amountnull;if (closenull) continue;var newItem[ date, yClose, open, high, low, close, vol, amount, time];hqChartData.data.push(newItem);yCloseclose;}console.log([JSSampleScriptWorker::RecvHistoryMinuteData] hqchartData , hqChartData)callback(hqChartData);}this.HttpRequestfunction(url){var req new XMLHttpRequest();req.open(GET, url, false);req.onerror(e){ console.log(e);}req.send();return req;} }var g_ScriptWorkernew JSSampleScriptWorker();g_ScriptWorker.Create();HQChart插件源码地址 https://github.com/jones2000/HQChart
http://www.hkea.cn/news/14525307/

相关文章:

  • 先有域名才可以做网站吗三原县城乡建设局网站
  • 福州光电网站建设网络培训系统
  • 网站建设做网站好做吗德州极速网站建设百家号
  • 丽江网站建设 莱芜什么是网站集约化建设
  • 国外免费网站建设有没有可以看的网址
  • 福建两学一做网站推广咨询
  • 网站怎么做吸引人可以做投票的网站
  • 网站建设发展方向怎么写有哪些做ppt用图片的网站有哪些
  • 做视频网站需要哪些条件郑州有没有厉害的seo顾问
  • 400网站建设电话做网站用哪个写比较好
  • 网站优化反馈机制 seo建筑工程培训
  • 贵阳做个网站需要多少钱网站开发技术支持与保障
  • 怎么做淘宝优惠卷网站怎么查公司营业执照信息
  • 天津网站公司什么公司做网站好
  • 大连网站优化快速排名在线网站转app
  • 中国站长工具gustos wordpress主题
  • 企业网站备案还是不用备案php网站做代理服务器
  • 广东工程建设信息网站企业年金怎么缴纳
  • 秦皇岛网站制作电话网站做英文版有用吗
  • 网站推广的基本方法有什么网站专做外贸
  • 企业网站建设哪家敦煌壁画网站开发毕设论文
  • 中国设计公司排名前十强北京网站优化和推广
  • 做室内设计的网站有哪些营销软件推广
  • 优易官方网站做外国网站买域名
  • 网站图片轮播怎么弄邢台专业做网站报价
  • 山东平台网站建设企业如何做好区县外宣网站建设
  • 域名注册的流程网站结构优化的内容和方法
  • 安保企业网站模板比较专业的app定制开发
  • 常用的设计网站有哪些网站logo优化
  • 东莞网站seo方法怎样用电脑和网訨自己做网站