hqchart 1.1.12459 → 1.1.12470
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 +1 -1
- package/lib/umychart.vue.js +65 -66
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +4 -4
- package/src/jscommon/umychart.complier.js +15 -0
- package/src/jscommon/umychart.js +217 -69
- package/src/jscommon/umychart.testdata/60000.sh.5day.minute.js +4 -4
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +233 -70
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +4 -4
- package/src/jscommon/umychart.vue/umychart.vue.js +233 -70
- package/src/jscommon/umychart.wechat/umychart.charttitle.wechat.js +3 -0
- package/src/jscommon/umychart.wechat/umychart.coordinatedata.wechat.js +4 -0
- package/src/jscommon/umychart.wechat/umychart.extendchart.wechat.js +2 -0
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +13 -20
|
@@ -9149,6 +9149,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9149
9149
|
{
|
|
9150
9150
|
this.ChartCorssCursor.LastPoint=this.LastPoint;
|
|
9151
9151
|
this.ChartCorssCursor.CursorIndex=this.CursorIndex;
|
|
9152
|
+
if (this.EnableNewIndex)
|
|
9153
|
+
{
|
|
9154
|
+
this.ChartCorssCursor.CorssCursorIndex=this.CorssCursorIndex;
|
|
9155
|
+
this.ChartCorssCursor.EnableNewIndex=this.EnableNewIndex;
|
|
9156
|
+
}
|
|
9152
9157
|
|
|
9153
9158
|
var bRestoreCanvas=false;
|
|
9154
9159
|
if (this.CorssCursorCanvas) //独立的十字光标层
|
|
@@ -9511,6 +9516,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9511
9516
|
{
|
|
9512
9517
|
this.ChartCorssCursor.LastPoint=this.LastPoint;
|
|
9513
9518
|
this.ChartCorssCursor.CursorIndex=this.CursorIndex;
|
|
9519
|
+
if (this.EnableNewIndex)
|
|
9520
|
+
{
|
|
9521
|
+
this.ChartCorssCursor.CorssCursorIndex=this.CorssCursorIndex;
|
|
9522
|
+
this.ChartCorssCursor.EnableNewIndex=this.EnableNewIndex;
|
|
9523
|
+
}
|
|
9514
9524
|
|
|
9515
9525
|
var bRestoreCanvas=false;
|
|
9516
9526
|
if (this.CorssCursorCanvas) //独立的十字光标层
|
|
@@ -12562,6 +12572,30 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12562
12572
|
|
|
12563
12573
|
return aryData;
|
|
12564
12574
|
}
|
|
12575
|
+
|
|
12576
|
+
//重置指标计数器
|
|
12577
|
+
this.ClearIndexRunCount=function()
|
|
12578
|
+
{
|
|
12579
|
+
//主图指标
|
|
12580
|
+
for(var i=0;i<this.WindowIndex.length;++i)
|
|
12581
|
+
{
|
|
12582
|
+
var item=this.WindowIndex[i];
|
|
12583
|
+
if (!item) continue;
|
|
12584
|
+
|
|
12585
|
+
item.RunCount=0;
|
|
12586
|
+
}
|
|
12587
|
+
|
|
12588
|
+
//叠加指标
|
|
12589
|
+
for(var i=0;i<this.Frame.SubFrame.length;++i)
|
|
12590
|
+
{
|
|
12591
|
+
var item=this.Frame.SubFrame[i];
|
|
12592
|
+
for(var j=0; j<item.OverlayIndex.length; ++j)
|
|
12593
|
+
{
|
|
12594
|
+
var overlayItem=item.OverlayIndex[j];
|
|
12595
|
+
if (overlayItem.Script) overlayItem.Script.RunCount=0;
|
|
12596
|
+
}
|
|
12597
|
+
}
|
|
12598
|
+
}
|
|
12565
12599
|
}
|
|
12566
12600
|
|
|
12567
12601
|
function GetDevicePixelRatio()
|
|
@@ -42139,10 +42173,13 @@ function MinuteTooltipPaint()
|
|
|
42139
42173
|
}
|
|
42140
42174
|
|
|
42141
42175
|
var upperSymbol;
|
|
42142
|
-
this.YClose=this.TitlePaint.YClose;
|
|
42143
|
-
this.YClose=item.YClose;
|
|
42144
42176
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42177
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
42145
42178
|
var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
|
|
42179
|
+
|
|
42180
|
+
this.YClose=this.TitlePaint.YClose;
|
|
42181
|
+
this.YClose=item.YClose;
|
|
42182
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42146
42183
|
|
|
42147
42184
|
var aryText=[];
|
|
42148
42185
|
var result={ AryText:aryText };
|
|
@@ -42477,9 +42514,11 @@ function MinuteLeftTooltipPaint()
|
|
|
42477
42514
|
if (!drawData || !drawData.Data) return null;
|
|
42478
42515
|
|
|
42479
42516
|
var aryText=[];
|
|
42517
|
+
var isFutures=false;
|
|
42480
42518
|
var upperSymbol;
|
|
42481
42519
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42482
42520
|
var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
|
|
42521
|
+
if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
42483
42522
|
|
|
42484
42523
|
if (drawData.Type==0) //连续交易
|
|
42485
42524
|
{
|
|
@@ -42487,6 +42526,7 @@ function MinuteLeftTooltipPaint()
|
|
|
42487
42526
|
if (!item) return;
|
|
42488
42527
|
|
|
42489
42528
|
this.YClose=item.YClose;
|
|
42529
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42490
42530
|
var titleItem=this.FormatDate(item.Date);
|
|
42491
42531
|
if (titleItem) aryText.push(titleItem);
|
|
42492
42532
|
|
|
@@ -42524,6 +42564,7 @@ function MinuteLeftTooltipPaint()
|
|
|
42524
42564
|
if (!item) return;
|
|
42525
42565
|
|
|
42526
42566
|
this.YClose=item.YClose;
|
|
42567
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42527
42568
|
var titleItem=this.FormatDate(item.Date);
|
|
42528
42569
|
if (titleItem) aryText.push(titleItem);
|
|
42529
42570
|
|
|
@@ -49144,6 +49185,9 @@ function ChartCorssCursor()
|
|
|
49144
49185
|
this.IsFixXLastTime=false; //是否修正X轴,超出当前时间的,X轴调整到当前最后的时间.
|
|
49145
49186
|
this.IsDrawXRangeBG=false; //是否绘制十字光标背景
|
|
49146
49187
|
|
|
49188
|
+
this.EnableNewIndex=false; //分时图是否使用最新的索引结构 (由外部chart容器传入)
|
|
49189
|
+
this.CorssCursorIndex; //分时图新版本的索引结构 (由外部chart容器传入)
|
|
49190
|
+
|
|
49147
49191
|
this.PointX;
|
|
49148
49192
|
this.PointY;
|
|
49149
49193
|
|
|
@@ -49201,20 +49245,34 @@ function ChartCorssCursor()
|
|
|
49201
49245
|
|
|
49202
49246
|
this.GetMinuteCloseYPoint=function(index)
|
|
49203
49247
|
{
|
|
49204
|
-
if (
|
|
49205
|
-
|
|
49206
|
-
|
|
49207
|
-
|
|
49208
|
-
|
|
49209
|
-
|
|
49210
|
-
|
|
49211
|
-
|
|
49248
|
+
if (this.EnableNewIndex && this.CorssCursorIndex)
|
|
49249
|
+
{
|
|
49250
|
+
if (!this.StringFormatX || !this.StringFormatX.GetMinuteCloseYPoint) return null;
|
|
49251
|
+
|
|
49252
|
+
var closeData=this.StringFormatX.GetMinuteCloseYPoint(this.CorssCursorIndex);
|
|
49253
|
+
if (!closeData) return null;
|
|
49254
|
+
|
|
49255
|
+
this.Close=closeData.Price;
|
|
49256
|
+
return closeData.Y;
|
|
49257
|
+
}
|
|
49258
|
+
else
|
|
49259
|
+
{
|
|
49212
49260
|
|
|
49213
|
-
|
|
49214
|
-
|
|
49215
|
-
|
|
49216
|
-
|
|
49217
|
-
|
|
49261
|
+
if (!IFrameSplitOperator.IsNumber(index)) return null;
|
|
49262
|
+
index=parseInt(index);
|
|
49263
|
+
if (!this.StringFormatX.Data) return null;
|
|
49264
|
+
var data = this.StringFormatX.Data;
|
|
49265
|
+
if (!data.Data || data.Data.length <= 0) return null;
|
|
49266
|
+
var dataIndex = data.DataOffset + index;
|
|
49267
|
+
if (dataIndex >= data.Data.length) dataIndex = data.Data.length - 1;
|
|
49268
|
+
if (dataIndex < 0) return null;
|
|
49269
|
+
|
|
49270
|
+
var close = data.Data[dataIndex];
|
|
49271
|
+
if (!IFrameSplitOperator.IsNumber(index)) return null;
|
|
49272
|
+
this.Close=close;
|
|
49273
|
+
var yPoint = this.Frame.GetYFromData(this.Close);
|
|
49274
|
+
return yPoint;
|
|
49275
|
+
}
|
|
49218
49276
|
}
|
|
49219
49277
|
|
|
49220
49278
|
this.GetDateTimeRange=function(index, option)
|
|
@@ -50881,6 +50939,7 @@ function HQMinuteTimeStringFormat()
|
|
|
50881
50939
|
this.newMethod();
|
|
50882
50940
|
delete this.newMethod;
|
|
50883
50941
|
|
|
50942
|
+
this.ClassName="HQMinuteTimeStringFormat";
|
|
50884
50943
|
this.Frame;
|
|
50885
50944
|
this.Symbol;
|
|
50886
50945
|
this.Point;
|
|
@@ -51012,6 +51071,88 @@ function HQMinuteTimeStringFormat()
|
|
|
51012
51071
|
|
|
51013
51072
|
return true;
|
|
51014
51073
|
}
|
|
51074
|
+
|
|
51075
|
+
this.GetMinuteCloseYPoint=function(cursorIndexData)
|
|
51076
|
+
{
|
|
51077
|
+
var type=cursorIndexData.Type;
|
|
51078
|
+
if (type==1 || type==2 || type==3) //单日 1=主图 2=盘前 3=盘后
|
|
51079
|
+
{
|
|
51080
|
+
if (type==1)
|
|
51081
|
+
{
|
|
51082
|
+
if (!this.Data || this.Data.Data.length <= 0) return null;
|
|
51083
|
+
var index=cursorIndexData.DataIndex;
|
|
51084
|
+
if (index<0 || index>=this.Data.Data.length) index=this.Data.Data.length-1;
|
|
51085
|
+
|
|
51086
|
+
var close = this.Data.Data[index];
|
|
51087
|
+
var yPoint = this.Frame.GetYFromData(close);
|
|
51088
|
+
return { Price:close, Y:yPoint };
|
|
51089
|
+
}
|
|
51090
|
+
else if (type==2)
|
|
51091
|
+
{
|
|
51092
|
+
if (!this.BeforeOpenData || !this.BeforeOpenData.Data) return false;
|
|
51093
|
+
if (cursorIndexData.DataIndex<0 || cursorIndexData.DataIndex>=this.BeforeOpenData.Data.length) return null;
|
|
51094
|
+
var item=this.BeforeOpenData.Data[cursorIndexData.DataIndex];
|
|
51095
|
+
|
|
51096
|
+
var close=item.Price;
|
|
51097
|
+
var yPoint = this.Frame.GetYFromData(close);
|
|
51098
|
+
return { Price:close, Y:yPoint };
|
|
51099
|
+
}
|
|
51100
|
+
else if (type==3)
|
|
51101
|
+
{
|
|
51102
|
+
if (!this.AfterCloseData || !this.AfterCloseData.Data) return false;
|
|
51103
|
+
if (cursorIndexData.DataIndex<0 || cursorIndexData.DataIndex>=this.AfterCloseData.Data.length) return null;
|
|
51104
|
+
var item=this.AfterCloseData.Data[cursorIndexData.DataIndex];
|
|
51105
|
+
|
|
51106
|
+
var close=item.Price;
|
|
51107
|
+
var yPoint = this.Frame.GetYFromData(close);
|
|
51108
|
+
return { Price:close, Y:yPoint };
|
|
51109
|
+
}
|
|
51110
|
+
}
|
|
51111
|
+
else if (type==10 || type==20 || type==30) //多日 10=主图 20=盘前 30=盘后
|
|
51112
|
+
{
|
|
51113
|
+
if (type==10)
|
|
51114
|
+
{
|
|
51115
|
+
if (!this.Data || this.Data.Data.length <= 0) return null;
|
|
51116
|
+
var index=this.Frame.MinuteCount*cursorIndexData.DayIndex+cursorIndexData.DataIndex;
|
|
51117
|
+
if (index<0 || index>=this.Data.Data.length) index=this.Data.Data.length-1;
|
|
51118
|
+
|
|
51119
|
+
var close = this.Data.Data[index];
|
|
51120
|
+
var yPoint = this.Frame.GetYFromData(close);
|
|
51121
|
+
return { Price:close, Y:yPoint };
|
|
51122
|
+
}
|
|
51123
|
+
else if (type==20)
|
|
51124
|
+
{
|
|
51125
|
+
var multiDayBeforeOpenData=this.GetMultiDayBeforeOpenData();
|
|
51126
|
+
if (!multiDayBeforeOpenData) return null;
|
|
51127
|
+
if (cursorIndexData.DayIndex<0 || cursorIndexData.DayIndex>=multiDayBeforeOpenData.length) return null;
|
|
51128
|
+
|
|
51129
|
+
var dayItem=multiDayBeforeOpenData[cursorIndexData.DayIndex];
|
|
51130
|
+
if (cursorIndexData.DataIndex<0 || cursorIndexData.DataIndex>=dayItem.Data.length) return null;
|
|
51131
|
+
var item=dayItem.Data[cursorIndexData.DataIndex];
|
|
51132
|
+
|
|
51133
|
+
var close=item.Price;
|
|
51134
|
+
var yPoint = this.Frame.GetYFromData(close);
|
|
51135
|
+
return { Price:close, Y:yPoint };
|
|
51136
|
+
}
|
|
51137
|
+
else if (type==30)
|
|
51138
|
+
{
|
|
51139
|
+
var multiDayAfterCloseData=this.GetMultiDayAfterCloseData();
|
|
51140
|
+
if (!multiDayAfterCloseData) return null;
|
|
51141
|
+
if (cursorIndexData.DayIndex<0 || cursorIndexData.DayIndex>=multiDayAfterCloseData.length) return null;
|
|
51142
|
+
|
|
51143
|
+
var dayItem=multiDayAfterCloseData[cursorIndexData.DayIndex];
|
|
51144
|
+
if (cursorIndexData.DataIndex<0 || cursorIndexData.DataIndex>=dayItem.Data.length) return null;
|
|
51145
|
+
var item=dayItem.Data[cursorIndexData.DataIndex];
|
|
51146
|
+
|
|
51147
|
+
var close=item.Price;
|
|
51148
|
+
var yPoint = this.Frame.GetYFromData(close);
|
|
51149
|
+
return { Price:close, Y:yPoint };
|
|
51150
|
+
}
|
|
51151
|
+
}
|
|
51152
|
+
|
|
51153
|
+
|
|
51154
|
+
return null;
|
|
51155
|
+
}
|
|
51015
51156
|
}
|
|
51016
51157
|
|
|
51017
51158
|
|
|
@@ -52215,7 +52356,10 @@ function DynamicMinuteTitlePainting()
|
|
|
52215
52356
|
{
|
|
52216
52357
|
if (!data || !data.Data) return;
|
|
52217
52358
|
|
|
52218
|
-
var
|
|
52359
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
52360
|
+
var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
|
|
52361
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
52362
|
+
|
|
52219
52363
|
var item=data.Data;
|
|
52220
52364
|
var isLastOne=data.IsLastOne;
|
|
52221
52365
|
var aryText=[]; //{Color:, Text: }
|
|
@@ -52261,6 +52405,8 @@ function DynamicMinuteTitlePainting()
|
|
|
52261
52405
|
var amount=item.Amount;
|
|
52262
52406
|
var yClose=item.YClose;
|
|
52263
52407
|
if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
|
|
52408
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
|
|
52409
|
+
|
|
52264
52410
|
|
|
52265
52411
|
if (IFrameSplitOperator.IsNumber(close))
|
|
52266
52412
|
{
|
|
@@ -68417,22 +68563,27 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
68417
68563
|
{
|
|
68418
68564
|
if (!this.WindowIndex[windowIndex]) return;
|
|
68419
68565
|
|
|
68420
|
-
|
|
68566
|
+
var item=this.WindowIndex[windowIndex];
|
|
68567
|
+
if (typeof(item.RequestData)=="function") //数据需要另外下载的.
|
|
68421
68568
|
{
|
|
68422
|
-
|
|
68569
|
+
item.RequestData(this,windowIndex,hisData, option);
|
|
68423
68570
|
return;
|
|
68424
68571
|
}
|
|
68425
|
-
|
|
68572
|
+
|
|
68573
|
+
if (typeof(item.ExecuteScript)=='function')
|
|
68426
68574
|
{
|
|
68427
|
-
|
|
68575
|
+
if (option && option.CheckRunCount)
|
|
68576
|
+
if (item.IsExcessRunCount()) return;
|
|
68577
|
+
|
|
68578
|
+
item.ExecuteScript(this,windowIndex,hisData);
|
|
68428
68579
|
return;
|
|
68429
68580
|
}
|
|
68430
68581
|
|
|
68431
|
-
|
|
68582
|
+
item.BindData(this,windowIndex,hisData);
|
|
68432
68583
|
}
|
|
68433
68584
|
|
|
68434
68585
|
//叠加指标
|
|
68435
|
-
this.BindOverlayIndexData=function(overlayItem, windowIndex, hisData)
|
|
68586
|
+
this.BindOverlayIndexData=function(overlayItem, windowIndex, hisData, option)
|
|
68436
68587
|
{
|
|
68437
68588
|
if (!overlayItem.Script) return;
|
|
68438
68589
|
|
|
@@ -68444,6 +68595,9 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
68444
68595
|
|
|
68445
68596
|
if (typeof(overlayItem.Script.ExecuteScript)=='function')
|
|
68446
68597
|
{
|
|
68598
|
+
if (option && option.CheckRunCount)
|
|
68599
|
+
if (overlayItem.Script.IsExcessRunCount()) return;
|
|
68600
|
+
|
|
68447
68601
|
overlayItem.Script.ExecuteScript(this,windowIndex,hisData);
|
|
68448
68602
|
return;
|
|
68449
68603
|
}
|
|
@@ -68609,7 +68763,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
68609
68763
|
});
|
|
68610
68764
|
}
|
|
68611
68765
|
|
|
68612
|
-
this.BindAllOverlayIndexData=function(hisData)
|
|
68766
|
+
this.BindAllOverlayIndexData=function(hisData, option)
|
|
68613
68767
|
{
|
|
68614
68768
|
if (!this.Frame || !this.Frame.SubFrame) return;
|
|
68615
68769
|
|
|
@@ -68620,7 +68774,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
68620
68774
|
for(var j in item.OverlayIndex)
|
|
68621
68775
|
{
|
|
68622
68776
|
var overlayItem=item.OverlayIndex[j];
|
|
68623
|
-
this.BindOverlayIndexData(overlayItem,i,hisData)
|
|
68777
|
+
this.BindOverlayIndexData(overlayItem,i,hisData,option)
|
|
68624
68778
|
}
|
|
68625
68779
|
}
|
|
68626
68780
|
}
|
|
@@ -69303,7 +69457,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69303
69457
|
|
|
69304
69458
|
for(var i=0; i<this.Frame.SubFrame.length; ++i)
|
|
69305
69459
|
{
|
|
69306
|
-
this.BindIndexData(i,bindData);
|
|
69460
|
+
this.BindIndexData(i,bindData, { CheckRunCount:true });
|
|
69307
69461
|
}
|
|
69308
69462
|
|
|
69309
69463
|
//刷新画图
|
|
@@ -69316,7 +69470,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69316
69470
|
this.SendKLineUpdateEvent(bindData);
|
|
69317
69471
|
|
|
69318
69472
|
//叠加指标计算
|
|
69319
|
-
this.BindAllOverlayIndexData(bindData);
|
|
69473
|
+
this.BindAllOverlayIndexData(bindData,{ CheckRunCount:true });
|
|
69320
69474
|
|
|
69321
69475
|
if (this.mapEvent.has(JSCHART_EVENT_ID.ON_RECV_REALTIME_DATA))
|
|
69322
69476
|
{
|
|
@@ -70041,6 +70195,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
70041
70195
|
this.ClearRectSelect(true);
|
|
70042
70196
|
this.Frame.ClearUpDonwFrameYData();
|
|
70043
70197
|
this.ClearCustomKLine();
|
|
70198
|
+
|
|
70044
70199
|
|
|
70045
70200
|
var kLineDrawType=this.GetKLineDrawType();
|
|
70046
70201
|
if (kLineDrawType==10 || kLineDrawType==11 || kLineDrawType==12 || kLineDrawType==16) isDataTypeChange=true;
|
|
@@ -70062,6 +70217,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
70062
70217
|
|
|
70063
70218
|
if (isDataTypeChange==false && !this.IsApiPeriod)
|
|
70064
70219
|
{
|
|
70220
|
+
this.ClearIndexRunCount();
|
|
70065
70221
|
this.Update( {UpdateCursorIndexType:2} ); //更新的时候 取消显示十字光标
|
|
70066
70222
|
return;
|
|
70067
70223
|
}
|
|
@@ -70074,6 +70230,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
70074
70230
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod'); //切换周期先停止更新
|
|
70075
70231
|
this.ResetScrollBar();
|
|
70076
70232
|
this.ResetOverlaySymbolStatus();
|
|
70233
|
+
this.ClearIndexRunCount();
|
|
70077
70234
|
this.RequestHistoryData(); //请求日线数据
|
|
70078
70235
|
//this.ReqeustKLineInfoData();
|
|
70079
70236
|
}
|
|
@@ -70083,6 +70240,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
70083
70240
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod'); //切换周期先停止更新
|
|
70084
70241
|
this.ResetScrollBar();
|
|
70085
70242
|
this.ResetOverlaySymbolStatus();
|
|
70243
|
+
this.ClearIndexRunCount();
|
|
70086
70244
|
this.ReqeustHistoryMinuteData(); //请求分钟数据
|
|
70087
70245
|
}
|
|
70088
70246
|
else if (ChartData.IsTickPeriod(this.Period))
|
|
@@ -70090,6 +70248,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
70090
70248
|
this.CancelAutoUpdate(); //先停止定时器
|
|
70091
70249
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod');
|
|
70092
70250
|
this.ResetScrollBar();
|
|
70251
|
+
this.ClearIndexRunCount();
|
|
70093
70252
|
this.RequestTickData(); //请求分笔数据
|
|
70094
70253
|
}
|
|
70095
70254
|
}
|
|
@@ -71390,6 +71549,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71390
71549
|
this.ClearKLineCaluate();
|
|
71391
71550
|
this.HideTooltip();
|
|
71392
71551
|
this.ResetScrollBar();
|
|
71552
|
+
this.ClearIndexRunCount();
|
|
71393
71553
|
|
|
71394
71554
|
this.Symbol=symbol;
|
|
71395
71555
|
if (!symbol)
|
|
@@ -76487,6 +76647,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
76487
76647
|
this.ClearIndexPaint(); //清空指标
|
|
76488
76648
|
this.ResetOverlaySymbolStatus();
|
|
76489
76649
|
this.ReloadChartDrawPicture();
|
|
76650
|
+
this.ClearIndexRunCount();
|
|
76490
76651
|
|
|
76491
76652
|
if (option)
|
|
76492
76653
|
{
|
|
@@ -77875,7 +78036,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77875
78036
|
}
|
|
77876
78037
|
}
|
|
77877
78038
|
|
|
77878
|
-
this.BindIndexData=function(windowIndex,hisData)
|
|
78039
|
+
this.BindIndexData=function(windowIndex, hisData, option)
|
|
77879
78040
|
{
|
|
77880
78041
|
if (!this.WindowIndex[windowIndex]) return;
|
|
77881
78042
|
|
|
@@ -78320,7 +78481,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78320
78481
|
}
|
|
78321
78482
|
|
|
78322
78483
|
//计算叠加指标
|
|
78323
|
-
this.BindAllOverlayIndexData=function(hisData)
|
|
78484
|
+
this.BindAllOverlayIndexData=function(hisData, option)
|
|
78324
78485
|
{
|
|
78325
78486
|
if (!this.Frame || !this.Frame.SubFrame) return;
|
|
78326
78487
|
|
|
@@ -78331,13 +78492,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78331
78492
|
for(var j in item.OverlayIndex)
|
|
78332
78493
|
{
|
|
78333
78494
|
var overlayItem=item.OverlayIndex[j];
|
|
78334
|
-
this.BindOverlayIndexData(overlayItem,i,hisData)
|
|
78495
|
+
this.BindOverlayIndexData(overlayItem,i,hisData,option)
|
|
78335
78496
|
}
|
|
78336
78497
|
}
|
|
78337
78498
|
}
|
|
78338
78499
|
|
|
78339
78500
|
//叠加指标
|
|
78340
|
-
this.BindOverlayIndexData=function(overlayItem, windowIndex, hisData)
|
|
78501
|
+
this.BindOverlayIndexData=function(overlayItem, windowIndex, hisData, option)
|
|
78341
78502
|
{
|
|
78342
78503
|
if (!overlayItem.Script) return;
|
|
78343
78504
|
|
|
@@ -79068,7 +79229,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79068
79229
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
79069
79230
|
var preAvPrice=data.stock[0].yclose; //前一个均价
|
|
79070
79231
|
var yClose=data.stock[0].yclose;
|
|
79071
|
-
|
|
79232
|
+
var yClearing=data.stock[0].yclearing;
|
|
79233
|
+
|
|
79234
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
79072
79235
|
|
|
79073
79236
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
|
|
79074
79237
|
|
|
@@ -79077,7 +79240,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79077
79240
|
{
|
|
79078
79241
|
var jsData=data.stock[0].minute[i];
|
|
79079
79242
|
var item=new MinuteData();
|
|
79080
|
-
|
|
79243
|
+
item.YClearing=yClearing;
|
|
79081
79244
|
item.YClose=yClose;
|
|
79082
79245
|
item.Close=jsData.price;
|
|
79083
79246
|
item.Open=jsData.open;
|
|
@@ -79108,24 +79271,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79108
79271
|
|
|
79109
79272
|
if (!item.AvPrice) item.AvPrice=preAvPrice;
|
|
79110
79273
|
|
|
79111
|
-
//价格是0的 都用空
|
|
79112
|
-
//if (item.Open<=0) item.Open=null;
|
|
79113
|
-
//if (item.Close<=0) item.Close=null;
|
|
79114
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79115
|
-
//if (item.High<=0) item.High=null;
|
|
79116
|
-
//if (item.Low<=0) item.Low=null;
|
|
79117
|
-
|
|
79118
|
-
//if (isFutures) item.AvPrice=null; //期货均价暂时没有
|
|
79119
|
-
|
|
79120
79274
|
if (yClose && item.Close)
|
|
79121
79275
|
item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
79122
79276
|
|
|
79123
|
-
|
|
79124
|
-
|
|
79125
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
79126
|
-
//JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
|
|
79127
|
-
if (isSHSZ && checkValue>item.Close*0.13 )
|
|
79128
|
-
item.AvPrice=preAvPrice;
|
|
79277
|
+
if (isFutures && yClearing && item.Close)
|
|
79278
|
+
item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
79129
79279
|
|
|
79130
79280
|
//上次价格
|
|
79131
79281
|
if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
|
|
@@ -79239,7 +79389,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79239
79389
|
var symbol=data.symbol;
|
|
79240
79390
|
var upperSymbol=symbol.toUpperCase();
|
|
79241
79391
|
var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
|
|
79242
|
-
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);
|
|
79392
|
+
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
|
|
79243
79393
|
var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
|
|
79244
79394
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
79245
79395
|
var result=[];
|
|
@@ -79249,22 +79399,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79249
79399
|
var minuteData=[];
|
|
79250
79400
|
var dayData=data.data[i];
|
|
79251
79401
|
var date=dayData.date;
|
|
79402
|
+
var yClearing=dayData.yclearing; //昨结算价
|
|
79252
79403
|
var yClose=dayData.yclose; //前收盘 计算涨幅
|
|
79253
79404
|
var preClose=yClose; //前一个数据价格
|
|
79254
79405
|
var preAvPrice=null; //上一个均价
|
|
79255
|
-
var yClearing=dayData.yclearing; //昨结算价
|
|
79256
79406
|
|
|
79257
|
-
|
|
79407
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
79408
|
+
|
|
79258
79409
|
for(var j in dayData.minute)
|
|
79259
79410
|
{
|
|
79260
79411
|
var jsData=dayData.minute[j];
|
|
79261
79412
|
if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
|
|
79262
79413
|
var item=new MinuteData();
|
|
79414
|
+
item.YClearing=yClearing;
|
|
79263
79415
|
item.YClose=yClose;
|
|
79264
79416
|
item.Close=jsData[2];
|
|
79265
79417
|
item.Open=jsData[1];
|
|
79266
79418
|
item.High=jsData[3];
|
|
79267
79419
|
item.Low=jsData[4];
|
|
79420
|
+
item.Increase=null;
|
|
79268
79421
|
if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
|
|
79269
79422
|
else item.Vol=jsData[5];
|
|
79270
79423
|
item.Amount=jsData[6];
|
|
@@ -79287,23 +79440,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79287
79440
|
|
|
79288
79441
|
if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
|
|
79289
79442
|
|
|
79290
|
-
if (item.Close && yClose)
|
|
79291
|
-
|
|
79443
|
+
if (item.Close && yClose)
|
|
79444
|
+
item.Increase = (item.Close - yClose)/yClose*100;
|
|
79292
79445
|
|
|
79293
|
-
|
|
79294
|
-
|
|
79295
|
-
|
|
79296
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79297
|
-
//if (item.High<=0) item.High=null;
|
|
79298
|
-
//if (item.Low<=0) item.Low=null;
|
|
79299
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79300
|
-
|
|
79301
|
-
//均价太大 可能是后台算错了
|
|
79302
|
-
if (item.AvPrice && isSHSZ)
|
|
79303
|
-
{
|
|
79304
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
79305
|
-
if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
|
|
79306
|
-
}
|
|
79446
|
+
if (item.Close && yClearing && isFutures)
|
|
79447
|
+
item.Increase = (item.Close - yClearing)/yClearing*100;
|
|
79448
|
+
|
|
79307
79449
|
|
|
79308
79450
|
if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
|
|
79309
79451
|
if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
|
|
@@ -79314,9 +79456,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79314
79456
|
var newData=new ChartData();
|
|
79315
79457
|
newData.Data=minuteData;
|
|
79316
79458
|
newData.YClose=yClose;
|
|
79459
|
+
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
79317
79460
|
newData.Close=dayData.close;
|
|
79318
79461
|
newData.Date=date;
|
|
79319
|
-
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
79320
79462
|
|
|
79321
79463
|
result.push(newData);
|
|
79322
79464
|
}
|
|
@@ -79365,6 +79507,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79365
79507
|
|
|
79366
79508
|
var date=callAuctionData.Date;
|
|
79367
79509
|
var yClose=callAuctionData.YClose;
|
|
79510
|
+
var yClearing=callAuctionData.YClearing;
|
|
79368
79511
|
var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
|
|
79369
79512
|
if (callAuctionData.Ver==1.0)
|
|
79370
79513
|
{
|
|
@@ -79374,6 +79517,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79374
79517
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79375
79518
|
var jsData=data[i];
|
|
79376
79519
|
item.YClose=yClose;
|
|
79520
|
+
item.YClearing=yClearing;
|
|
79377
79521
|
item.Time=jsData[0];
|
|
79378
79522
|
item.Date=date;
|
|
79379
79523
|
item.Price=jsData[1];
|
|
@@ -79397,6 +79541,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79397
79541
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79398
79542
|
var jsData=data[i];
|
|
79399
79543
|
item.YClose=yClose;
|
|
79544
|
+
item.YClearing=yClearing;
|
|
79400
79545
|
item.Time=jsData[0];
|
|
79401
79546
|
item.Date=date;
|
|
79402
79547
|
item.Price=jsData[1];
|
|
@@ -79424,6 +79569,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79424
79569
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79425
79570
|
var jsData=data[i];
|
|
79426
79571
|
item.YClose=yClose;
|
|
79572
|
+
item.YClearing=yClearing;
|
|
79427
79573
|
item.Time=jsData[0];
|
|
79428
79574
|
item.Date=date;
|
|
79429
79575
|
item.Price=jsData[1];
|
|
@@ -79453,7 +79599,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
79453
79599
|
for(var i in data.data)
|
|
79454
79600
|
{
|
|
79455
79601
|
var dayItem=data.data[i];
|
|
79456
|
-
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
|
|
79602
|
+
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
79457
79603
|
if (dayItem.beforeinfo)
|
|
79458
79604
|
{
|
|
79459
79605
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
|
|
@@ -79478,7 +79624,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
79478
79624
|
for(var i in data.data)
|
|
79479
79625
|
{
|
|
79480
79626
|
var dayItem=data.data[i];
|
|
79481
|
-
var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
|
|
79627
|
+
var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
79482
79628
|
|
|
79483
79629
|
if (dayItem.afterinfo)
|
|
79484
79630
|
{
|
|
@@ -88597,6 +88743,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
88597
88743
|
|
|
88598
88744
|
IsFutures:function(upperSymbol) //是否是期货 包含国外的
|
|
88599
88745
|
{
|
|
88746
|
+
if (!upperSymbol) return false;
|
|
88747
|
+
|
|
88600
88748
|
return this.IsChinaFutures(upperSymbol) ||
|
|
88601
88749
|
this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
|
|
88602
88750
|
this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
|
|
@@ -111268,6 +111416,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
111268
111416
|
this.IsSync=false; //是否是同步计算 (无数据请求)
|
|
111269
111417
|
this.IsShow=true; //是否显示图形
|
|
111270
111418
|
|
|
111419
|
+
this.RunCount=0; //已执行次数
|
|
111420
|
+
this.MaxRunCount=-1; //最大执行次数 -1=无限
|
|
111421
|
+
|
|
111271
111422
|
if (option)
|
|
111272
111423
|
{
|
|
111273
111424
|
if (option.FloatPrecision>=0) this.FloatPrecision=option.FloatPrecision;
|
|
@@ -111283,6 +111434,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
111283
111434
|
if (option.OutName) this.OutName=option.OutName;
|
|
111284
111435
|
if (IFrameSplitOperator.IsNumber(option.YSplitType)) this.YSplitType=option.YSplitType;
|
|
111285
111436
|
if (IFrameSplitOperator.IsBool(option.IsSync)) this.IsSync=option.IsSync;
|
|
111437
|
+
if (IFrameSplitOperator.IsNumber(option.MaxRunCount)) this.MaxRunCount=option.MaxRunCount;
|
|
111286
111438
|
|
|
111287
111439
|
if (option.Debug)
|
|
111288
111440
|
{
|
|
@@ -111352,6 +111504,14 @@ function ScriptIndex(name,script,args,option)
|
|
|
111352
111504
|
}
|
|
111353
111505
|
}
|
|
111354
111506
|
|
|
111507
|
+
//是否超出执行的最大次数
|
|
111508
|
+
this.IsExcessRunCount=function()
|
|
111509
|
+
{
|
|
111510
|
+
if (this.MaxRunCount<=0) return false; //没有限制
|
|
111511
|
+
|
|
111512
|
+
return this.RunCount>=this.MaxRunCount;
|
|
111513
|
+
}
|
|
111514
|
+
|
|
111355
111515
|
this.ExecuteScript=function(hqChart,windowIndex,hisData)
|
|
111356
111516
|
{
|
|
111357
111517
|
this.OutVar=[];
|
|
@@ -111421,6 +111581,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
111421
111581
|
return;
|
|
111422
111582
|
}
|
|
111423
111583
|
|
|
111584
|
+
++this.RunCount;
|
|
111424
111585
|
let code=this.Script;
|
|
111425
111586
|
let run=JSComplier.Execute(code,option,hqChart.ScriptErrorCallback);
|
|
111426
111587
|
}
|
|
@@ -114464,6 +114625,8 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
114464
114625
|
if (hqDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID || hqDataType==HQ_DATA_TYPE.MINUTE_ID) postData.daycount=hqChart.DayCount;
|
|
114465
114626
|
this.HQDataType=hqDataType;
|
|
114466
114627
|
|
|
114628
|
+
++this.RunCount;
|
|
114629
|
+
|
|
114467
114630
|
if (hqChart.NetworkFilter)
|
|
114468
114631
|
{
|
|
114469
114632
|
var obj=
|
|
@@ -127847,7 +128010,7 @@ function ScrollBarBGChart()
|
|
|
127847
128010
|
|
|
127848
128011
|
|
|
127849
128012
|
|
|
127850
|
-
var HQCHART_VERSION="1.1.
|
|
128013
|
+
var HQCHART_VERSION="1.1.12469";
|
|
127851
128014
|
|
|
127852
128015
|
function PrintHQChartVersion()
|
|
127853
128016
|
{
|
|
@@ -999,8 +999,11 @@ function DynamicMinuteTitlePainting()
|
|
|
999
999
|
|
|
1000
1000
|
var item=data.Data;
|
|
1001
1001
|
var defaultfloatPrecision = this.GetDecimal(this.Symbol); //价格小数位数
|
|
1002
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
1003
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //期货
|
|
1002
1004
|
var aryText=[];
|
|
1003
1005
|
var yClose=item.YClose;
|
|
1006
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing;
|
|
1004
1007
|
if (this.IsShowName) aryText.push({ Text:this.Name, Color:this.NameColor });
|
|
1005
1008
|
|
|
1006
1009
|
var text = IFrameSplitOperator.FormatDateTimeString(item.DateTime, this.IsShowDate ? 'YYYY-MM-DD HH-MM' : 'HH-MM');
|