hqchart 1.1.14258 → 1.1.14274

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.
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14257";
8
+ var HQCHART_VERSION="1.1.14273";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -55710,6 +55710,10 @@ HQData.NetworkFilter=function(data, callback)
55710
55710
  HQData.Report_RequestVirtualStockData(data, callback); //股票数据 虚拟表格
55711
55711
  break;
55712
55712
 
55713
+ case "APIScriptIndex::ExecuteScript": //测试指标
55714
+ HQData.Report_APIIndex(data, callback);
55715
+ break;
55716
+
55713
55717
  }
55714
55718
  }
55715
55719
 
@@ -56774,7 +56778,7 @@ HQData.Report_RequestStockData=function(data, callback)
56774
56778
  newItem[33]=kData;
56775
56779
 
56776
56780
 
56777
- newItem[101]=105.0;
56781
+ newItem[101]=HQData.GetRandomTestData(-90,1000);
56778
56782
  newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`;
56779
56783
 
56780
56784
 
@@ -57367,6 +57371,407 @@ HQData.GetMulitDayMinuteDataByDate=function(aryDay, aryDate)
57367
57371
  }
57368
57372
 
57369
57373
 
57374
+ HQData.Report_APIIndex=function(data, callback)
57375
+ {
57376
+ var request=data.Request;
57377
+ if (request.Data.indexname=='API-MULTI_POINT')
57378
+ HQData.APIIndex_MULTI_POINT(data, callback);
57379
+ else if (request.Data.indexname=="API-DRAWTEXTREL")
57380
+ HQData.APIIndex_DRAWTEXTREL(data, callback);
57381
+ else if (request.Data.indexname=="API-DRAWCOLORKLINE")
57382
+ HQData.APIIndex_DRAWCOLORKLINE(data, callback);
57383
+ else if (request.Data.indexname=="API-DRAWBAND")
57384
+ HQData.APIIndex_DRAWBAND(data, callback);
57385
+ else if (request.Data.indexname=="API-MULTI_LINE")
57386
+ HQData.APIIndex_MULTI_LINE(data, callback);
57387
+ else if (request.Data.indexname=="API-MULTI_SVGICON")
57388
+ HQData.APIIndex_MULTI_SVGICON(data, callback);
57389
+ }
57390
+
57391
+
57392
+ HQData.APIIndex_MULTI_POINT=function(data, callback)
57393
+ {
57394
+ data.PreventDefault=true;
57395
+ var hqchart=data.HQChart;
57396
+ var kData=hqchart.GetKData();
57397
+
57398
+ var pointData=
57399
+ {
57400
+ name:'MULTI_POINT', type:1,
57401
+ Draw:
57402
+ {
57403
+ DrawType:'MULTI_POINT',
57404
+ DrawData:[],
57405
+ }
57406
+ };
57407
+
57408
+ var point=
57409
+ {
57410
+ Color:'rgb(211,211,211)',
57411
+ BGColor:"rgb(255,215,0)",
57412
+ PointRadius:10,
57413
+ LineWidth:2,
57414
+ Point:[ ]
57415
+ };
57416
+
57417
+ for(var i=kData.Data.length-1, j=0; i>=0 && j<6; i-=5, ++j)
57418
+ {
57419
+ var item=kData.Data[i];
57420
+ point.Point.push({Date:item.Date, Time:item.Time, Value:item.Low});
57421
+ }
57422
+
57423
+ pointData.Draw.DrawData.push(point);
57424
+
57425
+
57426
+ var point=
57427
+ {
57428
+ Color:'rgb(148,0,211)',
57429
+ BGColor:"rgb(30,144,255)",
57430
+ PointRadius:5,
57431
+ LineWidth:1,
57432
+ Point:[ ]
57433
+ };
57434
+
57435
+ for(var i=kData.Data.length-3, j=0; i>=0 && j<5; i-=6, ++j)
57436
+ {
57437
+ var item=kData.Data[i];
57438
+ point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2});
57439
+ }
57440
+
57441
+ pointData.Draw.DrawData.push(point);
57442
+
57443
+ var apiData=
57444
+ {
57445
+ code:0, stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
57446
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar: [pointData] }
57447
+ };
57448
+
57449
+ console.log('[HQData.APIIndex_MULTI_POINT] apiData ', apiData);
57450
+ callback(apiData);
57451
+ }
57452
+
57453
+ HQData.APIIndex_DRAWTEXTREL=function(data, callback)
57454
+ {
57455
+ data.PreventDefault=true;
57456
+ var hqchart=data.HQChart;
57457
+ var kData=hqchart.GetKData();
57458
+
57459
+ var closeLine={ name:'价', type:0, data:kData.GetClose(), color:"rgb(255, 52, 179)" };
57460
+
57461
+ var divText=
57462
+ {
57463
+ name:'DRAWTEXTREL', type:1,
57464
+ Draw:
57465
+ {
57466
+ DrawType:'DRAWTEXTREL',
57467
+ DrawData:
57468
+ {
57469
+ Point: {X: 500, Y: 500 },
57470
+ Text: "!!!!前方高能!!!!"
57471
+ },
57472
+
57473
+ Font:"20px 微软雅黑"
57474
+ },
57475
+ color:"rgb(255,0,0)",
57476
+
57477
+ DrawVAlign:1,
57478
+ DrawAlign:1,
57479
+ }
57480
+
57481
+ var divText2=
57482
+ {
57483
+ name:'DRAWTEXTABS', type:1,
57484
+ Draw:
57485
+ {
57486
+ DrawType:'DRAWTEXTABS',
57487
+ DrawData:
57488
+ {
57489
+ Point: {X: 5, Y: 5 },
57490
+ Text: "后台指标示例"
57491
+ },
57492
+
57493
+ Font:"24px 微软雅黑"
57494
+ },
57495
+ color:"rgb(255,200,0)",
57496
+
57497
+ DrawVAlign:2,
57498
+ }
57499
+
57500
+ var apiData=
57501
+ {
57502
+ code:0,
57503
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
57504
+ outdata: { date:kData.GetDate() ,time:kData.GetTime(), outvar:[closeLine,divText, divText2] }
57505
+ };
57506
+
57507
+ console.log('[HQData::APIIndex_DRAWTEXTREL] apiData ', apiData);
57508
+ callback(apiData);
57509
+ }
57510
+
57511
+
57512
+ HQData.APIIndex_DRAWCOLORKLINE=function(data, callback)
57513
+ {
57514
+ data.PreventDefault=true;
57515
+ var hqchart=data.HQChart;
57516
+ var kData=hqchart.GetKData();
57517
+
57518
+ var aryTestKData=[];
57519
+ var aryTestkData2=[];
57520
+ for(var i=0;i<kData.Data.length;++i)
57521
+ {
57522
+ var item=kData.Data[i];
57523
+ if (i%5==3) aryTestKData[i]={ Open:item.Open, High:item.High, Low:item.Low, Close:item.Close };
57524
+ else aryTestKData[i]=null;
57525
+
57526
+ if (i%13==5) aryTestkData2[i]={ Open:item.Open, High:item.High, Low:item.Low, Close:item.Close };
57527
+ else aryTestkData2[i]=null;
57528
+ }
57529
+
57530
+ var varKLine={ type:1, name:"条件K线", Draw:{ DrawData:aryTestKData, DrawType:'DRAWCOLORKLINE', IsEmptyBar:false, Color:"rgb(100,0,100)"} };
57531
+ var varKLine2={ type:1, name:"条件K线2", Draw:{ DrawData:aryTestkData2, DrawType:'DRAWCOLORKLINE', IsEmptyBar:false, Color:"rgb(255, 140, 0)"} };
57532
+
57533
+ var hqchartData=
57534
+ {
57535
+ outdata:
57536
+ {
57537
+ date:kData.GetDate(), time:kData.GetTime(),
57538
+ outvar:[ varKLine, varKLine2]
57539
+ } ,
57540
+ code:0
57541
+ };
57542
+
57543
+ console.log("[HQData.APIIndex_DRAWCOLORKLINE] DRAWCOLORKLINE=",hqchartData);
57544
+
57545
+ callback(hqchartData);
57546
+ }
57547
+
57548
+
57549
+ HQData.APIIndex_DRAWBAND=function(data, callback)
57550
+ {
57551
+ data.PreventDefault=true;
57552
+ var hqchart=data.HQChart;
57553
+ var kData=hqchart.GetKData();
57554
+
57555
+
57556
+ var bandData=
57557
+ {
57558
+ name:"DRAWBAND", type:1,
57559
+ Draw:
57560
+ {
57561
+ Name:"DRAWBAND",
57562
+ DrawType:"DRAWBAND",
57563
+ DrawData:[],
57564
+ Color:["rgb(220,20,60)","rgb(34,139,34)"]
57565
+ }
57566
+ };
57567
+
57568
+ for(var i=0;i<kData.Data.length;++i)
57569
+ {
57570
+ var kItem=kData.Data[i];
57571
+ bandData.Draw.DrawData[i]={ Value:kItem.Close, Value2:kItem.Open };
57572
+ }
57573
+
57574
+ //var closeLine={ Name:'收', Type:0, Data:aryClose };
57575
+ //var openLine={ Name:'开', Type:0, Data:aryOpen};
57576
+
57577
+ var hqchartData=
57578
+ {
57579
+ outdata:{ date:kData.GetDate(), time:kData.GetTime(), outvar:[ bandData, ] } ,
57580
+ code:0
57581
+ };
57582
+
57583
+ callback(hqchartData);
57584
+ }
57585
+
57586
+
57587
+ HQData.APIIndex_MULTI_LINE=function(data, callback)
57588
+ {
57589
+ data.PreventDefault=true;
57590
+ var hqchart=data.HQChart;
57591
+ var kData=hqchart.GetKData();
57592
+
57593
+ var line3=
57594
+ {
57595
+ name:'MULTI_LINE', type:1,
57596
+
57597
+ Draw:
57598
+ {
57599
+ DrawType:'MULTI_LINE', DrawData:[],
57600
+ LineWidth:5,
57601
+ Arrow:
57602
+ {
57603
+ Start:true, //是否绘制开始箭头 <-
57604
+ End:true, //是否绘制结束箭头 ->
57605
+ Angle:30, //三角斜边一直线夹角
57606
+ Length:10, //三角斜边长度
57607
+ LineWidth:4, //箭头粗细
57608
+ }
57609
+ }, //绘制线段数组
57610
+
57611
+ IsShowTitle:false
57612
+ };
57613
+
57614
+ var point3=
57615
+ {
57616
+ Color:'rgb(255,0,255)',
57617
+ Point:[]
57618
+ }
57619
+
57620
+ for(var i=kData.Data.length-10;i<kData.Data.length;++i)
57621
+ {
57622
+ var item=kData.Data[i];
57623
+ point3.Point.push({Date:item.Date, Time:item.Time, Value:item.High});
57624
+ }
57625
+ line3.Draw.DrawData.push(point3);
57626
+
57627
+ var apiData=
57628
+ {
57629
+ code:0,
57630
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
57631
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[line3] }
57632
+ };
57633
+
57634
+ console.log('[HQData.APIIndex_MULTI_LINE] apiData ', apiData);
57635
+ callback(apiData);
57636
+ }
57637
+
57638
+
57639
+ HQData.APIIndex_MULTI_SVGICON=function(data, callback)
57640
+ {
57641
+ data.PreventDefault=true;
57642
+ var hqchart=data.HQChart;
57643
+ var kData=hqchart.GetKData();
57644
+
57645
+ var iconData=
57646
+ {
57647
+ name:'MULTI_SVGICON', type:1,
57648
+ Draw:
57649
+ {
57650
+ DrawType:'MULTI_SVGICON',
57651
+ DrawData:
57652
+ {
57653
+ Family:'iconfont',
57654
+ Icon:
57655
+ [
57656
+ //{ Date:20190916, Value:"High", Symbol:'\ue611', Color:'rgb(240,0,0)', Baseline:2 , YMove:-5}, //0 居中 1 上 2 下
57657
+ //{ Date:20190919, Value:15.3, Symbol:'\ue615', Color:'rgb(240,240,0)', Baseline:2 },
57658
+ //{ Date:20190909, Value:15.4, Symbol:'\ue615', Color:'rgb(240,100,30)'}
57659
+ ]
57660
+ }
57661
+ } //绘制图标数组
57662
+ };
57663
+
57664
+ var TEST_ICON_SYMBOL=['\ue678', '\ue66e', "\ue66b"];
57665
+ var TEST_ICON_COLOR=["'rgb(240,0,0)", "rgb(240,100,30)", "rgb(138,43, 226)", "rgb(151,255,255)", "rgb(255, 20, 147)"];
57666
+
57667
+ for(var i=kData.Data.length-20, j=0;i<kData.Data.length;++i)
57668
+ {
57669
+ var item=kData.Data[i];
57670
+
57671
+ if (i%3!=1) continue;
57672
+
57673
+ var iconIndex=Math.ceil(Math.random()*10) % TEST_ICON_SYMBOL.length;
57674
+ var colorIndex=Math.ceil(Math.random()*10) % TEST_ICON_COLOR.length;
57675
+
57676
+ if (j==2)
57677
+ {
57678
+ var iconItem=
57679
+ {
57680
+ Date:item.Date, Time:item.Time,
57681
+ Value:item.High,
57682
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
57683
+ Color:TEST_ICON_COLOR[colorIndex],
57684
+ Baseline:2,
57685
+ YMove:-35,
57686
+ Line:{ Color:"rgb(153,50,204)", KData:"H", Width:1, Offset:[3,10], Dash:[5,5] },
57687
+ };
57688
+
57689
+ var iconItem2=
57690
+ {
57691
+ Date:item.Date, Time:item.Time,
57692
+ Value:item.Low,
57693
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
57694
+ Color:TEST_ICON_COLOR[colorIndex],
57695
+ Baseline:2,
57696
+ YMove:50,
57697
+ };
57698
+
57699
+ iconData.Draw.DrawData.Icon.push(iconItem2);
57700
+ }
57701
+ else if (j==3)
57702
+ {
57703
+ var iconItem=
57704
+ {
57705
+ Date:item.Date, Time:item.Time,
57706
+ Value:"L",
57707
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
57708
+ Color:TEST_ICON_COLOR[colorIndex],
57709
+ Baseline:1,
57710
+ YMove:5,
57711
+ };
57712
+ }
57713
+ else if (j==4)
57714
+ {
57715
+ var iconItem=
57716
+ {
57717
+ Date:item.Date, Time:item.Time,
57718
+ Value:item.Low*0.95,
57719
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
57720
+ Color:TEST_ICON_COLOR[colorIndex],
57721
+ Baseline:1,
57722
+ YMove:5,
57723
+ Line:{ Color:"rgb(153,50,204)", KData:"L", Width:1, Offset:[3,10], Dash:[5,5] },
57724
+ Text:"提示信息:<br>这个是提示信息"
57725
+ };
57726
+ }
57727
+ else
57728
+ {
57729
+ var iconItem=
57730
+ {
57731
+ Date:item.Date, Time:item.Time,
57732
+ Value:item.High,
57733
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
57734
+ Color:TEST_ICON_COLOR[colorIndex],
57735
+ Baseline:2,
57736
+ YMove:-20,
57737
+ Text:
57738
+ {
57739
+ AryText:
57740
+ [
57741
+ { Title:"日期:", Text:`${item.Date}`, Color:"rgb(230,230,230)", Align:"Left"},
57742
+ { Title:"提示:", Text:"提示信息xxxxx", Color:"rgb(250,0,0)",Align:"Left"}
57743
+ ]
57744
+ },
57745
+
57746
+ //Line:{ Color:"rgb(153,50,204)", KData:"H", Width:1, Offset:[3,10], Dash:[5,5] },
57747
+ };
57748
+
57749
+
57750
+ /*
57751
+ if (j%5==1)
57752
+ iconItem.Image={ Data:image1, Width:32, Height:32 };
57753
+ else if (j%5==3)
57754
+ iconItem.Image={ Data:image2, Width:32, Height:32 };
57755
+ */
57756
+ }
57757
+
57758
+ iconData.Draw.DrawData.Icon.push(iconItem);
57759
+ ++j;
57760
+ }
57761
+
57762
+ var apiData=
57763
+ {
57764
+ code:0,
57765
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
57766
+ outdata: { date:kData.GetDate() , outvar:[iconData] }
57767
+ };
57768
+
57769
+
57770
+ console.log('[HQData.APIIndex_MULTI_SVGICON] apiData ', apiData);
57771
+ callback(apiData);
57772
+ }
57773
+
57774
+
57370
57775
 
57371
57776
 
57372
57777
  /*暴露外部用的方法*/