hqchart 1.1.15364 → 1.1.15368

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.
@@ -7193,6 +7193,7 @@ var JSCHART_DATA_FIELD_ID=
7193
7193
  KLINE_COLOR_DATA:66, //K线自定义颜色数据
7194
7194
  KLINE_DAY_EXTENDDATA:25,
7195
7195
  KLINE_MINUTE_EXTENDDATA:25,
7196
+ KLINE_TICK_EXTENDDATA:25,
7196
7197
 
7197
7198
  //OrderBook Heatmap
7198
7199
  KLINE_HEATMAP:67,
@@ -90316,14 +90317,26 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
90316
90317
  {
90317
90318
  var self=this;
90318
90319
  var start=0;
90319
- if (this.SourceData && this.SourceData.Data) start=this.SourceData.Data.length;
90320
+ var hisData=this.GetKData();
90321
+ var dateRange=hisData.GetDateRange();
90322
+
90320
90323
  if (this.NetworkFilter)
90321
90324
  {
90325
+ var kLineDrawType=this.GetKLineDrawType();
90322
90326
  var obj=
90323
90327
  {
90324
90328
  Name:'KLineChartContainer::RequestTickRealtimeData', //类名::
90325
90329
  Explain:'当天最新分笔数据',
90326
- Request:{ Url:self.TickApiUrl, Data:{ symbol: self.Symbol, start:start, end:start+1000 }, Type:'POST' },
90330
+ Request:
90331
+ {
90332
+ Url:self.TickApiUrl,
90333
+ Data:
90334
+ {
90335
+ symbol:self.Symbol, period:this.Period, right:this.Right,
90336
+ dateRange:dateRange, klineDrawType:kLineDrawType
90337
+ },
90338
+ Type:'POST'
90339
+ },
90327
90340
  Self:this,
90328
90341
  PreventDefault:false
90329
90342
  };
@@ -90336,29 +90349,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
90336
90349
 
90337
90350
  if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
90338
90351
  }
90339
-
90340
- JSNetwork.HttpRequest({
90341
- url: self.TickApiUrl,
90342
- data:{"symbol":self.Symbol, start:start-10, end:start+1000 },
90343
- type:"post",
90344
- dataType: "json",
90345
- async:true,
90346
- success: function (data)
90347
- {
90348
- self.ChartSplashPaint.EnableSplash(false);
90349
- self.RecvTickRealtimeData(data);
90350
- self.AutoUpdate();
90351
- }
90352
- });
90353
90352
  }
90354
90353
 
90355
90354
  this.RecvTickRealtimeData=function(data)
90356
90355
  {
90357
- if (data.ver==2.0)
90358
- var aryDayData=KLineChartContainer.JsonDataToTickDataV2(data); //增量数据
90359
- else
90360
- var aryDayData=KLineChartContainer.JsonDataToTickData(data); //增量数据
90361
- if (!aryDayData || aryDayData.length<=0) return;
90356
+ var aryDayData=null;
90357
+ if (data.ver==2.0) aryDayData=KLineChartContainer.JsonDataToTickDataV2(data); //增量数据
90358
+ else aryDayData=KLineChartContainer.JsonDataToTickData(data); //增量数据
90359
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryDayData)) return;
90362
90360
 
90363
90361
  var redraw=false; //强制重绘
90364
90362
  if (data.redraw==true) redraw=true;
@@ -90368,7 +90366,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
90368
90366
  var lastTime=0;
90369
90367
  if (source.length>0) lastTime=source[source.length-1].Time;
90370
90368
  var newCount=0;
90371
- for(var i in aryDayData)
90369
+ for(var i=0; i<aryDayData.length; ++i)
90372
90370
  {
90373
90371
  var item=aryDayData[i];
90374
90372
  if (item.Time<=lastTime) continue;
@@ -95353,20 +95351,24 @@ KLineChartContainer.JsonDataToTickDataV2=function(data)
95353
95351
  {
95354
95352
  var aryDayData=[];
95355
95353
  if (!IFrameSplitOperator.IsNonEmptyArray(data.data)) return aryDayData;
95356
-
95354
+ var extendDataIndex=JSCHART_DATA_FIELD_ID.KLINE_TICK_EXTENDDATA;
95357
95355
  for(var i=0;i<data.data.length;++i)
95358
95356
  {
95359
95357
  var item = new HistoryData();
95360
- var tick=data.data[i]; //[ date, time, yClose, price, extendData]
95358
+ var tick=data.data[i]; //[ date, time, yClose, price, vol, amount, flag,]
95361
95359
  if (!tick) continue;
95362
95360
 
95363
95361
  item.Date = tick[0];
95364
95362
  item.Time=tick[1];
95365
95363
  item.YClose = tick[2];
95366
95364
  item.Low=item.High=item.Close=item.Open = tick[3];
95365
+ item.Vol = tick[4]; //原始单位股
95366
+ item.Amount = tick[5];
95367
+ item.Flag=tick[6];
95368
+
95367
95369
  aryDayData.push(item);
95368
95370
 
95369
- if (tick[4]) item.ExtendData=tick[4];
95371
+ if (tick[extendDataIndex]) item.ExtendData=tick[extendDataIndex];
95370
95372
  }
95371
95373
 
95372
95374
  return aryDayData;
@@ -118437,6 +118439,32 @@ function JSAlgorithm(errorHandler,symbolData)
118437
118439
  return result;
118438
118440
  }
118439
118441
 
118442
+ //VARCAT6(A,B,C,D,E,F):将六个字符串A,B,C,D,E,F相加成一个字符串.
118443
+ //每个数据都进行序列运算,若用于多股选股,建议换用STRCAT6
118444
+ //用法: VARCAT6('多头',VAR2STR(C,2),' ',VAR2STR(O,2),' ',VAR2STR(MA(C,5),2))将六个字符串相加成一个字符串
118445
+ this.VARCAT6=function(data,data2,data3,data4,data5)
118446
+ {
118447
+ var aryData=[];
118448
+ if (Array.isArray(data) || IFrameSplitOperator.IsString(data)) aryData.push(data);
118449
+ if (Array.isArray(data2) || IFrameSplitOperator.IsString(data2)) aryData.push(data2);
118450
+ if (Array.isArray(data3) || IFrameSplitOperator.IsString(data3)) aryData.push(data3);
118451
+ if (Array.isArray(data4) || IFrameSplitOperator.IsString(data4)) aryData.push(data4);
118452
+ if (Array.isArray(data5) || IFrameSplitOperator.IsString(data5)) aryData.push(data5);
118453
+
118454
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return [];
118455
+ if (aryData.length==1) return data;
118456
+
118457
+ var tempData=this.VARCAT(aryData[0], aryData[1]);
118458
+ var result=tempData;
118459
+ for(var i=2;i<aryData.length;++i)
118460
+ {
118461
+ result=this.VARCAT(tempData,aryData[i]);
118462
+ tempData=result;
118463
+ }
118464
+
118465
+ return result;
118466
+ }
118467
+
118440
118468
  //FINDSTR(A,B):在字符串A中查找字符串B,如果找到返回1,否则返回0.
118441
118469
  //用法: FINDSTR('多头开仓','开仓')在字符串'多头开仓'中查找字符串'开仓',返回1
118442
118470
  this.FINDSTR=function(data, data2)
@@ -118563,6 +118591,8 @@ function JSAlgorithm(errorHandler,symbolData)
118563
118591
  this.VAR2STR=function(data,n)
118564
118592
  {
118565
118593
  var result=[];
118594
+ var dec=0;
118595
+ if (IFrameSplitOperator.IsNumber(n)) dec=n;
118566
118596
  if (Array.isArray(data))
118567
118597
  {
118568
118598
  for(var i=0;i<data.length;++i)
@@ -118570,13 +118600,13 @@ function JSAlgorithm(errorHandler,symbolData)
118570
118600
  result[i]=null;
118571
118601
  var item=data[i];
118572
118602
  if (this.IsNumber(item))
118573
- result[i]=item.toFixed(n);
118603
+ result[i]=item.toFixed(dec);
118574
118604
  }
118575
118605
  }
118576
118606
  else
118577
118607
  {
118578
118608
  if (this.IsNumber(data))
118579
- result=data.toFixed(n);
118609
+ result=data.toFixed(dec);
118580
118610
  }
118581
118611
 
118582
118612
  return result;
@@ -120288,6 +120318,8 @@ function JSAlgorithm(errorHandler,symbolData)
120288
120318
  return this.VAR2STR(args[0], args[1]);
120289
120319
  case "VARCAT":
120290
120320
  return this.VARCAT(args[0], args[1]);
120321
+ case "VARCAT6":
120322
+ return this.VARCAT6(args[0], args[1],args[2], args[3],args[4], args[5]);
120291
120323
  case "STRSPACE":
120292
120324
  return this.STRSPACE(args[0]);
120293
120325
  case "FINDSTR":
@@ -120500,7 +120532,8 @@ function JSDraw(errorHandler,symbolData)
120500
120532
  var drawData=[];
120501
120533
  var result={ DrawData:drawData, DrawType:'DRAWFLAGTEXT' };
120502
120534
  if (!text) return result;
120503
-
120535
+ var bArrayText=Array.isArray(text); //是否是数组字符串
120536
+
120504
120537
  if (Array.isArray(condition))
120505
120538
  {
120506
120539
  if (condition.length<=0) return result;
@@ -120511,14 +120544,18 @@ function JSDraw(errorHandler,symbolData)
120511
120544
  drawData[i]=null;
120512
120545
 
120513
120546
  if (isNaN(condition[i]) || !condition[i]) continue;
120547
+
120548
+ var outText=null;
120549
+ if (!bArrayText) outText=text;
120550
+ else if (bArrayText && text[i]) outText=text[i];
120514
120551
 
120515
120552
  if (bSinglePrice)
120516
120553
  {
120517
- drawData[i]={ YValue:price, Text:text };
120554
+ drawData[i]={ YValue:price, Text:outText };
120518
120555
  }
120519
120556
  else
120520
120557
  {
120521
- if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:text };
120558
+ if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:outText };
120522
120559
  }
120523
120560
  }
120524
120561
  }
@@ -120527,13 +120564,17 @@ function JSDraw(errorHandler,symbolData)
120527
120564
  var bSinglePrice=IFrameSplitOperator.IsNumber(price);
120528
120565
  for(var i=0;i<this.SymbolData.Data.Data.length;++i)
120529
120566
  {
120567
+ var outText=null;
120568
+ if (!bArrayText) outText=text;
120569
+ else if (bArrayText && text[i]) outText=text[i];
120570
+
120530
120571
  if (bSinglePrice)
120531
120572
  {
120532
- drawData[i]={ YValue:price, Text:text };
120573
+ drawData[i]={ YValue:price, Text:outText };
120533
120574
  }
120534
120575
  else
120535
120576
  {
120536
- if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:text };
120577
+ if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:outText };
120537
120578
  }
120538
120579
  }
120539
120580
  }
@@ -130731,6 +130772,7 @@ function JSExplainer(ast,option)
130731
130772
  ["STRCAT", { Name:"STRCAT", Param:{ Count:2 }, ToString:function(args) { return `字符串相加`; } } ],
130732
130773
  ["STRCAT6",{ Name:"STRCAT6", Param:{ Dynamic:true }, ToString:function(args) { return `字符串相加`; } } ],
130733
130774
  ["VARCAT", { Name:"VARCAT", Param:{ Count:2 }, ToString:function(args) { return `字符串相加`; } } ],
130775
+ ["VARCAT6", { Name:"VARCAT", Param:{ Dynamic:true }, ToString:function(args) { return `字符串相加`; } } ],
130734
130776
  ["STRSPACE", { Name:"STRSPACE", Param:{ Count:1 }, ToString:function(args) { return `字符串${args[0]}加一空格`; } } ],
130735
130777
  ["SUBSTR", { Name:"SUBSTR", Param:{ Count:3 }, ToString:function(args) { return `字符串${args[0]}中取一部分`; } } ],
130736
130778
  ["STRCMP", { Name:"STRCMP", Param:{ Count:2 }, ToString:function(args) { return `字符串${args[0]}和字符串${args[1]}比较`; } } ],
@@ -149671,7 +149713,7 @@ function ChartReport()
149671
149713
 
149672
149714
  this.FormaTimeDrawInfo=function(column, stock, drawInfo, data)
149673
149715
  {
149674
- if (!IFrameSplitOperator.IsNumber(stock.Time)) return;
149716
+ if (!stock || !IFrameSplitOperator.IsNumber(stock.Time)) return;
149675
149717
 
149676
149718
  if (column.ValueType==0) //0=hhmm 1=hhmmss 2=hhmmss.fff
149677
149719
  {
@@ -149689,7 +149731,7 @@ function ChartReport()
149689
149731
 
149690
149732
  this.FormaDateDrawInfo=function(column, stock, drawInfo, data)
149691
149733
  {
149692
- if (!IFrameSplitOperator.IsNumber(stock.Date)) return;
149734
+ if (!stock || !IFrameSplitOperator.IsNumber(stock.Date)) return;
149693
149735
 
149694
149736
  if (column.FormatType==0)
149695
149737
  drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");
@@ -167518,7 +167560,7 @@ function HQChartScriptWorker()
167518
167560
 
167519
167561
 
167520
167562
 
167521
- var HQCHART_VERSION="1.1.15363";
167563
+ var HQCHART_VERSION="1.1.15367";
167522
167564
 
167523
167565
  function PrintHQChartVersion()
167524
167566
  {