hqchart 1.1.14478 → 1.1.14484

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.
@@ -2695,6 +2695,11 @@ var JSCHART_EVENT_ID=
2695
2695
  SEARCH_DIALOG_ON_CLICK_INDEX:163, //切换指标-指标对话框
2696
2696
 
2697
2697
  ON_CALCULATE_CHIP_DATA:164, //计算筹码数据 (筹码图用)
2698
+
2699
+
2700
+ ON_CLICK_DEAL_ROW:165,
2701
+ ON_RCLICK_DEAL_ROW:166,
2702
+ ON_DBCLICK_DEAL_ROW:167,
2698
2703
  }
2699
2704
 
2700
2705
  var JSCHART_OPERATOR_ID=
@@ -25283,7 +25288,7 @@ function IChartPainting()
25283
25288
  for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
25284
25289
  {
25285
25290
  var data=this.Data.Data[i];
25286
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
25291
+ if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
25287
25292
 
25288
25293
  if (firstOverlayOpen==null) firstOverlayOpen=data.Open;
25289
25294
 
@@ -26213,7 +26218,7 @@ function ChartKLine()
26213
26218
  {
26214
26219
  var data=this.Data.Data[i];
26215
26220
  this.ShowRange.End=i;
26216
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
26221
+ if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
26217
26222
 
26218
26223
  var left=xOffset;
26219
26224
  var right=xOffset+dataWidth;
@@ -28581,6 +28586,7 @@ function ChartKLine()
28581
28586
  tooltip.Data=this.Data.Data[index];
28582
28587
  tooltip.ChartPaint=this;
28583
28588
  tooltip.Type=0; //K线信息
28589
+ tooltip.Symbol=this.Symbol;
28584
28590
  return true;
28585
28591
  }
28586
28592
  }
@@ -28615,7 +28621,7 @@ function ChartKLine()
28615
28621
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
28616
28622
  {
28617
28623
  var data=this.Data.Data[i];
28618
- if (!IFrameSplitOperator.IsNumber(data.Close)) continue;
28624
+ if (!data || !IFrameSplitOperator.IsNumber(data.Close)) continue;
28619
28625
 
28620
28626
  if (range.Max==null) range.Max=data.Close;
28621
28627
  if (range.Min==null) range.Min=data.Close;
@@ -28629,7 +28635,7 @@ function ChartKLine()
28629
28635
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
28630
28636
  {
28631
28637
  var data=this.Data.Data[i];
28632
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
28638
+ if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
28633
28639
 
28634
28640
  if (this.DrawType==5 && data.OrderFlow && IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset))
28635
28641
  {
@@ -57776,6 +57782,19 @@ function DynamicChartTitlePainting()
57776
57782
  DownColor:g_JSChartResource.IndexTitle.UpDownArrow.DownColor,
57777
57783
  UnchangeColor:g_JSChartResource.IndexTitle.UpDownArrow.UnchangeColor
57778
57784
  };
57785
+
57786
+
57787
+ //K线标题颜色
57788
+ this.UpColor=g_JSChartResource.UpTextColor;
57789
+ this.DownColor=g_JSChartResource.DownTextColor;
57790
+ this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
57791
+
57792
+ this.VolColor=g_JSChartResource.Title.VolColor;
57793
+ this.AmountColor=g_JSChartResource.Title.AmountColor;
57794
+ this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
57795
+ this.NameColor = g_JSChartResource.Title.NameColor;
57796
+ this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
57797
+
57779
57798
 
57780
57799
 
57781
57800
  //动态标题
@@ -57796,6 +57815,15 @@ function DynamicChartTitlePainting()
57796
57815
  this.BGColor=g_JSChartResource.IndexTitleBGColor;
57797
57816
  this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
57798
57817
  this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
57818
+
57819
+ this.UpColor=g_JSChartResource.UpTextColor;
57820
+ this.DownColor=g_JSChartResource.DownTextColor;
57821
+ this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
57822
+
57823
+ this.VolColor=g_JSChartResource.Title.VolColor;
57824
+ this.AmountColor=g_JSChartResource.Title.AmountColor;
57825
+ this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
57826
+ this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
57799
57827
  }
57800
57828
 
57801
57829
  this.SetDynamicTitleData=function(outName, args, data)
@@ -58019,6 +58047,93 @@ function DynamicChartTitlePainting()
58019
58047
  return aryText;
58020
58048
  }
58021
58049
 
58050
+ this.FromatKLineTitle=function(item, dataInfo)
58051
+ {
58052
+ var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
58053
+ var upperSymbol="";
58054
+ if (dataInfo.Symbol) upperSymbol=dataInfo.Symbol.toUpperCase();
58055
+ var pixelRatio=GetDevicePixelRatio();
58056
+ var leftSpace=3*pixelRatio;
58057
+
58058
+ var aryText=[];
58059
+
58060
+
58061
+ if (IFrameSplitOperator.IsNumber(item.Date))
58062
+ {
58063
+ var text=IFrameSplitOperator.FormatDateString(item.Date);
58064
+ aryText.push({ Text:text, Color:this.DateTimeColor });
58065
+ }
58066
+
58067
+ if (IFrameSplitOperator.IsNumber(item.Open))
58068
+ {
58069
+ var color=this.GetColor(item.Open,item.YClose);
58070
+ var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);
58071
+ aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
58072
+ }
58073
+
58074
+ if (IFrameSplitOperator.IsNumber(item.High))
58075
+ {
58076
+ var color=this.GetColor(item.High,item.YClose);
58077
+ var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);
58078
+ aryText.push({ Text:text, Color:color, LeftSpace:leftSpace });
58079
+ }
58080
+
58081
+ if (IFrameSplitOperator.IsNumber(item.Low))
58082
+ {
58083
+ var color=this.GetColor(item.Low,item.YClose);
58084
+ var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);
58085
+ aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
58086
+ }
58087
+
58088
+ if (IFrameSplitOperator.IsNumber(item.Close))
58089
+ {
58090
+ var color=this.GetColor(item.Close,item.YClose);
58091
+ var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);
58092
+ aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
58093
+ }
58094
+
58095
+ //涨幅
58096
+ if (item.YFClose>0 && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
58097
+ {
58098
+ var value=(item.Close-item.YFClose)/item.YFClose*100;
58099
+ var color = this.GetColor(value, 0);
58100
+ var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
58101
+ aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
58102
+ }
58103
+ else if (item.YClose>0)
58104
+ {
58105
+ var value=(item.Close-item.YClose)/item.YClose*100;
58106
+ var color = this.GetColor(value, 0);
58107
+ var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
58108
+ aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
58109
+ }
58110
+
58111
+ if (IFrameSplitOperator.IsNumber(item.Vol)) //成交量
58112
+ {
58113
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
58114
+ var vol=item.Vol/unit;
58115
+ var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
58116
+ aryText.push({ Text:text, Color:this.VolColor, LeftSpace:leftSpace});
58117
+ }
58118
+
58119
+ if (IFrameSplitOperator.IsNumber(item.Amount)) //成交金额
58120
+ {
58121
+ var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);
58122
+ aryText.push({ Text:text, Color:this.AmountColor, LeftSpace:leftSpace});
58123
+ }
58124
+
58125
+ return aryText;
58126
+ }
58127
+
58128
+ this.GetColor=function(price,yClose)
58129
+ {
58130
+ if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
58131
+
58132
+ if(price>yClose) return this.UpColor;
58133
+ else if (price<yClose) return this.DownColor;
58134
+ else return this.UnchangeColor;
58135
+ }
58136
+
58022
58137
  this.ForamtMultiLineTitle=function(dataIndex, dataInfo)
58023
58138
  {
58024
58139
  if (!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines)) return null;
@@ -58504,6 +58619,12 @@ function DynamicChartTitlePainting()
58504
58619
  if (!aryText) return null;
58505
58620
  return { Text:null, ArrayText:aryText };
58506
58621
  }
58622
+ else if (item.DataType=="DRAWKLINE")
58623
+ {
58624
+ aryText=this.FromatKLineTitle(value, item);
58625
+ if (!aryText) return null;
58626
+ return { Text:null, ArrayText:aryText };
58627
+ }
58507
58628
  else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
58508
58629
  {
58509
58630
  var find=g_ScriptIndexChartFactory.Get(item.DataType);
@@ -72446,7 +72567,12 @@ function JSChartResource()
72446
72567
 
72447
72568
  UpTextColor:"rgb(238,21,21)", //上涨文字颜色
72448
72569
  DownTextColor:"rgb(25,158,0)", //下跌文字颜色
72449
- UnchagneTextColor:"rgb(0,0,0)" //平盘文字颜色
72570
+ UnchagneTextColor:"rgb(0,0,0)", //平盘文字颜色
72571
+
72572
+ Selected:
72573
+ {
72574
+ BGColor:"rgb(180,240,240)",
72575
+ }
72450
72576
  },
72451
72577
 
72452
72578
  //报价列表
@@ -73499,6 +73625,12 @@ function JSChartResource()
73499
73625
  this.DealList.FieldColor.Bar[i]=filed.Bar[i];
73500
73626
  }
73501
73627
  }
73628
+
73629
+ if (item.Selected)
73630
+ {
73631
+ var subItem=item.Selected;
73632
+ if (subItem.BGColor) this.DealList.Selected.BGColor=subItem.BGColor;
73633
+ }
73502
73634
  }
73503
73635
 
73504
73636
  if (style.Report) this.SetReportStyle(style.Report);
@@ -655,7 +655,12 @@ function GetBlackStyle()
655
655
 
656
656
  UpTextColor:"rgb(238,21,21)", //上涨文字颜色
657
657
  DownTextColor:"rgb(25,158,0)", //下跌文字颜色
658
- UnchagneTextColor:"rgb(228,228,228)" //平盘文字颜色
658
+ UnchagneTextColor:"rgb(228,228,228)", //平盘文字颜色
659
+
660
+ Selected:
661
+ {
662
+ BGColor:"rgb(49,48,56)",
663
+ }
659
664
  },
660
665
 
661
666
  //报价列表
@@ -368,6 +368,8 @@ HQData.Minute_RequestHistoryMinuteData=function(data, callback)
368
368
 
369
369
  var hqchartData={code:0, data:aryDay, name:symbol, symbol: symbol};
370
370
 
371
+ //hqchartData.data[0].minute.length=45;
372
+
371
373
  callback(hqchartData);
372
374
  }
373
375
 
@@ -1766,17 +1768,22 @@ HQData.GetKLineDataByDate=function(fullData, startDate, endDate)
1766
1768
  HQData.GetDayMinuteDataBySymbol=function(symbol)
1767
1769
  {
1768
1770
  var data=null;
1769
- switch(symbol)
1771
+ var upperSymbol=null;
1772
+ if (symbol) upperSymbol=symbol.toUpperCase();
1773
+ switch(upperSymbol)
1770
1774
  {
1771
- case "000001.sz":
1775
+ case "000001.SZ":
1772
1776
  data=SZ_000001_1DAY_MINUTE;
1773
1777
  break;
1774
- case "600000.sh":
1778
+ case "600000.SH":
1775
1779
  data=SH_600000_1DAY_MINUTE;
1776
1780
  break;
1777
- case "000151.sz":
1781
+ case "000151.SZ":
1778
1782
  data=SZ_000151_1DAY_MINUTE;
1779
1783
  break;
1784
+ case "IM2503.CF":
1785
+ data=CF_IM2503_1DAY_MINUTE;
1786
+ break;
1780
1787
  default:
1781
1788
  data=SZ_000151_1DAY_MINUTE;
1782
1789
  break;
@@ -1912,7 +1919,10 @@ HQData.Report_APIIndex=function(data, callback)
1912
1919
  HQData.APIIndex_MULTI_TEXT(data, callback);
1913
1920
  else if (request.Data.indexname=="API_PARTLINE")
1914
1921
  HQData.APIIndex_PARTLINE(data, callback);
1915
-
1922
+ else if (request.Data.indexname=="API_CHANNELV2")
1923
+ HQData.APIIndex_CHANNEL_V2(data, callback);
1924
+ else if (request.Data.indexname=="API_DRAWKLINE")
1925
+ HQData.APIIndex_DRAWKLINE(data, callback);
1916
1926
  }
1917
1927
 
1918
1928
 
@@ -2609,7 +2619,8 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
2609
2619
  {
2610
2620
  DrawType:'MULTI_BAR',
2611
2621
  DrawData:[]
2612
- } //绘制柱子数组
2622
+ }, //绘制柱子数组\
2623
+ IsShowTitle:false,
2613
2624
  };
2614
2625
 
2615
2626
  //第一组柱子
@@ -2627,14 +2638,15 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
2627
2638
 
2628
2639
  var point2=
2629
2640
  {
2630
- Color:'rgb(55,228,181)', //颜色
2631
- Type:1,
2641
+ Color:'rgb(55,228,181)', //颜色
2642
+ BorderColor:"rgb(255,165,0)", //边框景色
2643
+ Type:2,
2632
2644
  Name:"柱子下部",
2633
2645
  Point:
2634
2646
  [
2635
2647
  //{Date:20190916, Time: Value:15.5, Value2:0 },
2636
2648
  ],
2637
- Width:5
2649
+ Width:10
2638
2650
  };
2639
2651
 
2640
2652
  for(var i=0;i<kData.Data.length;++i)
@@ -2646,7 +2658,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
2646
2658
 
2647
2659
 
2648
2660
 
2649
- barData.Draw.DrawData.push(point);
2661
+ //barData.Draw.DrawData.push(point);
2650
2662
  barData.Draw.DrawData.push(point2);
2651
2663
 
2652
2664
  var apiData=
@@ -2760,3 +2772,106 @@ HQData.APIIndex_PARTLINE=function(data, callback)
2760
2772
  }
2761
2773
 
2762
2774
 
2775
+ HQData.APIIndex_CHANNEL_V2=function(data, callback)
2776
+ {
2777
+ data.PreventDefault=true;
2778
+ var hqchart=data.HQChart;
2779
+ var kData=hqchart.GetKData();
2780
+
2781
+ var channelData=
2782
+ {
2783
+ name:'通道示例', type:1,
2784
+ Draw:
2785
+ {
2786
+ DrawType:'JS_CHART_CHANNEL_V2',
2787
+ DrawData:
2788
+ {
2789
+ AryData:[]
2790
+ }
2791
+ }
2792
+ };
2793
+
2794
+ var aryTestData=kData.GetCloseMA(10);
2795
+ var ARRAY_COLOR=["rgb(0, 0 ,255)", "rgb(255,0,255)", "rgb(255,165,0)"];
2796
+ var colorIndex=0;
2797
+ for(var i=20;i<kData.Data.length;++i)
2798
+ {
2799
+ var index=i%15;
2800
+ var kItem=kData.Data[i];
2801
+ var value=aryTestData[i];
2802
+ var value2=value*1.03;
2803
+ var item={ Date:kItem.Date, Time:kItem.Time, Value: value, Value2:value2 };
2804
+ //var item={ Date:kItem.Date, Time:kItem.Time, Value: kItem.Close*(1.05), Value2:kItem.Close };
2805
+
2806
+ item.Color=ARRAY_COLOR[colorIndex%ARRAY_COLOR.length];
2807
+ channelData.Draw.DrawData.AryData.push(item);
2808
+
2809
+ if (index==0 && i>0) ++colorIndex;
2810
+ }
2811
+
2812
+ var apiData=
2813
+ {
2814
+ code:0,
2815
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
2816
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[channelData] }
2817
+ };
2818
+
2819
+ console.log('[HQData.APIIndex_CHANNEL_V2] apiData ', apiData);
2820
+ callback(apiData);
2821
+ }
2822
+
2823
+
2824
+ HQData.APIIndex_DRAWKLINE=function(data, callback)
2825
+ {
2826
+ data.PreventDefault=true;
2827
+ var hqchart=data.HQChart;
2828
+ var kData=hqchart.GetKData();
2829
+
2830
+ var klineData=
2831
+ {
2832
+ name:"DRAWKLINE", type:1,
2833
+ Draw:
2834
+ {
2835
+ Name:"DRAWKLINE",
2836
+ DrawType:"DRAWKLINE",
2837
+ DrawData:[],
2838
+ Config:{ IsShowMaxMinPrice:true, IsShowKTooltip:true, Symbol:"000001.sh", Name:"上证指数11" }
2839
+ },
2840
+ IsShowTitle:true,
2841
+ };
2842
+
2843
+ var aryDate=[];
2844
+ var aryTime=[];
2845
+ for(var i=100;i<kData.Data.length-100;++i)
2846
+ {
2847
+ var kItem=kData.Data[i];
2848
+ var newItem=
2849
+ {
2850
+ YClose:kItem.YClose,
2851
+ Open:kItem.Open,
2852
+ High:kItem.High,
2853
+ Low:kItem.Low,
2854
+ Close:kItem.Close,
2855
+ Date:kItem.Date,
2856
+ Time:kItem.Time,
2857
+ Vol:kItem.Vol,
2858
+ };
2859
+
2860
+ klineData.Draw.DrawData.push(newItem);
2861
+
2862
+ aryDate.push(kItem.Date);
2863
+ aryTime.push(kItem.Time)
2864
+ }
2865
+
2866
+ var apiData=
2867
+ {
2868
+ code:0,
2869
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
2870
+ outdata: { date:aryDate, time:aryTime, outvar:[klineData] }
2871
+ };
2872
+
2873
+ console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
2874
+ callback(apiData);
2875
+ }
2876
+
2877
+