hqchart 1.1.14320 → 1.1.14336

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14320",
3
+ "version": "1.1.14336",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -57376,6 +57376,8 @@ HQData.Report_APIIndex=function(data, callback)
57376
57376
  HQData.APIIndex_DRAW_SIMPLE_TABLE(data, callback);
57377
57377
  else if (request.Data.indexname=="API_DRAW_SIMPLE_PIE")
57378
57378
  HQData.APIIndex_DRAW_SIMPLE_PIE(data, callback);
57379
+ else if (request.Data.indexname=="API_DRAW_SIMPLE_RADAR")
57380
+ HQData.APIIndex_DRAW_SIMPLE_RADAR(data, callback);
57379
57381
 
57380
57382
  }
57381
57383
 
@@ -57402,13 +57404,14 @@ HQData.APIIndex_MULTI_POINT=function(data, callback)
57402
57404
  BGColor:"rgb(255,215,0)",
57403
57405
  PointRadius:10,
57404
57406
  LineWidth:2,
57407
+ Name:"最低价",
57405
57408
  Point:[ ]
57406
57409
  };
57407
57410
 
57408
57411
  for(var i=kData.Data.length-1, j=0; i>=0 && j<6; i-=5, ++j)
57409
57412
  {
57410
57413
  var item=kData.Data[i];
57411
- point.Point.push({Date:item.Date, Time:item.Time, Value:item.Low});
57414
+ point.Point.push({Date:item.Date, Time:item.Time, Value:"LOW"});
57412
57415
  }
57413
57416
 
57414
57417
  pointData.Draw.DrawData.push(point);
@@ -57420,6 +57423,7 @@ HQData.APIIndex_MULTI_POINT=function(data, callback)
57420
57423
  BGColor:"rgb(30,144,255)",
57421
57424
  PointRadius:5,
57422
57425
  LineWidth:1,
57426
+ Name:"中间价",
57423
57427
  Point:[ ]
57424
57428
  };
57425
57429
 
@@ -57902,3 +57906,73 @@ HQData.APIIndex_DRAW_SIMPLE_PIE=function(data, callback)
57902
57906
  }
57903
57907
 
57904
57908
 
57909
+ HQData.APIIndex_DRAW_SIMPLE_RADAR=function(data, callback)
57910
+ {
57911
+ data.PreventDefault=true;
57912
+ var hqchart=data.HQChart;
57913
+ var kData=hqchart.GetKData();
57914
+
57915
+ var tableData=
57916
+ {
57917
+ name:'DRAW_SIMPLE_RADAR', type:1,
57918
+ Draw:
57919
+ {
57920
+ DrawType:'DRAW_SIMPLE_RADAR',
57921
+ DrawData:
57922
+ {
57923
+ //BGColor:"rgba(250,250,210,0.8)",
57924
+ //BorderColor:"rgb(110,110,110)",
57925
+ //TextColor:"rgb(0,191,255)",
57926
+ Data:
57927
+ [
57928
+ { Value:10, Name:"1月", Group:"组1"},
57929
+ { Value:70, Name:"2月", Group:"组1"},
57930
+ { Value:80, Name:"3月", Group:"组1"},
57931
+ { Value:10, Name:"4月", Group:"组1"},
57932
+ { Value:40, Name:"5月", Group:"组1"},
57933
+ { Value:60, Name:"6月", Group:"组1"},
57934
+ { Value:66, Name:"7月", Group:"组1"},
57935
+ { Value:69, Name:"8月", Group:"组1"},
57936
+ { Value:80, Name:"9月", Group:"组1"},
57937
+ { Value:30, Name:"10月", Group:"组1"},
57938
+ { Value:20, Name:"11月", Group:"组1"},
57939
+ { Value:68, Name:"12月", Group:"组1"},
57940
+ ],
57941
+
57942
+ AryIndex:
57943
+ [
57944
+ { Name:"1月" },
57945
+ { Name:"2月" },
57946
+ { Name:"3月" },
57947
+ { Name:"4月" },
57948
+ { Name:"5月" },
57949
+ { Name:"6月" },
57950
+ { Name:"7月" },
57951
+ { Name:"8月" },
57952
+ { Name:"9月" },
57953
+ { Name:"10月" },
57954
+ { Name:"11月" },
57955
+ { Name:"12月" },
57956
+ ],
57957
+
57958
+ //TextFont:{ Size:16, Name:"微软雅黑"},
57959
+ //XOffset:-10,
57960
+ //YOffset:-15,
57961
+ Radius:50,
57962
+ }
57963
+ }
57964
+ };
57965
+
57966
+ var apiData=
57967
+ {
57968
+ code:0,
57969
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
57970
+ outdata: { date:kData.GetDate(), time:kData.GetTime() , outvar:[tableData] }
57971
+ };
57972
+
57973
+
57974
+ console.log('[HQData.APIIndex_DRAW_SIMPLE_RADAR] apiData ', apiData);
57975
+ callback(apiData);
57976
+ }
57977
+
57978
+
@@ -11580,6 +11580,48 @@ function JSDraw(errorHandler,symbolData)
11580
11580
 
11581
11581
  return result={ DrawData:{ Data:aryCell, Radius:radius }, DrawType:"DRAW_SIMPLE_PIE" };
11582
11582
  }
11583
+
11584
+ this.RADAR_CELL=function(name, data, max, min)
11585
+ {
11586
+ var cellItem={ Name:name, Max:100, Min:0, Value:null };
11587
+ if (IFrameSplitOperator.IsNumber(data))
11588
+ {
11589
+ cellItem.Value=data;
11590
+ }
11591
+ else if (IFrameSplitOperator.IsString(data))
11592
+ {
11593
+ cellItem.Value=parseFloat(data);
11594
+ }
11595
+ else if (IFrameSplitOperator.IsNonEmptyArray(data))
11596
+ {
11597
+ var lastValue=data[data.length-1];
11598
+ if (IFrameSplitOperator.IsNumber(lastValue)) cellItem.Value=lastValue;
11599
+ else if (IFrameSplitOperator.IsString(lastValue)) cellItem.Value=parseFloat(lastValue);
11600
+ }
11601
+
11602
+ if (IFrameSplitOperator.IsNumber(max)) cellItem.Max=max;
11603
+ if (IFrameSplitOperator.IsNumber(min)) cellItem.Min=min;
11604
+
11605
+ return cellItem;
11606
+ }
11607
+
11608
+ this.DRAWRADAR=function(args)
11609
+ {
11610
+ var radius=args[0];
11611
+ var color=args[1];
11612
+
11613
+ var aryIndex=[];
11614
+ var aryData=[];
11615
+ for(var i=2;i<args.length;++i)
11616
+ {
11617
+ var item=args[i];
11618
+
11619
+ aryIndex.push({ Name:item.Name, Max:item.Max, Min:item.Min });
11620
+ aryData.push({ Value:item.Value, Name:item.Name, Group:"Default"});
11621
+ }
11622
+
11623
+ return result={ DrawData:{ Data:aryData, AryIndex:aryIndex, Radius:radius, AryArea:[{ LineColor:color }] }, DrawType:"DRAW_SIMPLE_RADAR" };
11624
+ }
11583
11625
  }
11584
11626
 
11585
11627
 
@@ -11634,7 +11676,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
11634
11676
  'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
11635
11677
  "VERTLINE","HORLINE","TIPICON",
11636
11678
  "BUY","SELL","SELLSHORT","BUYSHORT",
11637
- "DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE","DRAWPIE",
11679
+ "DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE","DRAWPIE","DRAWRADAR",
11638
11680
  ]);
11639
11681
  if (setFunctionName.has(name)) return true;
11640
11682
 
@@ -18523,6 +18565,14 @@ function JSExecute(ast,option)
18523
18565
  node.Draw=this.Draw.DRAWPIE(args);
18524
18566
  node.Out=[];
18525
18567
  break;
18568
+ //雷达图
18569
+ case "RADAR_CELL":
18570
+ node.Out=this.Draw.RADAR_CELL(args[0],args[1],args[2],args[3]);
18571
+ break;
18572
+ case "DRAWRADAR":
18573
+ node.Draw=this.Draw.DRAWRADAR(args);
18574
+ node.Out=[];
18575
+ break;
18526
18576
 
18527
18577
  default:
18528
18578
  node.Out=this.Algorithm.CallFunction(funcName, args, node, this.SymbolData);
@@ -21539,6 +21589,35 @@ function ScriptIndex(name,script,args,option)
21539
21589
  hqChart.ChartPaint.push(chart);
21540
21590
  }
21541
21591
 
21592
+ this.CreateSimpleRadar=function(hqChart,windowIndex,varItem,id)
21593
+ {
21594
+ var chart=new ChartSimpleRadar();
21595
+ chart.Canvas=hqChart.Canvas;
21596
+ chart.Name=varItem.Name;
21597
+ chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
21598
+ chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
21599
+
21600
+ if (varItem.Draw && varItem.Draw.DrawData)
21601
+ {
21602
+ var drawData=varItem.Draw.DrawData;
21603
+ if (drawData.Data) chart.Data.Data=drawData.Data;
21604
+ if (drawData.AryIndex) chart.AryIndex=drawData.AryIndex;
21605
+ if (IFrameSplitOperator.IsPlusNumber(drawData.Radius)) chart.Radius=drawData.Radius;
21606
+ if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
21607
+
21608
+ if (drawData.TextFont) chart.TextFontConfig=drawData.TextFont;
21609
+ if (drawData.TextColor) chart.TextColor=drawData.TextColor;
21610
+ if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
21611
+ if (IFrameSplitOperator.IsNumber(drawData.XOffset)) chart.Offset.X=drawData.XOffset;
21612
+ if (IFrameSplitOperator.IsNumber(drawData.YOffset)) chart.Offset.Y=drawData.YOffset;
21613
+ if (IFrameSplitOperator.IsNonEmptyArray(drawData.AryArea)) chart.AryAreaConfig=drawData.AryArea;
21614
+
21615
+ chart.BuildCacheData();
21616
+ }
21617
+
21618
+ hqChart.ChartPaint.push(chart);
21619
+ }
21620
+
21542
21621
  this.CreateTradeIcon=function(hqChart,windowIndex,varItem,id)
21543
21622
  {
21544
21623
  var chart=new ChartTradeIcon();
@@ -21913,16 +21992,18 @@ function ScriptIndex(name,script,args,option)
21913
21992
  chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
21914
21993
  chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
21915
21994
 
21916
- chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
21995
+ chart.Data=hqChart.ChartPaint[0].Data; //绑定K线
21917
21996
  chart.PointGroup=varItem.Draw.DrawData;
21918
21997
  if (varItem.Draw.Name) chart.Name=varItem.Draw.Name;
21998
+ chart.BuildCacheData();
21999
+
21919
22000
  this.SetChartIndexName(chart);
21920
22001
  hqChart.ChartPaint.push(chart);
21921
22002
 
21922
- var titleIndex=windowIndex+1;
22003
+ var titleIndex=windowIndex+1;
21923
22004
  var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
21924
22005
  titleData.DataType="ChartMultiPoint";
21925
- titleData.PointGroup=chart.PointGroup;
22006
+ titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
21926
22007
  hqChart.TitlePaint[titleIndex].Data[i]=titleData;
21927
22008
  }
21928
22009
 
@@ -22414,6 +22495,10 @@ function ScriptIndex(name,script,args,option)
22414
22495
  break;
22415
22496
  case "DRAW_SIMPLE_PIE":
22416
22497
  this.CreateSimplePie(hqChart,windowIndex,item,i);
22498
+ break;
22499
+ case "DRAW_SIMPLE_RADAR":
22500
+ this.CreateSimpleRadar(hqChart,windowIndex,item,i);
22501
+ break;
22417
22502
  case "BUY":
22418
22503
  case "SELL":
22419
22504
  case "SELLSHORT":
@@ -22766,7 +22851,10 @@ function OverlayScriptIndex(name,script,args,option)
22766
22851
  break;
22767
22852
  case "DRAW_SIMPLE_PIE":
22768
22853
  this.CreateSimplePie(hqChart,windowIndex,item,i);
22769
-
22854
+ break;
22855
+ case "DRAW_SIMPLE_RADAR":
22856
+ this.CreateSimpleRadar(hqChart,windowIndex,item,i);
22857
+ break;
22770
22858
  case "KLINE_BG":
22771
22859
  this.CreateBackgroud(hqChart,windowIndex,item,i);
22772
22860
  break;
@@ -23630,7 +23718,7 @@ function OverlayScriptIndex(name,script,args,option)
23630
23718
  frame.ChartPaint.push(chart);
23631
23719
  }
23632
23720
 
23633
- this.CreateMultiPoint=function(hqChart,windowIndex,varItem,i)
23721
+ this.CreateMultiPoint=function(hqChart,windowIndex,varItem,id)
23634
23722
  {
23635
23723
  var overlayIndex=this.OverlayIndex;
23636
23724
  var frame=overlayIndex.Frame;
@@ -23643,6 +23731,17 @@ function OverlayScriptIndex(name,script,args,option)
23643
23731
 
23644
23732
  chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
23645
23733
  chart.PointGroup=varItem.Draw.DrawData;
23734
+ chart.BuildCacheData();
23735
+
23736
+ var titleIndex=windowIndex+1;
23737
+ var titlePaint=hqChart.TitlePaint[titleIndex];
23738
+ var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
23739
+ titleData.DataType="ChartMultiPoint";
23740
+ titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
23741
+ titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
23742
+
23743
+ this.SetChartIndexName(chart);
23744
+
23646
23745
  frame.ChartPaint.push(chart);
23647
23746
  }
23648
23747
 
@@ -23834,6 +23933,39 @@ function OverlayScriptIndex(name,script,args,option)
23834
23933
  frame.ChartPaint.push(chart);
23835
23934
  }
23836
23935
 
23936
+ this.CreateSimpleRadar=function(hqChart,windowIndex,varItem,id)
23937
+ {
23938
+ var overlayIndex=this.OverlayIndex;
23939
+ var frame=overlayIndex.Frame;
23940
+ var chart=new ChartSimpleRadar();
23941
+ chart.Canvas=hqChart.Canvas;
23942
+ chart.Name=varItem.Name;
23943
+ chart.ChartBorder=frame.Frame.ChartBorder;
23944
+ chart.ChartFrame=frame.Frame;
23945
+ chart.Identify=overlayIndex.Identify;
23946
+ chart.HQChart=hqChart;
23947
+
23948
+ if (varItem.Draw && varItem.Draw.DrawData)
23949
+ {
23950
+ var drawData=varItem.Draw.DrawData;
23951
+ if (drawData.Data) chart.Data.Data=drawData.Data;
23952
+ if (drawData.AryIndex) chart.AryIndex=drawData.AryIndex;
23953
+ if (IFrameSplitOperator.IsPlusNumber(drawData.Radius)) chart.Radius=drawData.Radius;
23954
+ if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
23955
+
23956
+ if (drawData.TextFont) chart.TextFontConfig=drawData.TextFont;
23957
+ if (drawData.TextColor) chart.TextColor=drawData.TextColor;
23958
+ if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
23959
+ if (IFrameSplitOperator.IsNumber(drawData.XOffset)) chart.Offset.X=drawData.XOffset;
23960
+ if (IFrameSplitOperator.IsNumber(drawData.YOffset)) chart.Offset.Y=drawData.YOffset;
23961
+ if (IFrameSplitOperator.IsNonEmptyArray(drawData.AryArea)) chart.AryAreaConfig=drawData.AryArea;
23962
+
23963
+ chart.BuildCacheData();
23964
+ }
23965
+
23966
+ frame.ChartPaint.push(chart);
23967
+ }
23968
+
23837
23969
  this.CreateChartVericaltLine=function(hqChart,windowIndex,varItem,id)
23838
23970
  {
23839
23971
  var overlayIndex=this.OverlayIndex;
@@ -24806,14 +24938,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
24806
24938
  drawItem.Text=draw.Text;
24807
24939
  drawItem.Name=draw.Name;
24808
24940
  drawItem.DrawType=draw.DrawType;
24809
- drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);
24810
- if (IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData))
24811
- {
24812
- for(var k=0; k<drawItem.DrawData.length; ++k)
24813
- {
24814
- this.GetKLineData(drawItem.DrawData[k].Point, hqChart);
24815
- }
24816
- }
24941
+ drawItem.DrawData=draw.DrawData;
24817
24942
 
24818
24943
  outVarItem.Draw=drawItem;
24819
24944
  result.push(outVarItem);
@@ -25047,6 +25172,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
25047
25172
  outVarItem.Draw=drawItem;
25048
25173
  result.push(outVarItem);
25049
25174
  }
25175
+ else if (draw.DrawType=="DRAW_SIMPLE_RADAR")
25176
+ {
25177
+ drawItem.Name=draw.Name;
25178
+ drawItem.Type=draw.Type;
25179
+
25180
+ drawItem.DrawType=draw.DrawType;
25181
+ drawItem.DrawData=draw.DrawData; //{ AryIndex:[ ], Data:[] };
25182
+
25183
+ outVarItem.Draw=drawItem;
25184
+ result.push(outVarItem);
25185
+ }
25050
25186
  else
25051
25187
  {
25052
25188
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -25349,14 +25485,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
25349
25485
  drawItem.Text=draw.Text;
25350
25486
  drawItem.Name=draw.Name;
25351
25487
  drawItem.DrawType=draw.DrawType;
25352
- drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);
25353
- if (IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData))
25354
- {
25355
- for(var k=0; k<drawItem.DrawData.length; ++k)
25356
- {
25357
- this.GetKLineData(drawItem.DrawData[k].Point, hqChart);
25358
- }
25359
- }
25488
+ drawItem.DrawData=draw.DrawData;
25360
25489
 
25361
25490
  outVarItem.Draw=drawItem;
25362
25491
  result.push(outVarItem);