hqchart 1.1.12540 → 1.1.12549
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.vue.js +35 -21
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +2 -1
- package/src/jscommon/umychart.js +306 -6
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +309 -8
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +309 -8
- package/src/jscommon/umychart.wechat/umychart.index.data.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +13 -1
|
@@ -5011,6 +5011,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5011
5011
|
|
|
5012
5012
|
if (item.TopSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace;
|
|
5013
5013
|
if (item.BottomSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace;
|
|
5014
|
+
|
|
5015
|
+
//是否显示关闭集合竞价按钮
|
|
5016
|
+
if (IFrameSplitOperator.IsNumber(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
|
|
5014
5017
|
}
|
|
5015
5018
|
|
|
5016
5019
|
chart.UpdateXShowText();
|
|
@@ -24587,6 +24590,14 @@ ChartData.IsSecondPeriod=function(period)
|
|
|
24587
24590
|
return false;
|
|
24588
24591
|
}
|
|
24589
24592
|
|
|
24593
|
+
var CUSTOM_MILLISECOND_PERIOD_START=40000, CUSTOM_MILLISECOND_PERIOD_END=60000;
|
|
24594
|
+
ChartData.IsMilliSecondPeriod=function(period)
|
|
24595
|
+
{
|
|
24596
|
+
if (period>CUSTOM_MILLISECOND_PERIOD_START && period<=CUSTOM_MILLISECOND_PERIOD_END) return true;
|
|
24597
|
+
return false;
|
|
24598
|
+
}
|
|
24599
|
+
|
|
24600
|
+
|
|
24590
24601
|
|
|
24591
24602
|
//是否是分笔图 10=分笔
|
|
24592
24603
|
ChartData.IsTickPeriod=function(period)
|
|
@@ -51027,6 +51038,11 @@ function HQDateStringFormat()
|
|
|
51027
51038
|
var time = IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS');
|
|
51028
51039
|
this.Text = this.Text + " " + time;
|
|
51029
51040
|
}
|
|
51041
|
+
else if (ChartData.IsMilliSecondPeriod(this.Data.Period))
|
|
51042
|
+
{
|
|
51043
|
+
var time = IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS.fff');
|
|
51044
|
+
this.Text = this.Text + " " + time;
|
|
51045
|
+
}
|
|
51030
51046
|
else if (ChartData.IsTickPeriod(this.Data.Period)) //分笔
|
|
51031
51047
|
{
|
|
51032
51048
|
var time = IFrameSplitOperator.FormatTimeString(currentData.Time);
|
|
@@ -52129,6 +52145,11 @@ function DynamicKLineTitlePainting()
|
|
|
52129
52145
|
var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS");
|
|
52130
52146
|
aryText.push({ Text:text, Color:this.DateTimeColor });
|
|
52131
52147
|
}
|
|
52148
|
+
else if (ChartData.IsMilliSecondPeriod(self.Period) && IFrameSplitOperator.IsNumber(item.Time))
|
|
52149
|
+
{
|
|
52150
|
+
var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS.fff");
|
|
52151
|
+
aryText.push({ Text:text, Color:this.DateTimeColor });
|
|
52152
|
+
}
|
|
52132
52153
|
else if (isTickPeriod)
|
|
52133
52154
|
{
|
|
52134
52155
|
var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS");
|
|
@@ -55404,6 +55425,32 @@ function IChartDrawPicture()
|
|
|
55404
55425
|
this.Canvas.restore();
|
|
55405
55426
|
}
|
|
55406
55427
|
|
|
55428
|
+
this.DrawArrow=function(ptStart,ptEnd)
|
|
55429
|
+
{
|
|
55430
|
+
//计算箭头
|
|
55431
|
+
var theta=35; //三角斜边一直线夹角
|
|
55432
|
+
var headlen=10; //三角斜边长度
|
|
55433
|
+
var angle = Math.atan2(ptStart.Y - ptEnd.Y, ptStart.X - ptEnd.X) * 180 / Math.PI,
|
|
55434
|
+
angle1 = (angle + theta) * Math.PI / 180,
|
|
55435
|
+
angle2 = (angle - theta) * Math.PI / 180,
|
|
55436
|
+
topX = headlen * Math.cos(angle1),
|
|
55437
|
+
topY = headlen * Math.sin(angle1),
|
|
55438
|
+
botX = headlen * Math.cos(angle2),
|
|
55439
|
+
botY = headlen * Math.sin(angle2);
|
|
55440
|
+
|
|
55441
|
+
this.Canvas.beginPath();
|
|
55442
|
+
var arrowX = ptEnd.X + topX;
|
|
55443
|
+
var arrowY = ptEnd.Y + topY;
|
|
55444
|
+
this.Canvas.moveTo(arrowX,arrowY);
|
|
55445
|
+
|
|
55446
|
+
this.Canvas.lineTo(ptEnd.X, ptEnd.Y);
|
|
55447
|
+
|
|
55448
|
+
arrowX = ptEnd.X + botX;
|
|
55449
|
+
arrowY = ptEnd.Y + botY;
|
|
55450
|
+
this.Canvas.lineTo(arrowX,arrowY);
|
|
55451
|
+
this.Canvas.stroke();
|
|
55452
|
+
}
|
|
55453
|
+
|
|
55407
55454
|
//计算2个点线的,左右的延长线的点
|
|
55408
55455
|
this.CalculateExtendLinePoint=function(ptStart,ptEnd)
|
|
55409
55456
|
{
|
|
@@ -56118,7 +56165,9 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
56118
56165
|
{ Name:"PriceNote", ClassName:"ChartDrawPriceNote", Create:function() { return new ChartDrawPriceNote();} },
|
|
56119
56166
|
{ Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }},
|
|
56120
56167
|
{ Name:"FibRetracement", ClassName:"ChartFibRetracement", Create:function() { return new ChartFibRetracement(); }}, //斐波那契回测
|
|
56121
|
-
{ Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }} //斐波那契扇形
|
|
56168
|
+
{ Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }}, //斐波那契扇形
|
|
56169
|
+
{ Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
|
|
56170
|
+
{ Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }}
|
|
56122
56171
|
];
|
|
56123
56172
|
|
|
56124
56173
|
IChartDrawPicture.MapIonFont=new Map(
|
|
@@ -64127,6 +64176,239 @@ function ChartFibSpeedResistanceFan()
|
|
|
64127
64176
|
|
|
64128
64177
|
}
|
|
64129
64178
|
|
|
64179
|
+
|
|
64180
|
+
function ChartPriceRange()
|
|
64181
|
+
{
|
|
64182
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
64183
|
+
this.newMethod();
|
|
64184
|
+
delete this.newMethod;
|
|
64185
|
+
|
|
64186
|
+
this.ClassName='ChartPriceRange';
|
|
64187
|
+
this.PointCount=2;
|
|
64188
|
+
this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
64189
|
+
this.TextColor=this.LineColor;
|
|
64190
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
64191
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
64192
|
+
this.PointToValue_Default=this.PointToValue;
|
|
64193
|
+
this.OnlyMoveXIndex=true;
|
|
64194
|
+
this.IsSupportMagnet=true;
|
|
64195
|
+
this.LineWidth=1;
|
|
64196
|
+
this.EnableBGColor=true;
|
|
64197
|
+
this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);
|
|
64198
|
+
this.ExtendLine={ Left:false, Right: false }; //延长线
|
|
64199
|
+
|
|
64200
|
+
this.Label={ TextColor:"rgb(0,0,0)", BGColor:"rgb(211,211,211)", EnableBGColor:true, LeftMargin:5, RightMargin:5 };
|
|
64201
|
+
|
|
64202
|
+
this.Draw=function()
|
|
64203
|
+
{
|
|
64204
|
+
this.LinePoint=[];
|
|
64205
|
+
if (this.IsFrameMinSize()) return;
|
|
64206
|
+
var bCheckXY=true;
|
|
64207
|
+
if (this.ExtendLine.Left || this.ExtendLine.Right) bCheckXY=false;
|
|
64208
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
|
|
64209
|
+
if (!drawPoint) return;
|
|
64210
|
+
if (drawPoint.length!=2) return;
|
|
64211
|
+
|
|
64212
|
+
this.ClipFrame();
|
|
64213
|
+
|
|
64214
|
+
var ptStart=drawPoint[0];
|
|
64215
|
+
var ptEnd=drawPoint[1];
|
|
64216
|
+
|
|
64217
|
+
this.SetLineWidth();
|
|
64218
|
+
this.DrawRange(ptStart,ptEnd);
|
|
64219
|
+
this.RestoreLineWidth();
|
|
64220
|
+
|
|
64221
|
+
this.DrawPoint(drawPoint); //画点
|
|
64222
|
+
this.Canvas.restore();
|
|
64223
|
+
}
|
|
64224
|
+
|
|
64225
|
+
this.DrawRange=function(ptStart, ptEnd)
|
|
64226
|
+
{
|
|
64227
|
+
var yTop=Math.min(ptStart.Y, ptEnd.Y);
|
|
64228
|
+
var yBottom=Math.max(ptStart.Y, ptEnd.Y);
|
|
64229
|
+
var xLeft=Math.min(ptStart.X, ptEnd.X);
|
|
64230
|
+
var xRight=Math.max(ptStart.X, ptEnd.X);
|
|
64231
|
+
var height=yBottom-yTop;
|
|
64232
|
+
var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;
|
|
64233
|
+
|
|
64234
|
+
if (this.ExtendLine.Right) xRight=this.Frame.ChartBorder.GetRight();
|
|
64235
|
+
if (this.ExtendLine.Left) xLeft=this.Frame.ChartBorder.GetLeft();
|
|
64236
|
+
|
|
64237
|
+
if (this.EnableBGColor)
|
|
64238
|
+
{
|
|
64239
|
+
var rtBG={ Left:xLeft, Top:yTop, Right:xRight, Bottom:yBottom };
|
|
64240
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
64241
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
64242
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
64243
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
64244
|
+
}
|
|
64245
|
+
|
|
64246
|
+
|
|
64247
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
64248
|
+
this.Canvas.beginPath();
|
|
64249
|
+
this.Canvas.moveTo(xLeft,ToFixedPoint(yTop));
|
|
64250
|
+
this.Canvas.lineTo(xRight,ToFixedPoint(yTop));
|
|
64251
|
+
|
|
64252
|
+
this.Canvas.moveTo(xLeft,ToFixedPoint(yBottom));
|
|
64253
|
+
this.Canvas.lineTo(xRight,ToFixedPoint(yBottom));
|
|
64254
|
+
|
|
64255
|
+
this.Canvas.moveTo(ToFixedPoint(xCenter),ToFixedPoint(yTop));
|
|
64256
|
+
this.Canvas.lineTo(ToFixedPoint(xCenter),ToFixedPoint(yBottom));
|
|
64257
|
+
this.Canvas.stroke();
|
|
64258
|
+
|
|
64259
|
+
this.LinePoint.push({ Start:{X:xLeft, Y:yTop}, End:{X:xRight, Y:yTop} });
|
|
64260
|
+
this.LinePoint.push({ Start:{X:xLeft, Y:yBottom}, End:{X:xRight, Y:yBottom} });
|
|
64261
|
+
this.LinePoint.push({ Start:{X:xCenter, Y:yTop}, End:{X:xCenter, Y:yBottom} });
|
|
64262
|
+
|
|
64263
|
+
this.DrawArrow({X:ToFixedPoint(xCenter), Y:ptStart.Y}, {X:ToFixedPoint(xCenter), Y:ptEnd.Y});
|
|
64264
|
+
|
|
64265
|
+
//文字输出
|
|
64266
|
+
var startValue=this.Frame.GetYData(ptStart.Y,false);
|
|
64267
|
+
var endValue=this.Frame.GetYData(ptEnd.Y,false);
|
|
64268
|
+
var diffValue=endValue-startValue;
|
|
64269
|
+
var rate=(diffValue/startValue)*100;
|
|
64270
|
+
var text=`${diffValue.toFixed(2)} (${rate.toFixed(2)}%)`;
|
|
64271
|
+
|
|
64272
|
+
this.Canvas.font=this.Font;
|
|
64273
|
+
var textHeight=this.GetFontHeight();
|
|
64274
|
+
var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);
|
|
64275
|
+
var rtTextBG={ Left:xCenter-textWidth/2, Width:textWidth, Height:textHeight+2 };
|
|
64276
|
+
if (diffValue>0) rtTextBG.Top=ptEnd.Y-rtTextBG.Height-4;
|
|
64277
|
+
else rtTextBG.Top=ptEnd.Y+4;
|
|
64278
|
+
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
64279
|
+
|
|
64280
|
+
if (this.Label.EnableBGColor)
|
|
64281
|
+
{
|
|
64282
|
+
var path=new Path2D();
|
|
64283
|
+
path.roundRect(ToFixedPoint(rtTextBG.Left), ToFixedPoint(rtTextBG.Top), ToFixedRect(rtTextBG.Width), ToFixedRect(rtTextBG.Height), [3]);
|
|
64284
|
+
this.Canvas.fillStyle=this.Label.BGColor;
|
|
64285
|
+
this.Canvas.fill(path);
|
|
64286
|
+
}
|
|
64287
|
+
|
|
64288
|
+
this.Canvas.fillStyle=this.Label.TextColor;
|
|
64289
|
+
this.Canvas.textAlign="left";
|
|
64290
|
+
this.Canvas.textBaseline="bottom";
|
|
64291
|
+
this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);
|
|
64292
|
+
}
|
|
64293
|
+
|
|
64294
|
+
}
|
|
64295
|
+
|
|
64296
|
+
|
|
64297
|
+
function ChartDateRange()
|
|
64298
|
+
{
|
|
64299
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
64300
|
+
this.newMethod();
|
|
64301
|
+
delete this.newMethod;
|
|
64302
|
+
|
|
64303
|
+
this.ClassName='ChartDateRange';
|
|
64304
|
+
this.PointCount=2;
|
|
64305
|
+
this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
|
|
64306
|
+
this.TextColor=this.LineColor;
|
|
64307
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
64308
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
64309
|
+
this.PointToValue_Default=this.PointToValue;
|
|
64310
|
+
this.OnlyMoveXIndex=true;
|
|
64311
|
+
this.IsSupportMagnet=true;
|
|
64312
|
+
this.LineWidth=1;
|
|
64313
|
+
this.EnableBGColor=true;
|
|
64314
|
+
this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);
|
|
64315
|
+
this.ExtendLine={ Top:false, Bottom: false }; //延长线
|
|
64316
|
+
|
|
64317
|
+
this.Label={ TextColor:"rgb(0,0,0)", BGColor:"rgb(211,211,211)", EnableBGColor:true, LeftMargin:5, RightMargin:5 };
|
|
64318
|
+
|
|
64319
|
+
this.Draw=function()
|
|
64320
|
+
{
|
|
64321
|
+
this.LinePoint=[];
|
|
64322
|
+
if (this.IsFrameMinSize()) return;
|
|
64323
|
+
var bCheckXY=true;
|
|
64324
|
+
var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
|
|
64325
|
+
if (!drawPoint) return;
|
|
64326
|
+
if (drawPoint.length!=2) return;
|
|
64327
|
+
|
|
64328
|
+
this.ClipFrame();
|
|
64329
|
+
|
|
64330
|
+
var ptStart=drawPoint[0];
|
|
64331
|
+
var ptEnd=drawPoint[1];
|
|
64332
|
+
|
|
64333
|
+
this.SetLineWidth();
|
|
64334
|
+
this.DrawRange(ptStart,ptEnd);
|
|
64335
|
+
this.RestoreLineWidth();
|
|
64336
|
+
|
|
64337
|
+
this.DrawPoint(drawPoint); //画点
|
|
64338
|
+
this.Canvas.restore();
|
|
64339
|
+
}
|
|
64340
|
+
|
|
64341
|
+
this.DrawRange=function(ptStart, ptEnd)
|
|
64342
|
+
{
|
|
64343
|
+
var yTop=Math.min(ptStart.Y, ptEnd.Y);
|
|
64344
|
+
var yBottom=Math.max(ptStart.Y, ptEnd.Y);
|
|
64345
|
+
var xLeft=Math.min(ptStart.X, ptEnd.X);
|
|
64346
|
+
var xRight=Math.max(ptStart.X, ptEnd.X);
|
|
64347
|
+
var height=yBottom-yTop;
|
|
64348
|
+
var width=xRight-xLeft;
|
|
64349
|
+
var yCenter=ptStart.Y+(ptEnd.Y-ptStart.Y)/2;
|
|
64350
|
+
var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;
|
|
64351
|
+
|
|
64352
|
+
if (this.ExtendLine.Top) yTop=this.Frame.ChartBorder.GetTopEx();
|
|
64353
|
+
if (this.ExtendLine.Bottom) yBottom=this.Frame.ChartBorder.GetBottomEx();
|
|
64354
|
+
|
|
64355
|
+
if (this.EnableBGColor)
|
|
64356
|
+
{
|
|
64357
|
+
var rtBG={ Left:xLeft, Top:yTop, Right:xRight, Bottom:yBottom };
|
|
64358
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
64359
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
64360
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
64361
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
64362
|
+
}
|
|
64363
|
+
|
|
64364
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
64365
|
+
this.Canvas.beginPath();
|
|
64366
|
+
this.Canvas.moveTo(ToFixedPoint(xLeft),yTop);
|
|
64367
|
+
this.Canvas.lineTo(ToFixedPoint(xLeft),yBottom);
|
|
64368
|
+
|
|
64369
|
+
this.Canvas.moveTo(ToFixedPoint(xRight),yTop);
|
|
64370
|
+
this.Canvas.lineTo(ToFixedPoint(xRight),yBottom);
|
|
64371
|
+
|
|
64372
|
+
this.Canvas.moveTo(ToFixedPoint(xLeft),ToFixedPoint(yCenter));
|
|
64373
|
+
this.Canvas.lineTo(ToFixedPoint(xRight),ToFixedPoint(yCenter));
|
|
64374
|
+
this.Canvas.stroke();
|
|
64375
|
+
|
|
64376
|
+
this.LinePoint.push({ Start:{X:xLeft, Y:yTop}, End:{X:xLeft, Y:yBottom} });
|
|
64377
|
+
this.LinePoint.push({ Start:{X:xRight, Y:yTop}, End:{X:xRight, Y:yBottom} });
|
|
64378
|
+
this.LinePoint.push({ Start:{X:xLeft, Y:yCenter}, End:{X:xRight, Y:yCenter} });
|
|
64379
|
+
|
|
64380
|
+
this.DrawArrow({X:ptStart.X, Y:ToFixedPoint(yCenter)}, {X:ptEnd.X, Y:ToFixedPoint(yCenter)});
|
|
64381
|
+
|
|
64382
|
+
|
|
64383
|
+
//文字输出
|
|
64384
|
+
var startIndex=this.Frame.GetXData(ptStart.X,false);
|
|
64385
|
+
var endIndex=this.Frame.GetXData(ptEnd.X,false);
|
|
64386
|
+
var barCount=endIndex-startIndex+1;
|
|
64387
|
+
var text=`${barCount} bars`;
|
|
64388
|
+
|
|
64389
|
+
this.Canvas.font=this.Font;
|
|
64390
|
+
var textHeight=this.GetFontHeight();
|
|
64391
|
+
var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);
|
|
64392
|
+
var rtTextBG={ Left:xCenter-textWidth/2, Top:ptEnd.Y+4, Width:textWidth, Height:textHeight+2 };
|
|
64393
|
+
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
64394
|
+
|
|
64395
|
+
if (this.Label.EnableBGColor)
|
|
64396
|
+
{
|
|
64397
|
+
var path=new Path2D();
|
|
64398
|
+
path.roundRect(ToFixedPoint(rtTextBG.Left), ToFixedPoint(rtTextBG.Top), ToFixedRect(rtTextBG.Width), ToFixedRect(rtTextBG.Height), [3]);
|
|
64399
|
+
this.Canvas.fillStyle=this.Label.BGColor;
|
|
64400
|
+
this.Canvas.fill(path);
|
|
64401
|
+
}
|
|
64402
|
+
|
|
64403
|
+
this.Canvas.fillStyle=this.Label.TextColor;
|
|
64404
|
+
this.Canvas.textAlign="left";
|
|
64405
|
+
this.Canvas.textBaseline="bottom";
|
|
64406
|
+
this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);
|
|
64407
|
+
|
|
64408
|
+
}
|
|
64409
|
+
}
|
|
64410
|
+
|
|
64411
|
+
|
|
64130
64412
|
function ChartDrawStorage()
|
|
64131
64413
|
{
|
|
64132
64414
|
this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{Guid, Symbol, Period, ClassName, Value}
|
|
@@ -69542,6 +69824,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69542
69824
|
if (ChartData.IsDayPeriod(self.Period,true)) self.RecvRealtimeData(data);
|
|
69543
69825
|
else if (ChartData.IsMinutePeriod(self.Period,true)) self.RecvMinuteRealtimeData(data);
|
|
69544
69826
|
else if (ChartData.IsSecondPeriod(self.Period)) self.RecvMinuteRealtimeData(data);
|
|
69827
|
+
else if (ChartData.IsMilliSecondPeriod(self.Period)) self.RecvMinuteRealtimeData(data);
|
|
69545
69828
|
}
|
|
69546
69829
|
}
|
|
69547
69830
|
event.Callback(event,data,this);
|
|
@@ -71046,10 +71329,12 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71046
71329
|
if (this.SourceData.DataType!=0) isDataTypeChange=true;
|
|
71047
71330
|
}
|
|
71048
71331
|
else if ((period>CUSTOM_MINUTE_PERIOD_START && period<=CUSTOM_MINUTE_PERIOD_END) ||
|
|
71049
|
-
(period>CUSTOM_SECOND_PERIOD_START && period<=CUSTOM_SECOND_PERIOD_END)
|
|
71332
|
+
(period>CUSTOM_SECOND_PERIOD_START && period<=CUSTOM_SECOND_PERIOD_END) ||
|
|
71333
|
+
(period>CUSTOM_MILLISECOND_PERIOD_START && period<=CUSTOM_MILLISECOND_PERIOD_END) )
|
|
71050
71334
|
{
|
|
71051
71335
|
if (this.SourceData.DataType!=1) isDataTypeChange=true;
|
|
71052
71336
|
else if (ChartData.IsSecondPeriod(period)) isDataTypeChange=true;
|
|
71337
|
+
else if (ChartData.IsMilliSecondPeriod(period)) isDataTypeChange=true;
|
|
71053
71338
|
}
|
|
71054
71339
|
else
|
|
71055
71340
|
{
|
|
@@ -71126,7 +71411,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71126
71411
|
this.RequestHistoryData(); //请求日线数据
|
|
71127
71412
|
//this.ReqeustKLineInfoData();
|
|
71128
71413
|
}
|
|
71129
|
-
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
|
|
71414
|
+
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
71130
71415
|
{
|
|
71131
71416
|
this.CancelAutoUpdate(); //先停止定时器
|
|
71132
71417
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod'); //切换周期先停止更新
|
|
@@ -71175,7 +71460,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71175
71460
|
this.ResetScrollBar();
|
|
71176
71461
|
this.RequestHistoryData(); //请求日线数据
|
|
71177
71462
|
}
|
|
71178
|
-
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
|
|
71463
|
+
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
71179
71464
|
{
|
|
71180
71465
|
this.CancelAutoUpdate(); //先停止定时器
|
|
71181
71466
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight'); //切换复权先停止更新
|
|
@@ -71661,7 +71946,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71661
71946
|
this.ResetOverlaySymbolStatus();
|
|
71662
71947
|
this.RequestHistoryData(); //请求日线数据
|
|
71663
71948
|
}
|
|
71664
|
-
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
|
|
71949
|
+
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
71665
71950
|
{
|
|
71666
71951
|
this.ResetOverlaySymbolStatus();
|
|
71667
71952
|
this.ReqeustHistoryMinuteData(); //请求分钟数据
|
|
@@ -72508,7 +72793,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
72508
72793
|
this.RequestHistoryData(); //请求日线数据
|
|
72509
72794
|
//this.ReqeustKLineInfoData();
|
|
72510
72795
|
}
|
|
72511
|
-
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
|
|
72796
|
+
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
72512
72797
|
{
|
|
72513
72798
|
this.ReqeustHistoryMinuteData(); //请求分钟数据
|
|
72514
72799
|
}
|
|
@@ -75165,6 +75450,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
75165
75450
|
|
|
75166
75451
|
this.DayOffset={ Offset:0, ShowDayCount:-1, DataOffset:0, DayCount:1, }; //Offset 日期偏移 , DataOffset数据偏移
|
|
75167
75452
|
this.PageInfo={ Enable:false, Offset:-8888, ShowDayCount:4 }; //分页配置
|
|
75453
|
+
this.DataStatus={ MultiDay:false, LatestDay:false }; //MultiDay=多日 LatestDay:当天
|
|
75168
75454
|
|
|
75169
75455
|
this.ZoomStepPixel=50;
|
|
75170
75456
|
|
|
@@ -77532,6 +77818,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77532
77818
|
this.DayOffset.PageInfo=null;
|
|
77533
77819
|
}
|
|
77534
77820
|
|
|
77821
|
+
this.ResetDataStatus=function()
|
|
77822
|
+
{
|
|
77823
|
+
this.DataStatus.MultiDay=false;
|
|
77824
|
+
this.DataStatus.LatestDay=false;
|
|
77825
|
+
}
|
|
77826
|
+
|
|
77535
77827
|
//切换股票代码
|
|
77536
77828
|
this.ChangeSymbol=function(symbol,option)
|
|
77537
77829
|
{
|
|
@@ -77540,6 +77832,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77540
77832
|
this.AutoUpdateEvent(false, "MinuteChartContainer::ChangeSymbol");
|
|
77541
77833
|
this.Symbol=symbol;
|
|
77542
77834
|
this.ResetDayOffset();
|
|
77835
|
+
this.ResetDataStatus();
|
|
77543
77836
|
this.ClearIndexPaint(); //清空指标
|
|
77544
77837
|
this.ResetOverlaySymbolStatus();
|
|
77545
77838
|
this.ReloadChartDrawPicture();
|
|
@@ -77641,6 +77934,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77641
77934
|
{
|
|
77642
77935
|
this.ReloadChartDrawPicture();
|
|
77643
77936
|
}
|
|
77937
|
+
|
|
77938
|
+
this.ResetDataStatus();
|
|
77644
77939
|
this.ClearIndexPaint(); //清空指标
|
|
77645
77940
|
this.ResetOverlaySymbolStatus();
|
|
77646
77941
|
this.RequestData();
|
|
@@ -77921,6 +78216,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77921
78216
|
this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);
|
|
77922
78217
|
this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);
|
|
77923
78218
|
var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);
|
|
78219
|
+
|
|
78220
|
+
this.DataStatus.MultiDay=true;
|
|
78221
|
+
|
|
77924
78222
|
this.CaclutateCallCationYRange();
|
|
77925
78223
|
this.Symbol=data.symbol;
|
|
77926
78224
|
this.Name=data.name;
|
|
@@ -78498,6 +78796,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78498
78796
|
|
|
78499
78797
|
if (this.IsBeforeData) this.BeforeOpenData=beforeOpenData;
|
|
78500
78798
|
if (this.IsAfterData) this.AfterCloseData=afterCloseData;
|
|
78799
|
+
|
|
78800
|
+
this.DataStatus.LatestDay=true;
|
|
78501
78801
|
|
|
78502
78802
|
if (this.DayCount>1) //多日走势图
|
|
78503
78803
|
{
|
|
@@ -116186,7 +116486,8 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
116186
116486
|
}
|
|
116187
116487
|
else
|
|
116188
116488
|
{
|
|
116189
|
-
|
|
116489
|
+
if (this.IsSync===false) //同步的指标不用刷新
|
|
116490
|
+
hqChart.Draw();
|
|
116190
116491
|
}
|
|
116191
116492
|
|
|
116192
116493
|
if (hqChart.GetIndexEvent)
|
|
@@ -129069,7 +129370,7 @@ function ScrollBarBGChart()
|
|
|
129069
129370
|
|
|
129070
129371
|
|
|
129071
129372
|
|
|
129072
|
-
var HQCHART_VERSION="1.1.
|
|
129373
|
+
var HQCHART_VERSION="1.1.12541";
|
|
129073
129374
|
|
|
129074
129375
|
function PrintHQChartVersion()
|
|
129075
129376
|
{
|