hqchart 1.1.13478 → 1.1.13485
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.NetworkFilterTest.vue.js +5 -2
- package/lib/umychart.vue.js +7 -5
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +106 -21
- package/src/jscommon/umychart.js +9 -4
- package/src/jscommon/umychart.testdata/000001.sh.day.kline.js +21 -0
- package/src/jscommon/umychart.testdata/000001.sz.minute.kline.js +23 -1
- package/src/jscommon/umychart.testdata/399001.sz.day.kline.js +21 -0
- package/src/jscommon/umychart.testdata.js +106 -21
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +10 -5
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +106 -21
- package/src/jscommon/umychart.vue/umychart.vue.js +10 -5
|
@@ -21,8 +21,11 @@ console.log("[HQData::RequestMinuteDaysData] Symbol="+symbol);var hqchartData={c
|
|
|
21
21
|
[915,item.yclose,0,0],[916,item.yclose+0.01,0,0],[917,item.yclose+0.03,0,0],[918,item.yclose+0.02,0,0],[919,item.yclose+0.02,0,0],[920,item.yclose+0.01,0,0],[921,item.yclose,0,0],[922,item.yclose-0.02,0,0],[923,item.yclose-0.03,0,0],[924,item.yclose,0,0],[925,item.yclose,0,0]];var beforeinfo={totalcount:11,ver:1.0};dayItem.before=before;dayItem.beforeinfo=beforeinfo;}hqchartData.data.push(dayItem);}callback(hqchartData);};HQData.RequestHistoryData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
22
22
|
console.log("[HQData::RequestMinuteDaysData] Symbol="+symbol);var hqchartData=KLINE_DAY_DATA;hqchartData.symbol=symbol;hqchartData.name=symbol;callback(hqchartData);};HQData.RequestFlowCapitalData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
23
23
|
console.log("[HQData::RequestFlowCapitalData] Symbol="+symbol);var hqchartData=KLINE_CAPITAL_DATA;callback(hqchartData);};HQData.RequestRealtimeData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];//请求的股票代码
|
|
24
|
-
|
|
24
|
+
if(data.Request.Data.symbol.length>1)//叠加股票
|
|
25
|
+
{var hqchartData={stock:[],code:0};var arySymbol=data.Request.Data.symbol;for(var i=0;i<arySymbol.length;++i){var symbol=arySymbol[i];if(i==0){var stock=KLINE_1DAY_DATA.stock[0];stock.name=symbol;stock.symbol=symbol;hqchartData.stock.push(stock);}else{if(symbol=="399001.sz"){var stock=KLINE_1DAY_OVERLAY_DATA2.stock[0];stock.name=symbol;stock.symbol=symbol;hqchartData.stock.push(stock);}else{var stock=KLINE_1DAY_OVERLAY_DATA.stock[0];stock.name=symbol;stock.symbol=symbol;hqchartData.stock.push(stock);}}}callback(hqchartData);}else{console.log("[HQData::RequestRealtimeData] Symbol="+symbol);var hqchartData=KLINE_1DAY_DATA;hqchartData.stock[0].name=symbol;hqchartData.stock[0].symbol=symbol;callback(hqchartData);}};HQData.RequestHistoryMinuteData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
25
26
|
console.log("[HQData::RequestHistoryMinuteData] Symbol="+symbol);var hqchartData=KLINE_MINUTE_DATA;hqchartData.name=symbol;hqchartData.symbol=symbol;callback(hqchartData);};HQData.RequestMinuteRealtimeData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];//请求的股票代码
|
|
26
|
-
|
|
27
|
+
if(data.Request.Data.symbol.length>1)//叠加股票
|
|
28
|
+
{var hqchartData=JSON.parse((0,_stringify2.default)(KLINE_1MINUTE_DATA));hqchartData.overlay=[];//叠加数据
|
|
29
|
+
var arySymbol=data.Request.Data.symbol;for(var i=0;i<arySymbol.length;++i){var symbol=arySymbol[i];if(i==0){var kItem=hqchartData.data[0];var price=kItem[5];var value=Math.ceil(Math.random()*10)/1000*price;var bUp=Math.ceil(Math.random()*10)>=5;if(bUp)price+=value;else price-=value;kItem[5]=price;kItem[3]=Math.max(price,kItem[3]);kItem[4]=Math.min(price,kItem[4]);hqchartData.name=symbol;hqchartData.symbol=symbol;}else{var testData=JSON.parse((0,_stringify2.default)(KLINE_1MINUTE_DATA2));var kItem=testData.data[0];var price=kItem[5];var value=Math.ceil(Math.random()*10)/1000*price;var bUp=Math.ceil(Math.random()*10)>=5;if(bUp)price+=value;else price-=value;kItem[5]=price;kItem[3]=Math.max(price,kItem[3]);kItem[4]=Math.min(price,kItem[4]);var stock={data:testData.data,symbol:symbol,name:symbol};hqchartData.overlay.push(stock);}}callback(hqchartData);}else{console.log("[HQData::RequestMinuteRealtimeData] Symbol="+symbol);var hqchartData=JSON.parse((0,_stringify2.default)(KLINE_1MINUTE_DATA));var kItem=hqchartData.data[0];var price=kItem[5];var value=Math.ceil(Math.random()*10)/1000*price;var bUp=Math.ceil(Math.random()*10)>=5;if(bUp)price+=value;else price-=value;kItem[5]=price;kItem[3]=Math.max(price,kItem[3]);kItem[4]=Math.min(price,kItem[4]);hqchartData.name=symbol;hqchartData.symbol=symbol;callback(hqchartData);}};HQData.RequestIndexVariantData=function(data,callback){var varName=data.Request.Data.VariantName;//变量名称
|
|
27
30
|
if(varName=="FROMOPEN"){var hqchartData={};//单数据
|
|
28
31
|
hqchartData.Data={Date:20230707,Value:240};hqchartData.DataType=1;callback(hqchartData);}};HQData.RequestOtherSymbolData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var period=data.Request.Data.period;var right=data.Request.Data.right;var hqchartData=null;if(ChartData.IsDayPeriod(period,true))hqchartData=KLINE_DAY_DATA2;else if(ChartData.IsMinutePeriod(period,true))hqchartData=KLINE_MINUTE_DATA2;hqchartData.name=symbol;hqchartData.symbol=symbol;callback(hqchartData);};HQData.AnnouncementInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;var hqchartData={symbol:symbol,report:[]};var kData=data.HQChart.ChartPaint[0].Data;for(var i=0,j=1;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%10!=4)continue;var itemReport={releasedate:kItem.Date,time:kItem.Time,title:"\u516C\u544A("+j+") xxxx"};hqchartData.report.push(itemReport);++j;}callback(hqchartData);};HQData.PforecastInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;var hqchartData={symbol:symbol,report:[]};var kData=data.HQChart.ChartPaint[0].Data;for(var i=0,j=1;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%10!=4)continue;var itemReport={date:kItem.Date,time:kItem.Time,title:"\u516C\u544A("+j+") xxxx"};hqchartData.report.push(itemReport);++j;}callback(hqchartData);};HQData.InvestorInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;callback(TEST_NEWSINTERACT_DATA);};HQData.BlockTrading_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;callback(TEST_BLOCK_TRADING_DATA);};HQData.TradeDetail_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;callback(TEST_TRADE_DETAL_DATA);};HQData.RequestLatestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];var id=data.Args[0];var value=1;switch(id){case 3:value=KLINE_1DAY_DATA.stock[0].yclose;break;case 4:value=KLINE_1DAY_DATA.stock[0].open;break;case 5:value=KLINE_1DAY_DATA.stock[0].high;break;case 6:value=KLINE_1DAY_DATA.stock[0].low;break;case 7:value=KLINE_1DAY_DATA.stock[0].price;break;case 8:value=KLINE_1DAY_DATA.stock[0].vol;break;}var hqchartData={symbol:symbol,ver:2.0,data:[{id:id,value:value}]};callback(hqchartData);};HQData.RequestOverlayHistoryData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var hqchartData={symbol:symbol,name:symbol};if(symbol=="399001.sz")hqchartData.data=KLINE_DAY_OVERLAY_DATA2.data;else hqchartData.data=KLINE_DAY_OVERLAY_DATA.data;callback(hqchartData);};HQData.RequestOverlayHistoryMinuteData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var hqchartData={symbol:symbol,name:symbol};hqchartData.data=KLINE_MINUTE_DATA2.data;callback(hqchartData);};/*暴露外部用的方法*/exports.default={HQData:HQData};
|
package/lib/umychart.vue.js
CHANGED
|
@@ -2249,7 +2249,7 @@ if(this.IsMinSize)return;if(this.ChartBorder.IsShowTitleOnly)return;if(this.IsSh
|
|
|
2249
2249
|
var yInsideText=null;for(var i=this.HorizontalInfo.length-1;i>=0;--i)//从上往下画分割线
|
|
2250
2250
|
{var item=this.HorizontalInfo[i];var y=this.GetYFromData(item.Value);if(y!=null&&yPrev!=null&&Math.abs(y-yPrev)<this.MinYDistance)continue;//两个坐标在近了 就不画了
|
|
2251
2251
|
//坐标信息 左边 间距小于10 画在内部
|
|
2252
|
-
if(item.Message[0]!=null&&isDrawLeft){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.fillStyle=item.TextColor;this.Canvas.textAlign="left";var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';}else if(y<=top
|
|
2252
|
+
if(item.Message[0]!=null&&isDrawLeft){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.fillStyle=item.TextColor;this.Canvas.textAlign="left";var textHeight=this.Canvas.measureText("擎").width;var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';}else if(y-textHeight/2<=top){this.Canvas.textBaseline='top';yText+=this.YTextTopOffset;}else{if(this.YTextBaseline==1)this.Canvas.textBaseline="bottom";else this.Canvas.textBaseline="middle";}var textObj={X:left,Y:yText,Text:{BaseLine:this.Canvas.textBaseline,TextAlign:this.Canvas.textAlign,Font:this.Canvas.font,Value:item.Message[0]}};if(!this.IsOverlayMaxMin||!this.IsOverlayMaxMin(textObj)){this.Canvas.fillText(item.Message[0],left+1*pixelTatio,yText);if(yInsideText==null||yInsideText>yText){this.YInsideOffset=this.Canvas.measureText(item.Message[0]).width+4*GetDevicePixelRatio();yInsideText=yText;}}}if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.Font;this.Canvas.fillStyle=item.TextColor;this.Canvas.textAlign="right";var textHeight=this.Canvas.measureText("擎").width;var yText=y;if(y>=bottom-2){this.Canvas.textBaseline='bottom';}else if(y-textHeight/2<=top){this.Canvas.textBaseline='top';yText+=this.YTextTopOffset;}else{if(this.YTextBaseline==1)this.Canvas.textBaseline="bottom";else this.Canvas.textBaseline="middle";}if(Array.isArray(item.Message[1]))var text=item.Message[1][0];else var text=item.Message[1];var textWidth=this.Canvas.measureText(text).width;var textObj={X:right-textWidth,Y:yText,Text:{BaseLine:this.Canvas.textBaseline,TextAlign:this.Canvas.textAlign,Font:this.Canvas.font,Value:item.Message[1]}};if(!this.IsOverlayMaxMin||!this.IsOverlayMaxMin(textObj))this.Canvas.fillText(text,right-1*pixelTatio,yText);}yPrev=y;}}};this.GetXFromIndex=function(index){var count=this.XPointCount;if(count==1){if(index==0)return this.ChartBorder.GetLeft();else return this.ChartBorder.GetRight();}else if(count<=0){return this.ChartBorder.GetLeft();}else if(index>=count){return this.ChartBorder.GetRight();}else{var offset=this.ChartBorder.GetLeft()+this.ChartBorder.GetWidth()*index/count;return offset;}};//画X轴
|
|
2253
2253
|
this.DrawVertical=function(){var border=this.GetBorder();var top=border.TopTitle;var bottom=border.Bottom;var right=border.RightEx;var pixelRatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
2254
2254
|
//JSConsole.Chart.Log('[AverageWidthFrame.DrawVertical] bottom',bottom);
|
|
2255
2255
|
//if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
@@ -7108,7 +7108,8 @@ var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=
|
|
|
7108
7108
|
{var rightData=bindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});bindData.Data=rightData;}if((ChartData.IsDayPeriod(bindData.Period,false)||ChartData.IsMinutePeriod(bindData.Period,false))&&!this.IsApiPeriod)//周期数据 (0= 日线,4=1分钟线 不需要处理)
|
|
7109
7109
|
{var periodData=bindData.GetPeriodData(bindData.Period);bindData.Data=periodData;}var kLineCalculate=this.GetKLineCalulate();if(kLineCalculate)//额外的K线图形计算
|
|
7110
7110
|
{var newBindData=kLineCalculate.RecvHistoryData(bindData,{Symbol:this.Symbol,Function:"RecvMinuteRealtimeDataV2"});bindData=newBindData;this.FlowCapitalReady=true;}//绑定数据
|
|
7111
|
-
this.UpdateMainData(bindData,lastDataCount);this.
|
|
7111
|
+
this.UpdateMainData(bindData,lastDataCount);this.UpdateOverlayMinuteRealtimeData(data);//更新叠加股票数据
|
|
7112
|
+
this.BindInstructionIndexData(bindData);//执行指示脚本
|
|
7112
7113
|
for(var i=0;i<this.Frame.SubFrame.length;++i){this.BindIndexData(i,bindData);}this.BindAllOverlayIndexData(bindData,{CheckRunCount:true,SyncExecute:true});//同步模式叠加指标
|
|
7113
7114
|
//刷新画图
|
|
7114
7115
|
this.UpdataDataoffset();//更新数据偏移
|
|
@@ -7638,7 +7639,7 @@ if(!IFrameSplitOperator.IsNumber(item.Open))item.Open=null;if(!IFrameSplitOperat
|
|
|
7638
7639
|
if(IFrameSplitOperator.IsNumber(jsData.price))preClose=jsData.price;aryMinuteData[i]=item;}return aryMinuteData;};//分钟K线叠加数据增量更新v2版本
|
|
7639
7640
|
KLineChartContainer.JsonDataToMinuteRealtimeDataV2=function(data,symbol){if(!data||!data.overlay||!symbol)return null;var overlayData=null;for(var i=0;i<data.overlay.length;++i)//overlay={ symbol:, name:, data:[] }
|
|
7640
7641
|
{var item=data.overlay[i];if(item.symbol==symbol){overlayData=item;break;}}if(!overlayData)return null;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//是否是期货
|
|
7641
|
-
var date=0,yclose=1,open=2,high=3,low=4,close=5,vol=6,amount=7,time=8,position=9;var orderFlow=JSCHART_DATA_FIELD_ID.KLINE_ORDERFLOW;var yClose=null;for(var i=0;i<overlayData.data.length;++i){var item=new HistoryData();var jsData=overlayData.data[i];item.Date=jsData[date];item.Open=jsData[open];item.YClose=jsData[yclose];item.Close=jsData[close];item.High=jsData[high];item.Low=jsData[low];item.Vol=jsData[vol];//股
|
|
7642
|
+
var date=0,yclose=1,open=2,high=3,low=4,close=5,vol=6,amount=7,time=8,position=9;var orderFlow=JSCHART_DATA_FIELD_ID.KLINE_ORDERFLOW;var yClose=null;var aryMinuteData=[];for(var i=0;i<overlayData.data.length;++i){var item=new HistoryData();var jsData=overlayData.data[i];item.Date=jsData[date];item.Open=jsData[open];item.YClose=jsData[yclose];item.Close=jsData[close];item.High=jsData[high];item.Low=jsData[low];item.Vol=jsData[vol];//股
|
|
7642
7643
|
item.Amount=jsData[amount];item.Time=jsData[time];if(IFrameSplitOperator.IsNumber(jsData[position]))item.Position=jsData[position];//期货持仓
|
|
7643
7644
|
if(!IFrameSplitOperator.IsNumber(item.YClose)){if(IFrameSplitOperator.IsNumber(yClose))item.YClose=yClose;}if(IFrameSplitOperator.IsNumber(item.Close))yClose=item.Close;if(jsData[orderFlow])item.OrderFlow=jsData[orderFlow];aryMinuteData.push(item);}return aryMinuteData;};//API 返回数据 转化为array[]
|
|
7644
7645
|
KLineChartContainer.JsonDataToMinuteHistoryData=function(data){var upperSymbol=null;if(data.symbol)upperSymbol=data.symbol.toUpperCase();var isSHSZ=false;if(upperSymbol)isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var isFutures=false;//是否是期货
|
|
@@ -8859,6 +8860,7 @@ FHK:'.FHK',//港股期货
|
|
|
8859
8860
|
SHFE:'.SHF',//上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
8860
8861
|
SHFE2:'.SHFE',//上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
8861
8862
|
CFFEX:'.CFE',//中期所 (China Financial Futures Exchange)
|
|
8863
|
+
CFFEX2:'.CFFEX',//中期所 (China Financial Futures Exchange)
|
|
8862
8864
|
DCE:'.DCE',//大连商品交易所(Dalian Commodity Exchange)
|
|
8863
8865
|
CZCE:'.CZC',//郑州期货交易所
|
|
8864
8866
|
GZFE:".GZFE",//广州期货交易所
|
|
@@ -8885,7 +8887,7 @@ IsET:function IsET(upperSymbol){if(!upperSymbol)return false;return upperSymbol.
|
|
|
8885
8887
|
{return false;},IsHSX:function IsHSX(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.HSX)>0;},IsHNX:function IsHNX(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.HNX)>0;},IsUPCOM:function IsUPCOM(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.UPCOM)>0;},IsNYMEX:function IsNYMEX(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.NYMEX)>0;},IsCOMEX:function IsCOMEX(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.COMEX)>0;},IsNYBOT:function IsNYBOT(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.NYBOT)>0;},IsCBOT:function IsCBOT(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CBOT)>0;},IsLME:function IsLME(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.LME)>0;},IsTOCOM:function IsTOCOM(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.TOCOM)>0;},IsIPE:function IsIPE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.IPE)>0;},IsForeignExchange:function IsForeignExchange(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.FOREX)>0;},IsFTSE:function IsFTSE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.FTSE)>0;},IsFHK:function IsFHK(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.FHK)>0;},IsBIT:function IsBIT(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.BIT)>0)return true;if(upperSymbol.indexOf(this.BIZ)>0)return true;return false;},IsUSA:function IsUSA(upperSymbol)//是否是美股
|
|
8886
8888
|
{if(!upperSymbol)return false;return upperSymbol.indexOf(this.USA)>0;},IsSH:function IsSH(upperSymbol){//需要精确匹配最后3位
|
|
8887
8889
|
var pos=upperSymbol.length-this.SH.length;var find=upperSymbol.indexOf(this.SH);return find==pos;},IsSZ:function IsSZ(upperSymbol){var pos=upperSymbol.length-this.SZ.length;var find=upperSymbol.indexOf(this.SZ);return find==pos;},IsBJ:function IsBJ(upperSymbol){var pos=upperSymbol.length-this.BJ.length;var find=upperSymbol.indexOf(this.BJ);return find==pos;},//自定义指数
|
|
8888
|
-
IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.length-this.SHSZ_C_Index.length;var find=upperSymbol.indexOf(this.SHSZ_C_Index);return find==pos;},IsSHO:function IsSHO(upperSymbol){var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
|
|
8890
|
+
IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.length-this.SHSZ_C_Index.length;var find=upperSymbol.indexOf(this.SHSZ_C_Index);return find==pos;},IsSHO:function IsSHO(upperSymbol){var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;if(upperSymbol.indexOf(this.CFFEX2)>0)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
|
|
8889
8891
|
{return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
|
|
8890
8892
|
{if(!upperSymbol)return false;return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
|
|
8891
8893
|
{return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZFund:function IsSHSZFund(upperSymbol)//是否是交易所基金
|
|
@@ -13207,7 +13209,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13207
13209
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
13208
13210
|
* 版本信息输出
|
|
13209
13211
|
*
|
|
13210
|
-
*/var HQCHART_VERSION="1.1.
|
|
13212
|
+
*/var HQCHART_VERSION="1.1.13484";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13211
13213
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13212
13214
|
// BaseIndex:BaseIndex,
|
|
13213
13215
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -48874,17 +48874,55 @@ HQData.RequestFlowCapitalData=function(data,callback)
|
|
|
48874
48874
|
callback(hqchartData);
|
|
48875
48875
|
}
|
|
48876
48876
|
|
|
48877
|
-
HQData.RequestRealtimeData=function(data,callback)
|
|
48877
|
+
HQData.RequestRealtimeData=function(data, callback)
|
|
48878
48878
|
{
|
|
48879
48879
|
data.PreventDefault=true;
|
|
48880
48880
|
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
48881
48881
|
|
|
48882
|
-
|
|
48882
|
+
if (data.Request.Data.symbol.length>1) //叠加股票
|
|
48883
|
+
{
|
|
48884
|
+
var hqchartData={ stock:[], code:0 };
|
|
48885
|
+
var arySymbol=data.Request.Data.symbol;
|
|
48886
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
48887
|
+
{
|
|
48888
|
+
var symbol=arySymbol[i];
|
|
48889
|
+
if (i==0)
|
|
48890
|
+
{
|
|
48891
|
+
var stock=KLINE_1DAY_DATA.stock[0];
|
|
48892
|
+
stock.name=symbol;
|
|
48893
|
+
stock.symbol=symbol;
|
|
48894
|
+
hqchartData.stock.push(stock);
|
|
48895
|
+
}
|
|
48896
|
+
else
|
|
48897
|
+
{
|
|
48898
|
+
if (symbol=="399001.sz")
|
|
48899
|
+
{
|
|
48900
|
+
var stock=KLINE_1DAY_OVERLAY_DATA2.stock[0];
|
|
48901
|
+
stock.name=symbol;
|
|
48902
|
+
stock.symbol=symbol;
|
|
48903
|
+
hqchartData.stock.push(stock);
|
|
48904
|
+
}
|
|
48905
|
+
else
|
|
48906
|
+
{
|
|
48907
|
+
var stock=KLINE_1DAY_OVERLAY_DATA.stock[0];
|
|
48908
|
+
stock.name=symbol;
|
|
48909
|
+
stock.symbol=symbol;
|
|
48910
|
+
hqchartData.stock.push(stock);
|
|
48911
|
+
}
|
|
48912
|
+
|
|
48913
|
+
}
|
|
48914
|
+
}
|
|
48883
48915
|
|
|
48884
|
-
|
|
48885
|
-
|
|
48886
|
-
|
|
48887
|
-
|
|
48916
|
+
callback(hqchartData);
|
|
48917
|
+
}
|
|
48918
|
+
else
|
|
48919
|
+
{
|
|
48920
|
+
console.log(`[HQData::RequestRealtimeData] Symbol=${symbol}`);
|
|
48921
|
+
var hqchartData=KLINE_1DAY_DATA;
|
|
48922
|
+
hqchartData.stock[0].name=symbol;
|
|
48923
|
+
hqchartData.stock[0].symbol=symbol;
|
|
48924
|
+
callback(hqchartData);
|
|
48925
|
+
}
|
|
48888
48926
|
}
|
|
48889
48927
|
|
|
48890
48928
|
|
|
@@ -48908,24 +48946,71 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
48908
48946
|
data.PreventDefault=true;
|
|
48909
48947
|
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
48910
48948
|
|
|
48911
|
-
|
|
48949
|
+
if (data.Request.Data.symbol.length>1) //叠加股票
|
|
48950
|
+
{
|
|
48951
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
48952
|
+
hqchartData.overlay=[]; //叠加数据
|
|
48953
|
+
var arySymbol=data.Request.Data.symbol;
|
|
48954
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
48955
|
+
{
|
|
48956
|
+
var symbol=arySymbol[i];
|
|
48957
|
+
if (i==0)
|
|
48958
|
+
{
|
|
48959
|
+
var kItem=hqchartData.data[0];
|
|
48960
|
+
var price=kItem[5];
|
|
48961
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
48962
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
48963
|
+
|
|
48964
|
+
if (bUp) price+=value;
|
|
48965
|
+
else price-=value;
|
|
48966
|
+
kItem[5]=price;
|
|
48967
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
48968
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
48912
48969
|
|
|
48913
|
-
|
|
48970
|
+
hqchartData.name=symbol;
|
|
48971
|
+
hqchartData.symbol=symbol;
|
|
48972
|
+
}
|
|
48973
|
+
else
|
|
48974
|
+
{
|
|
48975
|
+
var testData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA2));
|
|
48976
|
+
var kItem=testData.data[0];
|
|
48977
|
+
var price=kItem[5];
|
|
48978
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
48979
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
48980
|
+
|
|
48981
|
+
if (bUp) price+=value;
|
|
48982
|
+
else price-=value;
|
|
48983
|
+
kItem[5]=price;
|
|
48984
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
48985
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
48986
|
+
var stock={ data:testData.data, symbol:symbol, name:symbol };
|
|
48987
|
+
hqchartData.overlay.push(stock);
|
|
48988
|
+
}
|
|
48989
|
+
}
|
|
48914
48990
|
|
|
48915
|
-
|
|
48916
|
-
|
|
48917
|
-
|
|
48918
|
-
|
|
48919
|
-
|
|
48920
|
-
|
|
48921
|
-
|
|
48922
|
-
kItem[5]=price;
|
|
48923
|
-
kItem[3]=Math.max(price, kItem[3]);
|
|
48924
|
-
kItem[4]=Math.min(price, kItem[4]);
|
|
48991
|
+
callback(hqchartData);
|
|
48992
|
+
}
|
|
48993
|
+
else
|
|
48994
|
+
{
|
|
48995
|
+
console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
|
|
48996
|
+
|
|
48997
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
48925
48998
|
|
|
48926
|
-
|
|
48927
|
-
|
|
48928
|
-
|
|
48999
|
+
var kItem=hqchartData.data[0];
|
|
49000
|
+
var price=kItem[5];
|
|
49001
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
49002
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
49003
|
+
|
|
49004
|
+
if (bUp) price+=value;
|
|
49005
|
+
else price-=value;
|
|
49006
|
+
kItem[5]=price;
|
|
49007
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
49008
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
49009
|
+
|
|
49010
|
+
hqchartData.name=symbol;
|
|
49011
|
+
hqchartData.symbol=symbol;
|
|
49012
|
+
callback(hqchartData);
|
|
49013
|
+
}
|
|
48929
49014
|
}
|
|
48930
49015
|
|
|
48931
49016
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -11572,12 +11572,13 @@ function AverageWidthFrame()
|
|
|
11572
11572
|
if (item.Font != null) this.Canvas.font = item.Font;
|
|
11573
11573
|
this.Canvas.fillStyle = item.TextColor;
|
|
11574
11574
|
this.Canvas.textAlign = "left";
|
|
11575
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
11575
11576
|
var yText=y;
|
|
11576
11577
|
if (y >= bottom - 2)
|
|
11577
11578
|
{
|
|
11578
11579
|
this.Canvas.textBaseline = 'bottom';
|
|
11579
11580
|
}
|
|
11580
|
-
else if (y
|
|
11581
|
+
else if ((y-textHeight/2)<=top)
|
|
11581
11582
|
{
|
|
11582
11583
|
this.Canvas.textBaseline = 'top';
|
|
11583
11584
|
yText+=this.YTextTopOffset;
|
|
@@ -11606,12 +11607,13 @@ function AverageWidthFrame()
|
|
|
11606
11607
|
if (item.Font != null) this.Canvas.font = item.Font;
|
|
11607
11608
|
this.Canvas.fillStyle = item.TextColor;
|
|
11608
11609
|
this.Canvas.textAlign = "right";
|
|
11610
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
11609
11611
|
var yText=y;
|
|
11610
11612
|
if (y >= bottom - 2)
|
|
11611
11613
|
{
|
|
11612
11614
|
this.Canvas.textBaseline = 'bottom';
|
|
11613
11615
|
}
|
|
11614
|
-
else if (y <= top
|
|
11616
|
+
else if (y-textHeight/2 <= top)
|
|
11615
11617
|
{
|
|
11616
11618
|
this.Canvas.textBaseline = 'top';
|
|
11617
11619
|
yText+=this.YTextTopOffset;
|
|
@@ -71934,7 +71936,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
71934
71936
|
|
|
71935
71937
|
//绑定数据
|
|
71936
71938
|
this.UpdateMainData(bindData,lastDataCount);
|
|
71937
|
-
this.
|
|
71939
|
+
this.UpdateOverlayMinuteRealtimeData(data); //更新叠加股票数据
|
|
71940
|
+
this.BindInstructionIndexData(bindData); //执行指示脚本
|
|
71938
71941
|
|
|
71939
71942
|
for(var i=0; i<this.Frame.SubFrame.length; ++i)
|
|
71940
71943
|
{
|
|
@@ -76705,7 +76708,7 @@ KLineChartContainer.JsonDataToMinuteRealtimeDataV2=function(data,symbol)
|
|
|
76705
76708
|
var date = 0, yclose = 1, open = 2, high = 3, low = 4, close = 5, vol = 6, amount = 7, time = 8, position=9;
|
|
76706
76709
|
var orderFlow=JSCHART_DATA_FIELD_ID.KLINE_ORDERFLOW;
|
|
76707
76710
|
var yClose=null;
|
|
76708
|
-
|
|
76711
|
+
var aryMinuteData=[];
|
|
76709
76712
|
for (var i = 0; i < overlayData.data.length; ++i)
|
|
76710
76713
|
{
|
|
76711
76714
|
var item = new HistoryData();
|
|
@@ -88953,6 +88956,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
88953
88956
|
SHFE: '.SHF', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
88954
88957
|
SHFE2:'.SHFE', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
88955
88958
|
CFFEX: '.CFE', //中期所 (China Financial Futures Exchange)
|
|
88959
|
+
CFFEX2:'.CFFEX', //中期所 (China Financial Futures Exchange)
|
|
88956
88960
|
DCE: '.DCE', //大连商品交易所(Dalian Commodity Exchange)
|
|
88957
88961
|
CZCE: '.CZC', //郑州期货交易所
|
|
88958
88962
|
GZFE:".GZFE", //广州期货交易所
|
|
@@ -89164,6 +89168,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
89164
89168
|
{
|
|
89165
89169
|
if (!upperSymbol) return false;
|
|
89166
89170
|
if (upperSymbol.indexOf(this.CFFEX) > 0) return true;
|
|
89171
|
+
if (upperSymbol.indexOf(this.CFFEX2) > 0) return true;
|
|
89167
89172
|
|
|
89168
89173
|
return false;
|
|
89169
89174
|
},
|
|
@@ -79863,4 +79863,25 @@ var KLINE_DAY_OVERLAY_DATA={
|
|
|
79863
79863
|
317757173399.7
|
|
79864
79864
|
]
|
|
79865
79865
|
]
|
|
79866
|
+
}
|
|
79867
|
+
|
|
79868
|
+
|
|
79869
|
+
var KLINE_1DAY_OVERLAY_DATA=
|
|
79870
|
+
{
|
|
79871
|
+
"stock":
|
|
79872
|
+
[
|
|
79873
|
+
{
|
|
79874
|
+
"time": 150002,
|
|
79875
|
+
"date": 20230825,
|
|
79876
|
+
"price": 3074.0747,
|
|
79877
|
+
"open": 3068.615,
|
|
79878
|
+
"yclose": 3082.2439,
|
|
79879
|
+
"high": 3095.047,
|
|
79880
|
+
"low": 3053.0373,
|
|
79881
|
+
"vol": 293357686,
|
|
79882
|
+
"amount": 317757373399.7,
|
|
79883
|
+
"symbol": "000001.sh",
|
|
79884
|
+
"name": "000001.sh"
|
|
79885
|
+
}
|
|
79886
|
+
],
|
|
79866
79887
|
}
|
|
@@ -2678,4 +2678,26 @@ var KLINE_MINUTE_DATA2 = {
|
|
|
2678
2678
|
"name": "平安银行",
|
|
2679
2679
|
"count": 7646,
|
|
2680
2680
|
"code": 0
|
|
2681
|
-
}
|
|
2681
|
+
}
|
|
2682
|
+
|
|
2683
|
+
|
|
2684
|
+
var KLINE_1MINUTE_DATA2=
|
|
2685
|
+
{
|
|
2686
|
+
code:0,
|
|
2687
|
+
data:
|
|
2688
|
+
[
|
|
2689
|
+
[
|
|
2690
|
+
20230829,
|
|
2691
|
+
12.65,
|
|
2692
|
+
12.65,
|
|
2693
|
+
12.65,
|
|
2694
|
+
12.65,
|
|
2695
|
+
12.65,
|
|
2696
|
+
1246339,
|
|
2697
|
+
15766208,
|
|
2698
|
+
1500
|
|
2699
|
+
]
|
|
2700
|
+
],
|
|
2701
|
+
symbol:"xxx",
|
|
2702
|
+
name:"xxxx",
|
|
2703
|
+
}
|
|
@@ -78512,4 +78512,25 @@ var KLINE_DAY_OVERLAY_DATA2 =
|
|
|
78512
78512
|
171136489266.51
|
|
78513
78513
|
]
|
|
78514
78514
|
]
|
|
78515
|
+
}
|
|
78516
|
+
|
|
78517
|
+
|
|
78518
|
+
var KLINE_1DAY_OVERLAY_DATA2=
|
|
78519
|
+
{
|
|
78520
|
+
"stock":
|
|
78521
|
+
[
|
|
78522
|
+
{
|
|
78523
|
+
"time": 150002,
|
|
78524
|
+
"date": 20230825,
|
|
78525
|
+
"price": 10180.4711,
|
|
78526
|
+
"open": 10197.9573,
|
|
78527
|
+
"yclose": 10256.1896,
|
|
78528
|
+
"high": 10212.6467,
|
|
78529
|
+
"low": 10091.8625,
|
|
78530
|
+
"vol": 10428916190,
|
|
78531
|
+
"amount": 171138489266.7,
|
|
78532
|
+
"symbol": "",
|
|
78533
|
+
"name": ""
|
|
78534
|
+
}
|
|
78535
|
+
],
|
|
78515
78536
|
}
|
|
@@ -199,17 +199,55 @@ HQData.RequestFlowCapitalData=function(data,callback)
|
|
|
199
199
|
callback(hqchartData);
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
HQData.RequestRealtimeData=function(data,callback)
|
|
202
|
+
HQData.RequestRealtimeData=function(data, callback)
|
|
203
203
|
{
|
|
204
204
|
data.PreventDefault=true;
|
|
205
205
|
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
if (data.Request.Data.symbol.length>1) //叠加股票
|
|
208
|
+
{
|
|
209
|
+
var hqchartData={ stock:[], code:0 };
|
|
210
|
+
var arySymbol=data.Request.Data.symbol;
|
|
211
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
212
|
+
{
|
|
213
|
+
var symbol=arySymbol[i];
|
|
214
|
+
if (i==0)
|
|
215
|
+
{
|
|
216
|
+
var stock=KLINE_1DAY_DATA.stock[0];
|
|
217
|
+
stock.name=symbol;
|
|
218
|
+
stock.symbol=symbol;
|
|
219
|
+
hqchartData.stock.push(stock);
|
|
220
|
+
}
|
|
221
|
+
else
|
|
222
|
+
{
|
|
223
|
+
if (symbol=="399001.sz")
|
|
224
|
+
{
|
|
225
|
+
var stock=KLINE_1DAY_OVERLAY_DATA2.stock[0];
|
|
226
|
+
stock.name=symbol;
|
|
227
|
+
stock.symbol=symbol;
|
|
228
|
+
hqchartData.stock.push(stock);
|
|
229
|
+
}
|
|
230
|
+
else
|
|
231
|
+
{
|
|
232
|
+
var stock=KLINE_1DAY_OVERLAY_DATA.stock[0];
|
|
233
|
+
stock.name=symbol;
|
|
234
|
+
stock.symbol=symbol;
|
|
235
|
+
hqchartData.stock.push(stock);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
}
|
|
239
|
+
}
|
|
208
240
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
241
|
+
callback(hqchartData);
|
|
242
|
+
}
|
|
243
|
+
else
|
|
244
|
+
{
|
|
245
|
+
console.log(`[HQData::RequestRealtimeData] Symbol=${symbol}`);
|
|
246
|
+
var hqchartData=KLINE_1DAY_DATA;
|
|
247
|
+
hqchartData.stock[0].name=symbol;
|
|
248
|
+
hqchartData.stock[0].symbol=symbol;
|
|
249
|
+
callback(hqchartData);
|
|
250
|
+
}
|
|
213
251
|
}
|
|
214
252
|
|
|
215
253
|
|
|
@@ -233,24 +271,71 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
233
271
|
data.PreventDefault=true;
|
|
234
272
|
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
235
273
|
|
|
236
|
-
|
|
274
|
+
if (data.Request.Data.symbol.length>1) //叠加股票
|
|
275
|
+
{
|
|
276
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
277
|
+
hqchartData.overlay=[]; //叠加数据
|
|
278
|
+
var arySymbol=data.Request.Data.symbol;
|
|
279
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
280
|
+
{
|
|
281
|
+
var symbol=arySymbol[i];
|
|
282
|
+
if (i==0)
|
|
283
|
+
{
|
|
284
|
+
var kItem=hqchartData.data[0];
|
|
285
|
+
var price=kItem[5];
|
|
286
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
287
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
288
|
+
|
|
289
|
+
if (bUp) price+=value;
|
|
290
|
+
else price-=value;
|
|
291
|
+
kItem[5]=price;
|
|
292
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
293
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
294
|
+
|
|
295
|
+
hqchartData.name=symbol;
|
|
296
|
+
hqchartData.symbol=symbol;
|
|
297
|
+
}
|
|
298
|
+
else
|
|
299
|
+
{
|
|
300
|
+
var testData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA2));
|
|
301
|
+
var kItem=testData.data[0];
|
|
302
|
+
var price=kItem[5];
|
|
303
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
304
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
305
|
+
|
|
306
|
+
if (bUp) price+=value;
|
|
307
|
+
else price-=value;
|
|
308
|
+
kItem[5]=price;
|
|
309
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
310
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
311
|
+
var stock={ data:testData.data, symbol:symbol, name:symbol };
|
|
312
|
+
hqchartData.overlay.push(stock);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
237
315
|
|
|
238
|
-
|
|
316
|
+
callback(hqchartData);
|
|
317
|
+
}
|
|
318
|
+
else
|
|
319
|
+
{
|
|
320
|
+
console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
|
|
239
321
|
|
|
240
|
-
|
|
241
|
-
var price=kItem[5];
|
|
242
|
-
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
243
|
-
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
322
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
244
323
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
324
|
+
var kItem=hqchartData.data[0];
|
|
325
|
+
var price=kItem[5];
|
|
326
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
327
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
328
|
+
|
|
329
|
+
if (bUp) price+=value;
|
|
330
|
+
else price-=value;
|
|
331
|
+
kItem[5]=price;
|
|
332
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
333
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
334
|
+
|
|
335
|
+
hqchartData.name=symbol;
|
|
336
|
+
hqchartData.symbol=symbol;
|
|
337
|
+
callback(hqchartData);
|
|
338
|
+
}
|
|
254
339
|
}
|
|
255
340
|
|
|
256
341
|
|
|
@@ -15497,12 +15497,13 @@ function AverageWidthFrame()
|
|
|
15497
15497
|
if (item.Font != null) this.Canvas.font = item.Font;
|
|
15498
15498
|
this.Canvas.fillStyle = item.TextColor;
|
|
15499
15499
|
this.Canvas.textAlign = "left";
|
|
15500
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
15500
15501
|
var yText=y;
|
|
15501
15502
|
if (y >= bottom - 2)
|
|
15502
15503
|
{
|
|
15503
15504
|
this.Canvas.textBaseline = 'bottom';
|
|
15504
15505
|
}
|
|
15505
|
-
else if (y
|
|
15506
|
+
else if ((y-textHeight/2)<=top)
|
|
15506
15507
|
{
|
|
15507
15508
|
this.Canvas.textBaseline = 'top';
|
|
15508
15509
|
yText+=this.YTextTopOffset;
|
|
@@ -15531,12 +15532,13 @@ function AverageWidthFrame()
|
|
|
15531
15532
|
if (item.Font != null) this.Canvas.font = item.Font;
|
|
15532
15533
|
this.Canvas.fillStyle = item.TextColor;
|
|
15533
15534
|
this.Canvas.textAlign = "right";
|
|
15535
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
15534
15536
|
var yText=y;
|
|
15535
15537
|
if (y >= bottom - 2)
|
|
15536
15538
|
{
|
|
15537
15539
|
this.Canvas.textBaseline = 'bottom';
|
|
15538
15540
|
}
|
|
15539
|
-
else if (y <= top
|
|
15541
|
+
else if (y-textHeight/2 <= top)
|
|
15540
15542
|
{
|
|
15541
15543
|
this.Canvas.textBaseline = 'top';
|
|
15542
15544
|
yText+=this.YTextTopOffset;
|
|
@@ -75859,7 +75861,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75859
75861
|
|
|
75860
75862
|
//绑定数据
|
|
75861
75863
|
this.UpdateMainData(bindData,lastDataCount);
|
|
75862
|
-
this.
|
|
75864
|
+
this.UpdateOverlayMinuteRealtimeData(data); //更新叠加股票数据
|
|
75865
|
+
this.BindInstructionIndexData(bindData); //执行指示脚本
|
|
75863
75866
|
|
|
75864
75867
|
for(var i=0; i<this.Frame.SubFrame.length; ++i)
|
|
75865
75868
|
{
|
|
@@ -80630,7 +80633,7 @@ KLineChartContainer.JsonDataToMinuteRealtimeDataV2=function(data,symbol)
|
|
|
80630
80633
|
var date = 0, yclose = 1, open = 2, high = 3, low = 4, close = 5, vol = 6, amount = 7, time = 8, position=9;
|
|
80631
80634
|
var orderFlow=JSCHART_DATA_FIELD_ID.KLINE_ORDERFLOW;
|
|
80632
80635
|
var yClose=null;
|
|
80633
|
-
|
|
80636
|
+
var aryMinuteData=[];
|
|
80634
80637
|
for (var i = 0; i < overlayData.data.length; ++i)
|
|
80635
80638
|
{
|
|
80636
80639
|
var item = new HistoryData();
|
|
@@ -92878,6 +92881,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
92878
92881
|
SHFE: '.SHF', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
92879
92882
|
SHFE2:'.SHFE', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
92880
92883
|
CFFEX: '.CFE', //中期所 (China Financial Futures Exchange)
|
|
92884
|
+
CFFEX2:'.CFFEX', //中期所 (China Financial Futures Exchange)
|
|
92881
92885
|
DCE: '.DCE', //大连商品交易所(Dalian Commodity Exchange)
|
|
92882
92886
|
CZCE: '.CZC', //郑州期货交易所
|
|
92883
92887
|
GZFE:".GZFE", //广州期货交易所
|
|
@@ -93089,6 +93093,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
93089
93093
|
{
|
|
93090
93094
|
if (!upperSymbol) return false;
|
|
93091
93095
|
if (upperSymbol.indexOf(this.CFFEX) > 0) return true;
|
|
93096
|
+
if (upperSymbol.indexOf(this.CFFEX2) > 0) return true;
|
|
93092
93097
|
|
|
93093
93098
|
return false;
|
|
93094
93099
|
},
|
|
@@ -134347,7 +134352,7 @@ function ScrollBarBGChart()
|
|
|
134347
134352
|
|
|
134348
134353
|
|
|
134349
134354
|
|
|
134350
|
-
var HQCHART_VERSION="1.1.
|
|
134355
|
+
var HQCHART_VERSION="1.1.13484";
|
|
134351
134356
|
|
|
134352
134357
|
function PrintHQChartVersion()
|
|
134353
134358
|
{
|
|
@@ -48874,17 +48874,55 @@ HQData.RequestFlowCapitalData=function(data,callback)
|
|
|
48874
48874
|
callback(hqchartData);
|
|
48875
48875
|
}
|
|
48876
48876
|
|
|
48877
|
-
HQData.RequestRealtimeData=function(data,callback)
|
|
48877
|
+
HQData.RequestRealtimeData=function(data, callback)
|
|
48878
48878
|
{
|
|
48879
48879
|
data.PreventDefault=true;
|
|
48880
48880
|
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
48881
48881
|
|
|
48882
|
-
|
|
48882
|
+
if (data.Request.Data.symbol.length>1) //叠加股票
|
|
48883
|
+
{
|
|
48884
|
+
var hqchartData={ stock:[], code:0 };
|
|
48885
|
+
var arySymbol=data.Request.Data.symbol;
|
|
48886
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
48887
|
+
{
|
|
48888
|
+
var symbol=arySymbol[i];
|
|
48889
|
+
if (i==0)
|
|
48890
|
+
{
|
|
48891
|
+
var stock=KLINE_1DAY_DATA.stock[0];
|
|
48892
|
+
stock.name=symbol;
|
|
48893
|
+
stock.symbol=symbol;
|
|
48894
|
+
hqchartData.stock.push(stock);
|
|
48895
|
+
}
|
|
48896
|
+
else
|
|
48897
|
+
{
|
|
48898
|
+
if (symbol=="399001.sz")
|
|
48899
|
+
{
|
|
48900
|
+
var stock=KLINE_1DAY_OVERLAY_DATA2.stock[0];
|
|
48901
|
+
stock.name=symbol;
|
|
48902
|
+
stock.symbol=symbol;
|
|
48903
|
+
hqchartData.stock.push(stock);
|
|
48904
|
+
}
|
|
48905
|
+
else
|
|
48906
|
+
{
|
|
48907
|
+
var stock=KLINE_1DAY_OVERLAY_DATA.stock[0];
|
|
48908
|
+
stock.name=symbol;
|
|
48909
|
+
stock.symbol=symbol;
|
|
48910
|
+
hqchartData.stock.push(stock);
|
|
48911
|
+
}
|
|
48912
|
+
|
|
48913
|
+
}
|
|
48914
|
+
}
|
|
48883
48915
|
|
|
48884
|
-
|
|
48885
|
-
|
|
48886
|
-
|
|
48887
|
-
|
|
48916
|
+
callback(hqchartData);
|
|
48917
|
+
}
|
|
48918
|
+
else
|
|
48919
|
+
{
|
|
48920
|
+
console.log(`[HQData::RequestRealtimeData] Symbol=${symbol}`);
|
|
48921
|
+
var hqchartData=KLINE_1DAY_DATA;
|
|
48922
|
+
hqchartData.stock[0].name=symbol;
|
|
48923
|
+
hqchartData.stock[0].symbol=symbol;
|
|
48924
|
+
callback(hqchartData);
|
|
48925
|
+
}
|
|
48888
48926
|
}
|
|
48889
48927
|
|
|
48890
48928
|
|
|
@@ -48908,24 +48946,71 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
48908
48946
|
data.PreventDefault=true;
|
|
48909
48947
|
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
48910
48948
|
|
|
48911
|
-
|
|
48949
|
+
if (data.Request.Data.symbol.length>1) //叠加股票
|
|
48950
|
+
{
|
|
48951
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
48952
|
+
hqchartData.overlay=[]; //叠加数据
|
|
48953
|
+
var arySymbol=data.Request.Data.symbol;
|
|
48954
|
+
for(var i=0;i<arySymbol.length;++i)
|
|
48955
|
+
{
|
|
48956
|
+
var symbol=arySymbol[i];
|
|
48957
|
+
if (i==0)
|
|
48958
|
+
{
|
|
48959
|
+
var kItem=hqchartData.data[0];
|
|
48960
|
+
var price=kItem[5];
|
|
48961
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
48962
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
48963
|
+
|
|
48964
|
+
if (bUp) price+=value;
|
|
48965
|
+
else price-=value;
|
|
48966
|
+
kItem[5]=price;
|
|
48967
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
48968
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
48912
48969
|
|
|
48913
|
-
|
|
48970
|
+
hqchartData.name=symbol;
|
|
48971
|
+
hqchartData.symbol=symbol;
|
|
48972
|
+
}
|
|
48973
|
+
else
|
|
48974
|
+
{
|
|
48975
|
+
var testData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA2));
|
|
48976
|
+
var kItem=testData.data[0];
|
|
48977
|
+
var price=kItem[5];
|
|
48978
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
48979
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
48980
|
+
|
|
48981
|
+
if (bUp) price+=value;
|
|
48982
|
+
else price-=value;
|
|
48983
|
+
kItem[5]=price;
|
|
48984
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
48985
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
48986
|
+
var stock={ data:testData.data, symbol:symbol, name:symbol };
|
|
48987
|
+
hqchartData.overlay.push(stock);
|
|
48988
|
+
}
|
|
48989
|
+
}
|
|
48914
48990
|
|
|
48915
|
-
|
|
48916
|
-
|
|
48917
|
-
|
|
48918
|
-
|
|
48919
|
-
|
|
48920
|
-
|
|
48921
|
-
|
|
48922
|
-
kItem[5]=price;
|
|
48923
|
-
kItem[3]=Math.max(price, kItem[3]);
|
|
48924
|
-
kItem[4]=Math.min(price, kItem[4]);
|
|
48991
|
+
callback(hqchartData);
|
|
48992
|
+
}
|
|
48993
|
+
else
|
|
48994
|
+
{
|
|
48995
|
+
console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
|
|
48996
|
+
|
|
48997
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
48925
48998
|
|
|
48926
|
-
|
|
48927
|
-
|
|
48928
|
-
|
|
48999
|
+
var kItem=hqchartData.data[0];
|
|
49000
|
+
var price=kItem[5];
|
|
49001
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
49002
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
49003
|
+
|
|
49004
|
+
if (bUp) price+=value;
|
|
49005
|
+
else price-=value;
|
|
49006
|
+
kItem[5]=price;
|
|
49007
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
49008
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
49009
|
+
|
|
49010
|
+
hqchartData.name=symbol;
|
|
49011
|
+
hqchartData.symbol=symbol;
|
|
49012
|
+
callback(hqchartData);
|
|
49013
|
+
}
|
|
48929
49014
|
}
|
|
48930
49015
|
|
|
48931
49016
|
|
|
@@ -15541,12 +15541,13 @@ function AverageWidthFrame()
|
|
|
15541
15541
|
if (item.Font != null) this.Canvas.font = item.Font;
|
|
15542
15542
|
this.Canvas.fillStyle = item.TextColor;
|
|
15543
15543
|
this.Canvas.textAlign = "left";
|
|
15544
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
15544
15545
|
var yText=y;
|
|
15545
15546
|
if (y >= bottom - 2)
|
|
15546
15547
|
{
|
|
15547
15548
|
this.Canvas.textBaseline = 'bottom';
|
|
15548
15549
|
}
|
|
15549
|
-
else if (y
|
|
15550
|
+
else if ((y-textHeight/2)<=top)
|
|
15550
15551
|
{
|
|
15551
15552
|
this.Canvas.textBaseline = 'top';
|
|
15552
15553
|
yText+=this.YTextTopOffset;
|
|
@@ -15575,12 +15576,13 @@ function AverageWidthFrame()
|
|
|
15575
15576
|
if (item.Font != null) this.Canvas.font = item.Font;
|
|
15576
15577
|
this.Canvas.fillStyle = item.TextColor;
|
|
15577
15578
|
this.Canvas.textAlign = "right";
|
|
15579
|
+
var textHeight=this.Canvas.measureText("擎").width;
|
|
15578
15580
|
var yText=y;
|
|
15579
15581
|
if (y >= bottom - 2)
|
|
15580
15582
|
{
|
|
15581
15583
|
this.Canvas.textBaseline = 'bottom';
|
|
15582
15584
|
}
|
|
15583
|
-
else if (y <= top
|
|
15585
|
+
else if (y-textHeight/2 <= top)
|
|
15584
15586
|
{
|
|
15585
15587
|
this.Canvas.textBaseline = 'top';
|
|
15586
15588
|
yText+=this.YTextTopOffset;
|
|
@@ -75903,7 +75905,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75903
75905
|
|
|
75904
75906
|
//绑定数据
|
|
75905
75907
|
this.UpdateMainData(bindData,lastDataCount);
|
|
75906
|
-
this.
|
|
75908
|
+
this.UpdateOverlayMinuteRealtimeData(data); //更新叠加股票数据
|
|
75909
|
+
this.BindInstructionIndexData(bindData); //执行指示脚本
|
|
75907
75910
|
|
|
75908
75911
|
for(var i=0; i<this.Frame.SubFrame.length; ++i)
|
|
75909
75912
|
{
|
|
@@ -80674,7 +80677,7 @@ KLineChartContainer.JsonDataToMinuteRealtimeDataV2=function(data,symbol)
|
|
|
80674
80677
|
var date = 0, yclose = 1, open = 2, high = 3, low = 4, close = 5, vol = 6, amount = 7, time = 8, position=9;
|
|
80675
80678
|
var orderFlow=JSCHART_DATA_FIELD_ID.KLINE_ORDERFLOW;
|
|
80676
80679
|
var yClose=null;
|
|
80677
|
-
|
|
80680
|
+
var aryMinuteData=[];
|
|
80678
80681
|
for (var i = 0; i < overlayData.data.length; ++i)
|
|
80679
80682
|
{
|
|
80680
80683
|
var item = new HistoryData();
|
|
@@ -92922,6 +92925,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
92922
92925
|
SHFE: '.SHF', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
92923
92926
|
SHFE2:'.SHFE', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
92924
92927
|
CFFEX: '.CFE', //中期所 (China Financial Futures Exchange)
|
|
92928
|
+
CFFEX2:'.CFFEX', //中期所 (China Financial Futures Exchange)
|
|
92925
92929
|
DCE: '.DCE', //大连商品交易所(Dalian Commodity Exchange)
|
|
92926
92930
|
CZCE: '.CZC', //郑州期货交易所
|
|
92927
92931
|
GZFE:".GZFE", //广州期货交易所
|
|
@@ -93133,6 +93137,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
93133
93137
|
{
|
|
93134
93138
|
if (!upperSymbol) return false;
|
|
93135
93139
|
if (upperSymbol.indexOf(this.CFFEX) > 0) return true;
|
|
93140
|
+
if (upperSymbol.indexOf(this.CFFEX2) > 0) return true;
|
|
93136
93141
|
|
|
93137
93142
|
return false;
|
|
93138
93143
|
},
|
|
@@ -138288,7 +138293,7 @@ function HQChartScriptWorker()
|
|
|
138288
138293
|
|
|
138289
138294
|
|
|
138290
138295
|
|
|
138291
|
-
var HQCHART_VERSION="1.1.
|
|
138296
|
+
var HQCHART_VERSION="1.1.13484";
|
|
138292
138297
|
|
|
138293
138298
|
function PrintHQChartVersion()
|
|
138294
138299
|
{
|