hqchart 1.1.12560 → 1.1.12570
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 +2 -2
- package/lib/umychart.vue.js +8 -7
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +13 -1
- package/src/jscommon/umychart.complier.js +1 -0
- package/src/jscommon/umychart.js +15 -6
- package/src/jscommon/umychart.testdata.js +13 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +17 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +13 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +17 -7
package/lib/umychart.vue.js
CHANGED
|
@@ -2436,8 +2436,9 @@ this.GetXData=function(x,isLimit){var distanceWidth=this.DistanceWidth;var dataW
|
|
|
2436
2436
|
return index;}};//计算数据宽度
|
|
2437
2437
|
this.CalculateDataWidth=function(){if(this.XPointCount<2)return;//JSConsole.Chart.Log(`[KLineFrame::CalculateDataWidth] ZoomIndex=${this.ZoomIndex}, XPointCount=${this.XPointCount}, DataWidth=${this.DataWidth}, DistanceWidth=${this.DistanceWidth}`);
|
|
2438
2438
|
var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;if(this.ZoomIndex>=0&&this.LastCalculateStatus.Width==width&&this.LastCalculateStatus.XPointCount==this.XPointCount)//宽度没变 尝试使用原来的柱子宽度
|
|
2439
|
-
{var caclWidth=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth)*(this.XPointCount-1);var caclWidth2=(this.DataWidth+this.DistanceWidth)*this.XPointCount;if(
|
|
2440
|
-
return;}
|
|
2439
|
+
{var caclWidth=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth)*(this.XPointCount-1);var caclWidth2=(this.DataWidth+this.DistanceWidth)*this.XPointCount;if(this.DataWidth<2){if(caclWidth2<=width)//当前的柱子宽度够用 就不调整了
|
|
2440
|
+
return;}else{if(caclWidth<=width)//当前的柱子宽度够用 就不调整了
|
|
2441
|
+
return;}}this.LastCalculateStatus.Width=width;this.LastCalculateStatus.XPointCount=this.XPointCount;for(var i=0;i<ZOOM_SEED.length;++i){if((ZOOM_SEED[i][0]+ZOOM_SEED[i][1])*this.XPointCount<width){this.ZoomIndex=i;this.DataWidth=ZOOM_SEED[i][0];this.DistanceWidth=ZOOM_SEED[i][1];this.TrimKLineDataWidth(width);JSConsole.Chart.Log('[KLineFrame::CalculateDataWidth] ZOOM_SEED, DataWidth, DistanceWidth, XPointCount',ZOOM_SEED[this.ZoomIndex],this.DataWidth,this.DistanceWidth,this.XPointCount);return;}}//太多了 就平均分了
|
|
2441
2442
|
this.ZoomIndex=ZOOM_SEED.length-1;this.DataWidth=width/this.XPointCount;this.DistanceWidth=0;};this.OnSize=function(obj){var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;var xPointCount=0;var y=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth);for(;y<width;y+=this.DataWidth+this.DistanceWidth,++xPointCount){}obj.CurCount=this.XPointCount;obj.CalcCount=xPointCount;obj.DataWidth=this.DataWidth;obj.DistanceWidth=this.DistanceWidth;obj.Changed=false;this.LastCalculateStatus.Width=width;if(obj.CurCount==obj.CalcCount)return obj;this.XPointCount=xPointCount;this.LastCalculateStatus.XPointCount=this.XPointCount;if(this.Data){this.Data.DataOffset+=obj.CurCount-obj.CalcCount;if(this.Data.DataOffset<0)this.Data.DataOffset=0;obj.Changed=true;}return obj;};this.SetDataWidth=function(dataWidth){var zoomIndex=ZOOM_SEED.length-1;for(var i in ZOOM_SEED){var item=ZOOM_SEED[i];if(item[0]<=dataWidth){zoomIndex=parseInt(i)-1;break;}}this.ZoomIndex=zoomIndex;this.DataWidth=ZOOM_SEED[this.ZoomIndex][0];this.DistanceWidth=ZOOM_SEED[this.ZoomIndex][1];var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;var xPointCount=0;var y=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth);for(;y<=width;y+=this.DataWidth+this.DistanceWidth,++xPointCount){}this.XPointCount=xPointCount;this.LastCalculateStatus.XPointCount=this.XPointCount;this.LastCalculateStatus.Width=width;var obj={XPointCount:this.XPointCount,DataWidth:this.DataWidth,DistanceWidth:this.DistanceWidth};return obj;};this.TrimKLineDataWidth=function(width){var dataWidth=ZOOM_SEED[this.ZoomIndex][0];var distanceWidth=ZOOM_SEED[this.ZoomIndex][1];if(dataWidth==1&&distanceWidth==0){this.DataWidth=width/this.XPointCount;return;}while(true){if((this.DistanceWidth+this.DataWidth)*this.XPointCount+this.DistanceWidth>width){this.DistanceWidth-=0.01;break;}this.DistanceWidth+=0.01;}};//当前坐标信息 是否覆盖最大 最小值输出
|
|
2442
2443
|
this.IsOverlayMaxMin=function(obj){if(!this.ChartKLine)return false;if(!this.ChartKLine.Max||!this.ChartKLine.Min)return false;var textWidth=this.Canvas.measureText(obj.Text.Value).width+4;//刻度文字宽度
|
|
2443
2444
|
if(obj.Text.TextAlign==='right')obj.X-=textWidth;var max=this.ChartKLine.Max,min=this.ChartKLine.Min;var isOverlayMax=false,isOverlayMin=false;var textHeight=20;//字体高度
|
|
@@ -2540,8 +2541,8 @@ this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(x));this.Canvas.lin
|
|
|
2540
2541
|
this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(x));this.Canvas.lineTo(right,ToFixedPoint(x));this.Canvas.stroke();this.Canvas.setLineDash([]);}else//实线
|
|
2541
2542
|
{this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(x));this.Canvas.lineTo(right,ToFixedPoint(x));this.Canvas.stroke();}}if(this.VerticalInfo[i].Message[0]!=null){if(this.VerticalInfo[i].Font!=null)this.Canvas.font=this.VerticalInfo[i].Font;this.Canvas.fillStyle=this.VerticalInfo[i].TextColor;var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;if(x<testWidth/2){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";}else{this.Canvas.textAlign="center";this.Canvas.textBaseline="top";}var xText=left,yText=x;this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(this.VerticalInfo[i].Message[0],0,this.XBottomOffset);this.Canvas.restore();}xPrev=x;}};//Y坐标转y轴数值
|
|
2542
2543
|
this.GetYData=function(x,isLimit){var border=this.ChartBorder.GetHScreenBorder();if(isLimit===false){var width=border.RightEx-border.LeftEx;return(x-border.LeftEx)/width*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}else{if(x<border.LeftEx)return this.HorizontalMin;if(x>border.RightEx)return this.HorizontalMax;var width=border.RightEx-border.LeftEx;return(x-border.LeftEx)/width*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}};//X坐标转x轴数值
|
|
2543
|
-
this.GetXData=function(y,isLimit){var border=this.ChartBorder.GetHScreenBorder();var left=border.TopEx+g_JSChartResource.FrameLeftMargin;var right=border.BottomEx;var distanceWidth=this.DistanceWidth;var dataWidth=this.DataWidth;if(isLimit==false){if(y<left){var index=-1;var xPoint=left-(distanceWidth/2+dataWidth+distanceWidth);while(index>-
|
|
2544
|
-
{if(xPoint>=y)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}}else{if(y<=border.TopEx)return 0;if(y>=border.BottomEx)return this.XPointCount-1;var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(xPoint<right&&index<
|
|
2544
|
+
this.GetXData=function(y,isLimit){var border=this.ChartBorder.GetHScreenBorder();var left=border.TopEx+g_JSChartResource.FrameLeftMargin;var right=border.BottomEx;var distanceWidth=this.DistanceWidth;var dataWidth=this.DataWidth;var maxDataCount=10000*50;if(isLimit==false){if(y<left){var index=-1;var xPoint=left-(distanceWidth/2+dataWidth+distanceWidth);while(index>-maxDataCount){if(xPoint<=y)break;xPoint-=dataWidth+distanceWidth;--index;}return index;}else{var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(index<maxDataCount)//自己算x的数值
|
|
2545
|
+
{if(xPoint>=y)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}}else{if(y<=border.TopEx)return 0;if(y>=border.BottomEx)return this.XPointCount-1;var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(xPoint<right&&index<maxDataCount&&index+1<this.XPointCount)//自己算x的数值
|
|
2545
2546
|
{if(xPoint>y)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}//return (y-this.ChartBorder.GetTop())*(this.XPointCount*1.0/this.ChartBorder.GetHeight());
|
|
2546
2547
|
};this.DrawBottons=function(){};//计算数据宽度
|
|
2547
2548
|
/*
|
|
@@ -7130,7 +7131,7 @@ if(IFrameSplitOperator.IsBool(item.IsShowToolbar))frame.IsShowToolbar=item.IsSho
|
|
|
7130
7131
|
}overlayFrame.Frame=frame;if(apiItem){var apiIndex=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,obj,true);apiIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
7131
7132
|
overlayFrame.Script=apiIndex;}else if(indexInfo){var args=indexInfo.Args;if(obj.Args)args=obj.Args;//外部可以设置参数
|
|
7132
7133
|
var indexData={Name:indexInfo.Name,Script:indexInfo.Script,Args:args,ID:indexName,//扩展属性 可以是空
|
|
7133
|
-
KLineType:indexInfo.KLineType,YSpecificMaxMin:indexInfo.YSpecificMaxMin,YSplitScale:indexInfo.YSplitScale,FloatPrecision:indexInfo.FloatPrecision,Condition:indexInfo.Condition,OutName:indexInfo.OutName};if(IFrameSplitOperator.IsNumber(obj.FloatPrecision))indexData.FloatPrecision=obj.FloatPrecision;var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData);//脚本执行
|
|
7134
|
+
KLineType:indexInfo.KLineType,YSpecificMaxMin:indexInfo.YSpecificMaxMin,YSplitScale:indexInfo.YSplitScale,FloatPrecision:indexInfo.FloatPrecision,Condition:indexInfo.Condition,OutName:indexInfo.OutName};if(IFrameSplitOperator.IsNumber(obj.FloatPrecision))indexData.FloatPrecision=obj.FloatPrecision;if(IFrameSplitOperator.IsNumber(obj.StringFormat))indexData.StringFormat=obj.StringFormat;var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData);//脚本执行
|
|
7134
7135
|
scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
7135
7136
|
overlayFrame.Script=scriptIndex;}else{var scriptIndex=indexCustom.Create();scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
|
|
7136
7137
|
scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}subFrame.OverlayIndex.push(overlayFrame);return overlayFrame;};this.DeleteOverlayWindowsIndex=function(identify)//删除叠加指标
|
|
@@ -11414,7 +11415,7 @@ if(IFrameSplitOperator.IsNumber(this.YSplitType))this.OverlayIndex.Frame.Frame.Y
|
|
|
11414
11415
|
var titleInfo={Data:[],Title:this.Name,Frame:this.OverlayIndex.Frame.Frame,Script:this};var indexParam='';for(var i in this.Arguments){var _item34=this.Arguments[i];if(indexParam.length>0)indexParam+=',';indexParam+=_item34.Value.toString();}if(indexParam.length>0)titleInfo.Title=this.Name+'('+indexParam+')';var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.set(this.OverlayIndex.Identify,titleInfo);this.OverlayIndex.Frame.Frame.Title=titleInfo.Title;//给子框架设置标题
|
|
11415
11416
|
if(this.OutName&&this.OutName.length>0&&this.Arguments&&this.Arguments.length>0){titlePaint.SetDynamicTitle(this.OutName,this.Arguments,this.OverlayIndex.Identify);}for(var i=0;i<this.OutVar.length;++i){var _item35=this.OutVar[i];if(_item35.IsExData===true)continue;//扩展数据不显示图形
|
|
11416
11417
|
if(_item35.Type==0){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}else if(_item35.Type==1){switch(_item35.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item35,i);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item35,i);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item35,i);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item35,i);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item35,i);break;case'DRAWKLINE':this.CreateKLine(hqChart,windowIndex,_item35,i);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item35,i);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item35,i);break;case'DRAWNUMBER':case"DRAWNUMBER_FIX":case'DRAWTEXT_FIX':this.CreateNumberText(hqChart,windowIndex,_item35,i);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item35,i);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item35,i);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item35,i);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item35,i);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item35,i);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item35,i);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item35,i);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item35,i);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item35,i);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item35,i);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item35,i);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item35,i);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item35,i);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item35,i);break;case"DRAWTEXTABS":case"DRAWTEXTREL":this.CreateDrawText(hqChart,windowIndex,_item35,i);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item35,i);break;default:{var find=g_ScriptIndexChartFactory.Get(_item35.Draw.DrawType);//外部挂接
|
|
11417
|
-
if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item35,i,this);}break;}}else if(_item35.Type==2){this.CreateMACD(hqChart,windowIndex,_item35,i);}else if(_item35.Type==3){this.CreatePointDot(hqChart,windowIndex,_item35,i,hisData);}else if(_item35.Type==4){this.CreateLineStick(hqChart,windowIndex,_item35,i);}else if(_item35.Type==5){this.CreateStick(hqChart,windowIndex,_item35,i);}else if(_item35.Type==6){this.CreateVolStick(hqChart,windowIndex,_item35,i,hisData);}else if(_item35.Type==7){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}else if(_item35.Type==8){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}var titleData=titleInfo.Data[i];if(titleData){if(this.FloatPrecision>=0)titleData.FloatPrecision=this.FloatPrecision;}}/*
|
|
11418
|
+
if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item35,i,this);}break;}}else if(_item35.Type==2){this.CreateMACD(hqChart,windowIndex,_item35,i);}else if(_item35.Type==3){this.CreatePointDot(hqChart,windowIndex,_item35,i,hisData);}else if(_item35.Type==4){this.CreateLineStick(hqChart,windowIndex,_item35,i);}else if(_item35.Type==5){this.CreateStick(hqChart,windowIndex,_item35,i);}else if(_item35.Type==6){this.CreateVolStick(hqChart,windowIndex,_item35,i,hisData);}else if(_item35.Type==7){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}else if(_item35.Type==8){this.CreateLine(hqChart,windowIndex,_item35,i,_item35.Type);}var titleData=titleInfo.Data[i];if(titleData){if(this.FloatPrecision>=0)titleData.FloatPrecision=this.FloatPrecision;if(IFrameSplitOperator.IsNumber(this.StringFormat))titleData.StringFormat=this.StringFormat;}}/*
|
|
11418
11419
|
hqChart.TitlePaint[titleIndex].Title=this.Name;
|
|
11419
11420
|
|
|
11420
11421
|
let indexParam='';
|
|
@@ -12656,7 +12657,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
|
|
|
12656
12657
|
hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.ExecuteScript(item,data);}}};this.OnExecuteFinish=function(data,indexInfo,jsExectute){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT};postMessage(message);};this.OnExecuteError=function(error,indexInfo){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
12657
12658
|
* 版本信息输出
|
|
12658
12659
|
*
|
|
12659
|
-
*/var HQCHART_VERSION="1.1.
|
|
12660
|
+
*/var HQCHART_VERSION="1.1.12569";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12660
12661
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12661
12662
|
// BaseIndex:BaseIndex,
|
|
12662
12663
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -48784,7 +48784,19 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
48784
48784
|
|
|
48785
48785
|
console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
|
|
48786
48786
|
|
|
48787
|
-
var hqchartData=KLINE_1MINUTE_DATA;
|
|
48787
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
48788
|
+
|
|
48789
|
+
var kItem=hqchartData.data[0];
|
|
48790
|
+
var price=kItem[5];
|
|
48791
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
48792
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
48793
|
+
|
|
48794
|
+
if (bUp) price+=value;
|
|
48795
|
+
else price-=value;
|
|
48796
|
+
kItem[5]=price;
|
|
48797
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
48798
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
48799
|
+
|
|
48788
48800
|
hqchartData.name=symbol;
|
|
48789
48801
|
hqchartData.symbol=symbol;
|
|
48790
48802
|
callback(hqchartData);
|
|
@@ -21336,6 +21336,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
21336
21336
|
if (titleData)
|
|
21337
21337
|
{
|
|
21338
21338
|
if (this.FloatPrecision>=0) titleData.FloatPrecision=this.FloatPrecision;
|
|
21339
|
+
if (IFrameSplitOperator.IsNumber(this.StringFormat)) titleData.StringFormat=this.StringFormat;
|
|
21339
21340
|
}
|
|
21340
21341
|
}
|
|
21341
21342
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -13626,8 +13626,16 @@ function KLineFrame()
|
|
|
13626
13626
|
{
|
|
13627
13627
|
var caclWidth=(this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin)+(this.DataWidth + this.DistanceWidth)*(this.XPointCount-1);
|
|
13628
13628
|
var caclWidth2=(this.DataWidth + this.DistanceWidth) * this.XPointCount;
|
|
13629
|
-
if (
|
|
13630
|
-
|
|
13629
|
+
if (this.DataWidth<2)
|
|
13630
|
+
{
|
|
13631
|
+
if (caclWidth2<= width) //当前的柱子宽度够用 就不调整了
|
|
13632
|
+
return;
|
|
13633
|
+
}
|
|
13634
|
+
else
|
|
13635
|
+
{
|
|
13636
|
+
if (caclWidth<= width) //当前的柱子宽度够用 就不调整了
|
|
13637
|
+
return;
|
|
13638
|
+
}
|
|
13631
13639
|
}
|
|
13632
13640
|
|
|
13633
13641
|
this.LastCalculateStatus.Width=width;
|
|
@@ -15402,14 +15410,14 @@ function KLineHScreenFrame()
|
|
|
15402
15410
|
var right=border.BottomEx;
|
|
15403
15411
|
var distanceWidth=this.DistanceWidth;
|
|
15404
15412
|
var dataWidth=this.DataWidth;
|
|
15405
|
-
|
|
15413
|
+
var maxDataCount=10000*50;
|
|
15406
15414
|
if (isLimit==false)
|
|
15407
15415
|
{
|
|
15408
15416
|
if (y<left)
|
|
15409
15417
|
{
|
|
15410
15418
|
var index=-1;
|
|
15411
15419
|
var xPoint=left-(distanceWidth/2+dataWidth+distanceWidth);
|
|
15412
|
-
while(index>-
|
|
15420
|
+
while(index>-maxDataCount)
|
|
15413
15421
|
{
|
|
15414
15422
|
if (xPoint<=y)
|
|
15415
15423
|
break;
|
|
@@ -15423,7 +15431,7 @@ function KLineHScreenFrame()
|
|
|
15423
15431
|
{
|
|
15424
15432
|
var index=0;
|
|
15425
15433
|
var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;
|
|
15426
|
-
while(index<
|
|
15434
|
+
while(index<maxDataCount) //自己算x的数值
|
|
15427
15435
|
{
|
|
15428
15436
|
if (xPoint>=y) break;
|
|
15429
15437
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -15440,7 +15448,7 @@ function KLineHScreenFrame()
|
|
|
15440
15448
|
|
|
15441
15449
|
var index=0;
|
|
15442
15450
|
var xPoint=left+distanceWidth/2+ dataWidth+distanceWidth;
|
|
15443
|
-
while(xPoint<right && index<
|
|
15451
|
+
while(xPoint<right && index<maxDataCount && index+1<this.XPointCount) //自己算x的数值
|
|
15444
15452
|
{
|
|
15445
15453
|
if (xPoint>y) break;
|
|
15446
15454
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -67891,6 +67899,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
67891
67899
|
};
|
|
67892
67900
|
|
|
67893
67901
|
if (IFrameSplitOperator.IsNumber(obj.FloatPrecision)) indexData.FloatPrecision=obj.FloatPrecision;
|
|
67902
|
+
if (IFrameSplitOperator.IsNumber(obj.StringFormat)) indexData.StringFormat=obj.StringFormat;
|
|
67894
67903
|
|
|
67895
67904
|
var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
|
|
67896
67905
|
scriptIndex.OverlayIndex={ IsOverlay:true, Identify:overlayFrame.Identify, WindowIndex:windowIndex, Frame:overlayFrame }; //叠加指标信息
|
|
@@ -131,7 +131,19 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
131
131
|
|
|
132
132
|
console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
|
|
133
133
|
|
|
134
|
-
var hqchartData=KLINE_1MINUTE_DATA;
|
|
134
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
135
|
+
|
|
136
|
+
var kItem=hqchartData.data[0];
|
|
137
|
+
var price=kItem[5];
|
|
138
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
139
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
140
|
+
|
|
141
|
+
if (bUp) price+=value;
|
|
142
|
+
else price-=value;
|
|
143
|
+
kItem[5]=price;
|
|
144
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
145
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
146
|
+
|
|
135
147
|
hqchartData.name=symbol;
|
|
136
148
|
hqchartData.symbol=symbol;
|
|
137
149
|
callback(hqchartData);
|
|
@@ -17706,8 +17706,16 @@ function KLineFrame()
|
|
|
17706
17706
|
{
|
|
17707
17707
|
var caclWidth=(this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin)+(this.DataWidth + this.DistanceWidth)*(this.XPointCount-1);
|
|
17708
17708
|
var caclWidth2=(this.DataWidth + this.DistanceWidth) * this.XPointCount;
|
|
17709
|
-
if (
|
|
17710
|
-
|
|
17709
|
+
if (this.DataWidth<2)
|
|
17710
|
+
{
|
|
17711
|
+
if (caclWidth2<= width) //当前的柱子宽度够用 就不调整了
|
|
17712
|
+
return;
|
|
17713
|
+
}
|
|
17714
|
+
else
|
|
17715
|
+
{
|
|
17716
|
+
if (caclWidth<= width) //当前的柱子宽度够用 就不调整了
|
|
17717
|
+
return;
|
|
17718
|
+
}
|
|
17711
17719
|
}
|
|
17712
17720
|
|
|
17713
17721
|
this.LastCalculateStatus.Width=width;
|
|
@@ -19482,14 +19490,14 @@ function KLineHScreenFrame()
|
|
|
19482
19490
|
var right=border.BottomEx;
|
|
19483
19491
|
var distanceWidth=this.DistanceWidth;
|
|
19484
19492
|
var dataWidth=this.DataWidth;
|
|
19485
|
-
|
|
19493
|
+
var maxDataCount=10000*50;
|
|
19486
19494
|
if (isLimit==false)
|
|
19487
19495
|
{
|
|
19488
19496
|
if (y<left)
|
|
19489
19497
|
{
|
|
19490
19498
|
var index=-1;
|
|
19491
19499
|
var xPoint=left-(distanceWidth/2+dataWidth+distanceWidth);
|
|
19492
|
-
while(index>-
|
|
19500
|
+
while(index>-maxDataCount)
|
|
19493
19501
|
{
|
|
19494
19502
|
if (xPoint<=y)
|
|
19495
19503
|
break;
|
|
@@ -19503,7 +19511,7 @@ function KLineHScreenFrame()
|
|
|
19503
19511
|
{
|
|
19504
19512
|
var index=0;
|
|
19505
19513
|
var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;
|
|
19506
|
-
while(index<
|
|
19514
|
+
while(index<maxDataCount) //自己算x的数值
|
|
19507
19515
|
{
|
|
19508
19516
|
if (xPoint>=y) break;
|
|
19509
19517
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -19520,7 +19528,7 @@ function KLineHScreenFrame()
|
|
|
19520
19528
|
|
|
19521
19529
|
var index=0;
|
|
19522
19530
|
var xPoint=left+distanceWidth/2+ dataWidth+distanceWidth;
|
|
19523
|
-
while(xPoint<right && index<
|
|
19531
|
+
while(xPoint<right && index<maxDataCount && index+1<this.XPointCount) //自己算x的数值
|
|
19524
19532
|
{
|
|
19525
19533
|
if (xPoint>y) break;
|
|
19526
19534
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -71971,6 +71979,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71971
71979
|
};
|
|
71972
71980
|
|
|
71973
71981
|
if (IFrameSplitOperator.IsNumber(obj.FloatPrecision)) indexData.FloatPrecision=obj.FloatPrecision;
|
|
71982
|
+
if (IFrameSplitOperator.IsNumber(obj.StringFormat)) indexData.StringFormat=obj.StringFormat;
|
|
71974
71983
|
|
|
71975
71984
|
var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
|
|
71976
71985
|
scriptIndex.OverlayIndex={ IsOverlay:true, Identify:overlayFrame.Identify, WindowIndex:windowIndex, Frame:overlayFrame }; //叠加指标信息
|
|
@@ -115028,6 +115037,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
115028
115037
|
if (titleData)
|
|
115029
115038
|
{
|
|
115030
115039
|
if (this.FloatPrecision>=0) titleData.FloatPrecision=this.FloatPrecision;
|
|
115040
|
+
if (IFrameSplitOperator.IsNumber(this.StringFormat)) titleData.StringFormat=this.StringFormat;
|
|
115031
115041
|
}
|
|
115032
115042
|
}
|
|
115033
115043
|
|
|
@@ -129441,7 +129451,7 @@ function ScrollBarBGChart()
|
|
|
129441
129451
|
|
|
129442
129452
|
|
|
129443
129453
|
|
|
129444
|
-
var HQCHART_VERSION="1.1.
|
|
129454
|
+
var HQCHART_VERSION="1.1.12569";
|
|
129445
129455
|
|
|
129446
129456
|
function PrintHQChartVersion()
|
|
129447
129457
|
{
|
|
@@ -48784,7 +48784,19 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
48784
48784
|
|
|
48785
48785
|
console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
|
|
48786
48786
|
|
|
48787
|
-
var hqchartData=KLINE_1MINUTE_DATA;
|
|
48787
|
+
var hqchartData=JSON.parse(JSON.stringify(KLINE_1MINUTE_DATA));
|
|
48788
|
+
|
|
48789
|
+
var kItem=hqchartData.data[0];
|
|
48790
|
+
var price=kItem[5];
|
|
48791
|
+
var value=Math.ceil(Math.random()*10)/1000*price;
|
|
48792
|
+
var bUp=Math.ceil(Math.random()*10)>=5;
|
|
48793
|
+
|
|
48794
|
+
if (bUp) price+=value;
|
|
48795
|
+
else price-=value;
|
|
48796
|
+
kItem[5]=price;
|
|
48797
|
+
kItem[3]=Math.max(price, kItem[3]);
|
|
48798
|
+
kItem[4]=Math.min(price, kItem[4]);
|
|
48799
|
+
|
|
48788
48800
|
hqchartData.name=symbol;
|
|
48789
48801
|
hqchartData.symbol=symbol;
|
|
48790
48802
|
callback(hqchartData);
|
|
@@ -17750,8 +17750,16 @@ function KLineFrame()
|
|
|
17750
17750
|
{
|
|
17751
17751
|
var caclWidth=(this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin)+(this.DataWidth + this.DistanceWidth)*(this.XPointCount-1);
|
|
17752
17752
|
var caclWidth2=(this.DataWidth + this.DistanceWidth) * this.XPointCount;
|
|
17753
|
-
if (
|
|
17754
|
-
|
|
17753
|
+
if (this.DataWidth<2)
|
|
17754
|
+
{
|
|
17755
|
+
if (caclWidth2<= width) //当前的柱子宽度够用 就不调整了
|
|
17756
|
+
return;
|
|
17757
|
+
}
|
|
17758
|
+
else
|
|
17759
|
+
{
|
|
17760
|
+
if (caclWidth<= width) //当前的柱子宽度够用 就不调整了
|
|
17761
|
+
return;
|
|
17762
|
+
}
|
|
17755
17763
|
}
|
|
17756
17764
|
|
|
17757
17765
|
this.LastCalculateStatus.Width=width;
|
|
@@ -19526,14 +19534,14 @@ function KLineHScreenFrame()
|
|
|
19526
19534
|
var right=border.BottomEx;
|
|
19527
19535
|
var distanceWidth=this.DistanceWidth;
|
|
19528
19536
|
var dataWidth=this.DataWidth;
|
|
19529
|
-
|
|
19537
|
+
var maxDataCount=10000*50;
|
|
19530
19538
|
if (isLimit==false)
|
|
19531
19539
|
{
|
|
19532
19540
|
if (y<left)
|
|
19533
19541
|
{
|
|
19534
19542
|
var index=-1;
|
|
19535
19543
|
var xPoint=left-(distanceWidth/2+dataWidth+distanceWidth);
|
|
19536
|
-
while(index>-
|
|
19544
|
+
while(index>-maxDataCount)
|
|
19537
19545
|
{
|
|
19538
19546
|
if (xPoint<=y)
|
|
19539
19547
|
break;
|
|
@@ -19547,7 +19555,7 @@ function KLineHScreenFrame()
|
|
|
19547
19555
|
{
|
|
19548
19556
|
var index=0;
|
|
19549
19557
|
var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;
|
|
19550
|
-
while(index<
|
|
19558
|
+
while(index<maxDataCount) //自己算x的数值
|
|
19551
19559
|
{
|
|
19552
19560
|
if (xPoint>=y) break;
|
|
19553
19561
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -19564,7 +19572,7 @@ function KLineHScreenFrame()
|
|
|
19564
19572
|
|
|
19565
19573
|
var index=0;
|
|
19566
19574
|
var xPoint=left+distanceWidth/2+ dataWidth+distanceWidth;
|
|
19567
|
-
while(xPoint<right && index<
|
|
19575
|
+
while(xPoint<right && index<maxDataCount && index+1<this.XPointCount) //自己算x的数值
|
|
19568
19576
|
{
|
|
19569
19577
|
if (xPoint>y) break;
|
|
19570
19578
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -72015,6 +72023,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
72015
72023
|
};
|
|
72016
72024
|
|
|
72017
72025
|
if (IFrameSplitOperator.IsNumber(obj.FloatPrecision)) indexData.FloatPrecision=obj.FloatPrecision;
|
|
72026
|
+
if (IFrameSplitOperator.IsNumber(obj.StringFormat)) indexData.StringFormat=obj.StringFormat;
|
|
72018
72027
|
|
|
72019
72028
|
var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
|
|
72020
72029
|
scriptIndex.OverlayIndex={ IsOverlay:true, Identify:overlayFrame.Identify, WindowIndex:windowIndex, Frame:overlayFrame }; //叠加指标信息
|
|
@@ -115072,6 +115081,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
115072
115081
|
if (titleData)
|
|
115073
115082
|
{
|
|
115074
115083
|
if (this.FloatPrecision>=0) titleData.FloatPrecision=this.FloatPrecision;
|
|
115084
|
+
if (IFrameSplitOperator.IsNumber(this.StringFormat)) titleData.StringFormat=this.StringFormat;
|
|
115075
115085
|
}
|
|
115076
115086
|
}
|
|
115077
115087
|
|
|
@@ -129594,7 +129604,7 @@ function HQChartScriptWorker()
|
|
|
129594
129604
|
|
|
129595
129605
|
|
|
129596
129606
|
|
|
129597
|
-
var HQCHART_VERSION="1.1.
|
|
129607
|
+
var HQCHART_VERSION="1.1.12569";
|
|
129598
129608
|
|
|
129599
129609
|
function PrintHQChartVersion()
|
|
129600
129610
|
{
|