hqchart 1.1.12525 → 1.1.12536

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.
@@ -7920,9 +7920,11 @@ if(isFutures&&yClearing&&item.Close)item.Increase=(item.Close-yClearing)/yCleari
7920
7920
  //上次价格
7921
7921
  if(IFrameSplitOperator.IsNumber(jsData.price))preClose=jsData.price;if(IFrameSplitOperator.IsNumber(jsData.avprice)&&item.AvPrice===jsData.avprice)preAvPrice=jsData.avprice;if(jsData.ExtendData)item.ExtendData=jsData.ExtendData;//扩展数据
7922
7922
  aryMinuteData[i]=item;}return aryMinuteData;};//分钟增量数据 stock: [ { date:, yclose:, yclearing: , minute:[ [],]} 0=日期 1=时间 2=开 3=高 4=低 5=收 6=均价 7=量 8=金额 9=涨幅 10=涨跌 11=领先指标 ]
7923
- MinuteChartContainer.JsonDataToUpdateMinuteData=function(data){if(!data||!data.stock)return null;var stock=data.stock[0];if(!IFrameSplitOperator.IsNumber(stock.date))return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var minuteData={Date:stock.date,Data:[],Symbol:symbol,Name:stock.name};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA;//扩展数据序号
7924
- if(IFrameSplitOperator.IsNumber(stock.high))minuteData.High=stock.high;if(IFrameSplitOperator.IsNumber(stock.low))minuteData.Low=stock.low;if(IFrameSplitOperator.IsNumber(stock.yclose))minuteData.YClose=stock.yclose;if(IFrameSplitOperator.IsNumber(stock.YClearing))minuteData.YClearing=stock.yclearing;if(IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)){for(var i=0;i<stock.minute.length;++i){var jsData=stock.minute[i];var item=new MinuteData();item.Date=jsData[0];item.Time=jsData[1];item.Open=jsData[2];item.High=jsData[3];item.Low=jsData[4];item.Close=jsData[5];item.AvPrice=jsData[6];item.Vol=jsData[7];item.Amount=jsData[8];if(IFrameSplitOperator.IsNumber(jsData[9]))item.Increase=jsData[9];if(IFrameSplitOperator.IsNumber(jsData[10]))item.Risefall=jsData[10];if(IFrameSplitOperator.IsNumber(jsData[11]))item.Lead=jsData[11];if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];item.DateTime=item.Date.toString()+" "+item.Time.toString();if(isSHSZ)item.Vol=item.Vol/100;//沪深股票原始单位股
7923
+ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data){if(!data||!data.stock)return null;var stock=data.stock[0];if(!IFrameSplitOperator.IsNumber(stock.date))return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
7924
+ var minuteData={Date:stock.date,Data:[],Symbol:symbol,Name:stock.name};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA;//扩展数据序号
7925
+ if(IFrameSplitOperator.IsNumber(stock.high))minuteData.High=stock.high;if(IFrameSplitOperator.IsNumber(stock.low))minuteData.Low=stock.low;if(IFrameSplitOperator.IsNumber(stock.yclose))minuteData.YClose=stock.yclose;if(IFrameSplitOperator.IsNumber(stock.YClearing))minuteData.YClearing=stock.yclearing;if(IFrameSplitOperator.IsNonEmptyArray(stock.minute)){for(var i=0;i<stock.minute.length;++i){var jsData=stock.minute[i];var item=new MinuteData();item.YClearing=minuteData.YClearing;item.YClose=minuteData.YClose;item.Date=jsData[0];item.Time=jsData[1];item.Open=jsData[2];item.High=jsData[3];item.Low=jsData[4];item.Close=jsData[5];item.AvPrice=jsData[6];item.Vol=jsData[7];item.Amount=jsData[8];if(IFrameSplitOperator.IsNumber(jsData[9]))item.Increase=jsData[9];if(IFrameSplitOperator.IsNumber(jsData[10]))item.Risefall=jsData[10];if(IFrameSplitOperator.IsNumber(jsData[11]))item.Lead=jsData[11];if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];item.DateTime=item.Date.toString()+" "+item.Time.toString();if(isSHSZ)item.Vol=item.Vol/100;//沪深股票原始单位股
7925
7926
  if(IFrameSplitOperator.IsNumber(minuteData.YClose)&&item.Close)item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100;//涨幅 (最新价格-昨收)/昨收*100;
7927
+ if(isFutures&&minuteData.YClearing&&item.Close)item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100;//涨幅 (最新价格-昨结算价)/昨结算价*100;
7926
7928
  minuteData.Data.push(item);}}return minuteData;};MinuteChartContainer.JsonDataToMinuteLineColorData=function(data){if(!data||!data.stock[0])return null;var stockItem=data.stock[0];if(!stockItem.linecolor||!IFrameSplitOperator.IsNonEmptyArray(stockItem.linecolor.data))return null;var aryLineColor=[];for(var i in stockItem.linecolor.data){var item=stockItem.linecolor.data[i];if(!IFrameSplitOperator.IsNumber(item.type)||!IFrameSplitOperator.IsNumber(item.date)||!IFrameSplitOperator.IsNumber(item.start)||!IFrameSplitOperator.IsNumber(item.end)||!item.color)continue;if(item.start>=item.end)continue;var newItem={Type:item.type,Date:item.date,Start:item.start,End:item.end,Color:item.color};if(IFrameSplitOperator.IsPlusNumber(item.linewidth))newItem.LineWidth=item.linewidth;aryLineColor.push(newItem);}return aryLineColor;};//获取最后的数据更新时间
7927
7929
  MinuteChartContainer.JsonDataToMinuteLastUpdateTime=function(data){if(!data||!data.stock[0])return null;var stock=data.stock[0];if(!IFrameSplitOperator.IsNumber(stock.date)||!IFrameSplitOperator.IsNumber(stock.time))return null;return{Date:stock.date,Time:stock.time};};MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime=function(data){if(!data||!data.updatetime)return null;var item=data.updatetime;if(!IFrameSplitOperator.IsNumber(item.date)||!IFrameSplitOperator.IsNumber(item.time))return null;return{Date:item.date,Time:item.time};};//多日日线数据API 转化成array[];
7928
7930
  MinuteChartContainer.JsonDataToMinuteDataArray=function(data){var symbol=data.symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);//上海股票期权
@@ -12638,7 +12640,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
12638
12640
  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);};}/********************************************************************************
12639
12641
  * 版本信息输出
12640
12642
  *
12641
- */var HQCHART_VERSION="1.1.12523";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();//把给外界调用的方法暴露出来
12643
+ */var HQCHART_VERSION="1.1.12535";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();//把给外界调用的方法暴露出来
12642
12644
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12643
12645
  // BaseIndex:BaseIndex,
12644
12646
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.12525",
5
+ "version": "1.1.12536",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -75991,6 +75991,7 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
75991
75991
  var symbol=data.stock[0].symbol;
75992
75992
  var upperSymbol=symbol.toUpperCase();
75993
75993
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
75994
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
75994
75995
  var minuteData={ Date:stock.date, Data:[] , Symbol:symbol, Name:stock.name };
75995
75996
  var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA; //扩展数据序号
75996
75997
  if (IFrameSplitOperator.IsNumber(stock.high)) minuteData.High=stock.high;
@@ -75998,13 +75999,15 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
75998
75999
  if (IFrameSplitOperator.IsNumber(stock.yclose)) minuteData.YClose=stock.yclose;
75999
76000
  if (IFrameSplitOperator.IsNumber(stock.YClearing)) minuteData.YClearing=stock.yclearing;
76000
76001
 
76001
- if (IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute))
76002
+ if (IFrameSplitOperator.IsNonEmptyArray(stock.minute))
76002
76003
  {
76003
76004
  for(var i=0;i<stock.minute.length;++i)
76004
76005
  {
76005
76006
  var jsData=stock.minute[i];
76006
76007
  var item=new MinuteData();
76007
76008
 
76009
+ item.YClearing=minuteData.YClearing;
76010
+ item.YClose=minuteData.YClose;
76008
76011
  item.Date=jsData[0];
76009
76012
  item.Time=jsData[1];
76010
76013
  item.Open=jsData[2];
@@ -76026,6 +76029,10 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
76026
76029
  if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
76027
76030
  item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
76028
76031
 
76032
+ if (isFutures && minuteData.YClearing && item.Close)
76033
+ item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
76034
+
76035
+
76029
76036
  minuteData.Data.push(item);
76030
76037
  }
76031
76038
  }
@@ -80071,6 +80071,7 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
80071
80071
  var symbol=data.stock[0].symbol;
80072
80072
  var upperSymbol=symbol.toUpperCase();
80073
80073
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
80074
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
80074
80075
  var minuteData={ Date:stock.date, Data:[] , Symbol:symbol, Name:stock.name };
80075
80076
  var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA; //扩展数据序号
80076
80077
  if (IFrameSplitOperator.IsNumber(stock.high)) minuteData.High=stock.high;
@@ -80078,13 +80079,15 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
80078
80079
  if (IFrameSplitOperator.IsNumber(stock.yclose)) minuteData.YClose=stock.yclose;
80079
80080
  if (IFrameSplitOperator.IsNumber(stock.YClearing)) minuteData.YClearing=stock.yclearing;
80080
80081
 
80081
- if (IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute))
80082
+ if (IFrameSplitOperator.IsNonEmptyArray(stock.minute))
80082
80083
  {
80083
80084
  for(var i=0;i<stock.minute.length;++i)
80084
80085
  {
80085
80086
  var jsData=stock.minute[i];
80086
80087
  var item=new MinuteData();
80087
80088
 
80089
+ item.YClearing=minuteData.YClearing;
80090
+ item.YClose=minuteData.YClose;
80088
80091
  item.Date=jsData[0];
80089
80092
  item.Time=jsData[1];
80090
80093
  item.Open=jsData[2];
@@ -80106,6 +80109,10 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
80106
80109
  if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
80107
80110
  item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
80108
80111
 
80112
+ if (isFutures && minuteData.YClearing && item.Close)
80113
+ item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
80114
+
80115
+
80109
80116
  minuteData.Data.push(item);
80110
80117
  }
80111
80118
  }
@@ -128943,7 +128950,7 @@ function ScrollBarBGChart()
128943
128950
 
128944
128951
 
128945
128952
 
128946
- var HQCHART_VERSION="1.1.12523";
128953
+ var HQCHART_VERSION="1.1.12535";
128947
128954
 
128948
128955
  function PrintHQChartVersion()
128949
128956
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12523";
8
+ var HQCHART_VERSION="1.1.12535";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -80115,6 +80115,7 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
80115
80115
  var symbol=data.stock[0].symbol;
80116
80116
  var upperSymbol=symbol.toUpperCase();
80117
80117
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
80118
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
80118
80119
  var minuteData={ Date:stock.date, Data:[] , Symbol:symbol, Name:stock.name };
80119
80120
  var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA; //扩展数据序号
80120
80121
  if (IFrameSplitOperator.IsNumber(stock.high)) minuteData.High=stock.high;
@@ -80122,13 +80123,15 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
80122
80123
  if (IFrameSplitOperator.IsNumber(stock.yclose)) minuteData.YClose=stock.yclose;
80123
80124
  if (IFrameSplitOperator.IsNumber(stock.YClearing)) minuteData.YClearing=stock.yclearing;
80124
80125
 
80125
- if (IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute))
80126
+ if (IFrameSplitOperator.IsNonEmptyArray(stock.minute))
80126
80127
  {
80127
80128
  for(var i=0;i<stock.minute.length;++i)
80128
80129
  {
80129
80130
  var jsData=stock.minute[i];
80130
80131
  var item=new MinuteData();
80131
80132
 
80133
+ item.YClearing=minuteData.YClearing;
80134
+ item.YClose=minuteData.YClose;
80132
80135
  item.Date=jsData[0];
80133
80136
  item.Time=jsData[1];
80134
80137
  item.Open=jsData[2];
@@ -80150,6 +80153,10 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
80150
80153
  if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
80151
80154
  item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
80152
80155
 
80156
+ if (isFutures && minuteData.YClearing && item.Close)
80157
+ item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
80158
+
80159
+
80153
80160
  minuteData.Data.push(item);
80154
80161
  }
80155
80162
  }
@@ -129096,7 +129103,7 @@ function HQChartScriptWorker()
129096
129103
 
129097
129104
 
129098
129105
 
129099
- var HQCHART_VERSION="1.1.12523";
129106
+ var HQCHART_VERSION="1.1.12535";
129100
129107
 
129101
129108
  function PrintHQChartVersion()
129102
129109
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12508";
8
+ var HQCHART_VERSION="1.1.12534";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -9134,6 +9134,12 @@ function MinuteChartContainer(uielement)
9134
9134
 
9135
9135
  this.RecvMinuteData = function (data)
9136
9136
  {
9137
+ if (data.data && data.data.dataType===1) //增量更新数据模式
9138
+ {
9139
+ this.RecvUpdateMinuteData(data.data);
9140
+ return;
9141
+ }
9142
+
9137
9143
  var aryMinuteData = MinuteChartContainer.JsonDataToMinuteData(data.data);
9138
9144
 
9139
9145
  if (this.DayCount > 1) //多日走势图
@@ -9205,6 +9211,134 @@ function MinuteChartContainer(uielement)
9205
9211
  this.AutoUpdate();
9206
9212
  }
9207
9213
 
9214
+ this.RecvUpdateMinuteData=function(data)
9215
+ {
9216
+ var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
9217
+
9218
+ if (this.DayCount > 1) //多日走势图
9219
+ {
9220
+ this.UpdateLatestMinuteDataV2(minuteData);
9221
+ this.UpdateHistoryMinuteUI();
9222
+ this.RecvMinuteDataEvent();
9223
+ this.RequestOverlayMinuteData(); //更新最新叠加数据
9224
+ this.BindAllOverlayIndexData(this.SourceData);
9225
+ if (typeof (this.UpdateUICallback) == 'function') this.UpdateUICallback('RecvMinuteData', this);
9226
+ this.AutoUpdate();
9227
+ return;
9228
+ }
9229
+
9230
+ this.UpdateLatestMinuteDataV2(minuteData);
9231
+ var sourceData=this.SourceData;
9232
+ var aryMinuteData=this.SourceData.Data;
9233
+ var upperSymbol = this.Symbol.toUpperCase();
9234
+ var isFutures = MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
9235
+ if (data.stock[0].yclearing && isFutures) yClose = data.stock[0].yclearing; //期货使用前结算价
9236
+ this.CaclutateLimitPrice(yClose, data.stock[0].limitprice); //计算涨停价格
9237
+ var extendData = { High: data.stock[0].high, Low: data.stock[0].low };
9238
+ this.BindMainData(sourceData, yClose, extendData);
9239
+
9240
+ for (var i=0;i<this.Frame.SubFrame.length;++i) //把股票代码设置到X轴刻度类里
9241
+ {
9242
+ var item = this.Frame.SubFrame[i];
9243
+ item.Frame.XSplitOperator.Symbol = this.Symbol;
9244
+ item.Frame.XSplitOperator.DayCount = 1;
9245
+ item.Frame.XSplitOperator.Operator(); //调整X轴个数
9246
+ item.Frame.YSplitOperator.Symbol = this.Symbol;
9247
+ }
9248
+
9249
+ //计算指标
9250
+ if (this.Frame.SubFrame.length > 2)
9251
+ {
9252
+ var bindData = new ChartData();
9253
+ bindData.Data = aryMinuteData;
9254
+ for (var i = 2; i < this.Frame.SubFrame.length; ++i)
9255
+ {
9256
+ this.BindIndexData(i, bindData);
9257
+ }
9258
+ }
9259
+
9260
+ var chartInfo = this.GetChartMinuteInfo();
9261
+ if (chartInfo) chartInfo.SourceData = this.SourceData; //数据绑定到信息地雷上
9262
+ this.RecvMinuteDataEvent();
9263
+ this.RequestMinuteInfoData();
9264
+ this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
9265
+
9266
+ this.UpdateFrameMaxMin(); //调整坐标最大 最小值
9267
+ this.Frame.SetSizeChage(true);
9268
+ this.Draw();
9269
+
9270
+ this.BindAllOverlayIndexData(this.SourceData);
9271
+
9272
+ if (typeof (this.UpdateUICallback) == 'function') this.UpdateUICallback('RecvMinuteData', this);
9273
+
9274
+ this.AutoUpdate();
9275
+ }
9276
+
9277
+ //更新最新的几条数据
9278
+ this.UpdateLatestMinuteDataV2=function(minuteData)
9279
+ {
9280
+ if (this.DayCount>1)
9281
+ {
9282
+ if (!this.DayData) return;
9283
+
9284
+ var findItem=null;
9285
+ for(var i=0; i<this.DayData.length; ++i)
9286
+ {
9287
+ var item=this.DayData[i];
9288
+ if (item.Date===date)
9289
+ {
9290
+ findItem=item;
9291
+ break;
9292
+ }
9293
+ }
9294
+
9295
+ if (!findItem) return;
9296
+
9297
+ var findIndex=-1;
9298
+ var firstItem=minuteData.Data[0];
9299
+ for(var i=0;i<findItem.Data.length;++i)
9300
+ {
9301
+ var item=findItem.Data[i];
9302
+
9303
+ if (item.Date==firstItem.Date && item.Time==firstItem.Time)
9304
+ {
9305
+ findIndex=i;
9306
+ break;
9307
+ }
9308
+ }
9309
+
9310
+ if (findIndex<0) findIndex=findItem.Data.length;
9311
+ for(var i=0, j=findIndex; i<minuteData.Data.length; ++i, ++j)
9312
+ {
9313
+ var item=minuteData.Data[i];
9314
+ findItem.Data[j]=item;
9315
+ }
9316
+ }
9317
+ else
9318
+ {
9319
+ if (!this.SourceData) return;
9320
+ var findIndex=-1;
9321
+ var firstItem=minuteData.Data[0];
9322
+ for(var i=0;i<this.SourceData.Data.length;++i)
9323
+ {
9324
+ var item=this.SourceData.Data[i];
9325
+ if (item.Date==firstItem.Date && item.Time==firstItem.Time)
9326
+ {
9327
+ findIndex=i;
9328
+ break;
9329
+ }
9330
+ }
9331
+
9332
+ if (findIndex<0) findIndex=this.SourceData.Data.length;
9333
+ for(var i=0, j=findIndex; i<minuteData.Data.length; ++i, ++j)
9334
+ {
9335
+ var item=minuteData.Data[i];
9336
+ this.SourceData.Data[j]=item;
9337
+ }
9338
+ }
9339
+
9340
+ }
9341
+
9208
9342
  //请求叠加数据 (主数据下载完再下载))
9209
9343
  this.RequestOverlayMinuteData = function ()
9210
9344
  {
@@ -9938,6 +10072,67 @@ MinuteChartContainer.JsonDataToMinuteDataArray = function (data)
9938
10072
  return result;
9939
10073
  }
9940
10074
 
10075
+ //分钟增量数据 stock: [ { date:, yclose:, yclearing: , minute:[ [],]} 0=日期 1=时间 2=开 3=高 4=低 5=收 6=均价 7=量 8=金额 9=涨幅 10=涨跌 11=领先指标 ]
10076
+ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
10077
+ {
10078
+ if (!data || !data.stock) return null;
10079
+ var stock=data.stock[0];
10080
+ if (!IFrameSplitOperator.IsNumber(stock.date)) return null;
10081
+
10082
+ var symbol=data.stock[0].symbol;
10083
+ var upperSymbol=symbol.toUpperCase();
10084
+ var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
10085
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
10086
+ var minuteData={ Date:stock.date, Data:[] , Symbol:symbol, Name:stock.name };
10087
+ var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA; //扩展数据序号
10088
+ if (IFrameSplitOperator.IsNumber(stock.high)) minuteData.High=stock.high;
10089
+ if (IFrameSplitOperator.IsNumber(stock.low)) minuteData.Low=stock.low;
10090
+ if (IFrameSplitOperator.IsNumber(stock.yclose)) minuteData.YClose=stock.yclose;
10091
+ if (IFrameSplitOperator.IsNumber(stock.YClearing)) minuteData.YClearing=stock.yclearing;
10092
+
10093
+ if (IFrameSplitOperator.IsNumber(stock.high)) minuteData.High=stock.high;
10094
+ if (IFrameSplitOperator.IsNumber(stock.low)) minuteData.Low=stock.low;
10095
+ if (IFrameSplitOperator.IsNumber(stock.yclose)) minuteData.YClose=stock.yclose;
10096
+ if (IFrameSplitOperator.IsNumber(stock.YClearing)) minuteData.YClearing=stock.yclearing;
10097
+
10098
+ if (!IFrameSplitOperator.IsNonEmptyArray(stock.minute)) return minuteData;
10099
+
10100
+ for(var i=0;i<stock.minute.length;++i)
10101
+ {
10102
+ var jsData=stock.minute[i];
10103
+ var item=new MinuteData();
10104
+
10105
+ item.YClearing=minuteData.YClearing;
10106
+ item.YClose=minuteData.YClose;
10107
+ item.Date=jsData[0];
10108
+ item.Time=jsData[1];
10109
+ item.Open=jsData[2];
10110
+ item.High=jsData[3];
10111
+ item.Low=jsData[4];
10112
+ item.Close=jsData[5];
10113
+ item.AvPrice=jsData[6];
10114
+ item.Vol=jsData[7];
10115
+ item.Amount=jsData[8];
10116
+ if (IFrameSplitOperator.IsNumber(jsData[9])) item.Increase=jsData[9];
10117
+ if (IFrameSplitOperator.IsNumber(jsData[10])) item.Risefall=jsData[10];
10118
+ if (IFrameSplitOperator.IsNumber(jsData[11])) item.Lead=jsData[11];
10119
+
10120
+ if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
10121
+ item.DateTime=item.Date.toString()+" "+item.Time.toString();
10122
+ if (isSHSZ) item.Vol=item.Vol/100; //沪深股票原始单位股
10123
+
10124
+ if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
10125
+ item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
10126
+
10127
+ if (isFutures && minuteData.YClearing && item.Close)
10128
+ item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
10129
+
10130
+ minuteData.Data.push(item);
10131
+ }
10132
+
10133
+ return minuteData;
10134
+ }
10135
+
9941
10136
  /*
9942
10137
  历史分钟走势图
9943
10138
  */