hqchart 1.1.15451 → 1.1.15474
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/lib/umychart.vue.js +70 -50
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +3 -0
- package/src/jscommon/umychart.PopKeyboard.js +28 -0
- package/src/jscommon/umychart.StatusBar.js +27 -4
- package/src/jscommon/umychart.StockInfo.js +398 -10
- package/src/jscommon/umychart.js +68 -64
- package/src/jscommon/umychart.report.js +9 -0
- package/src/jscommon/umychart.style.js +2 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +80 -65
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +536 -79
package/src/jscommon/umychart.js
CHANGED
|
@@ -2700,6 +2700,15 @@ JSChart.GetShortSymbol=function(symbol)
|
|
|
2700
2700
|
return symbol.slice(0,pos);
|
|
2701
2701
|
}
|
|
2702
2702
|
|
|
2703
|
+
JSChart.CancelEvent=function(e)
|
|
2704
|
+
{
|
|
2705
|
+
if (!e) return;
|
|
2706
|
+
|
|
2707
|
+
if (e.preventDefault) e.preventDefault();
|
|
2708
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
2709
|
+
e.returnValue=false;
|
|
2710
|
+
}
|
|
2711
|
+
|
|
2703
2712
|
|
|
2704
2713
|
var JSCHART_EVENT_ID=
|
|
2705
2714
|
{
|
|
@@ -2788,9 +2797,6 @@ var JSCHART_EVENT_ID=
|
|
|
2788
2797
|
ON_DRAG_SUB_SELECT_RECT:66, //拖拽区间选择子区域
|
|
2789
2798
|
ON_DRAG_SUB_SELECT_RECT_MOUSEUP:67, //拖拽区间选择子区域鼠标松开
|
|
2790
2799
|
|
|
2791
|
-
ON_KEYBOARD_SELECTED:68, //键盘精灵选中回车
|
|
2792
|
-
ON_KEYBOARD_MOUSEUP:69,
|
|
2793
|
-
|
|
2794
2800
|
ON_CLICK_DRAWPICTURE_BUTTON:70, //画图工具按钮
|
|
2795
2801
|
ON_FINISH_MOVE_DRAWPICTURE:71, //画图工具移动完成
|
|
2796
2802
|
|
|
@@ -2936,6 +2942,15 @@ var JSCHART_EVENT_ID=
|
|
|
2936
2942
|
|
|
2937
2943
|
//工具条
|
|
2938
2944
|
ON_CLICK_STATUSBAR_ITEM:301,
|
|
2945
|
+
ON_RCLICK_STATUSBAR_ITEM:302,
|
|
2946
|
+
|
|
2947
|
+
//5档买卖
|
|
2948
|
+
ON_CLICK_STOCKINFO_ITEM:350,
|
|
2949
|
+
ON_RCLICK_STOCKINFO_ITEM:351,
|
|
2950
|
+
|
|
2951
|
+
ON_KEYBOARD_SHOW:350, //显示键盘精灵
|
|
2952
|
+
ON_KEYBOARD_SELECTED:351, //键盘精灵选中回车
|
|
2953
|
+
ON_KEYBOARD_MOUSEUP:352,
|
|
2939
2954
|
}
|
|
2940
2955
|
|
|
2941
2956
|
var JSCHART_OPERATOR_ID=
|
|
@@ -27378,6 +27393,7 @@ function IChartPainting()
|
|
|
27378
27393
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
27379
27394
|
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
27380
27395
|
if (bHScreen) return;
|
|
27396
|
+
if (!this.Data) return;
|
|
27381
27397
|
|
|
27382
27398
|
var isMinute=this.IsMinuteFrame();
|
|
27383
27399
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
@@ -27518,6 +27534,7 @@ function IChartPainting()
|
|
|
27518
27534
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return null;
|
|
27519
27535
|
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
27520
27536
|
if (bHScreen) return null;
|
|
27537
|
+
if (!this.Data) return null;
|
|
27521
27538
|
|
|
27522
27539
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
27523
27540
|
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
@@ -56826,6 +56843,8 @@ function FrameSplitKLinePriceY()
|
|
|
56826
56843
|
isLast=pageInfo.IsLast;
|
|
56827
56844
|
}
|
|
56828
56845
|
}
|
|
56846
|
+
|
|
56847
|
+
if (!latestItem || !IFrameSplitOperator.IsNumber(latestItem.Close)) return null;
|
|
56829
56848
|
|
|
56830
56849
|
var info=new CoordinateInfo();
|
|
56831
56850
|
info.Type=0;
|
|
@@ -79928,7 +79947,7 @@ function JSChartResource()
|
|
|
79928
79947
|
TitleColor:"rgb(90,90,90)",
|
|
79929
79948
|
VolColor:"rgb(90,90,90)",
|
|
79930
79949
|
Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
|
|
79931
|
-
CellMargin:{ Top:
|
|
79950
|
+
CellMargin:{ Top:3*GetDevicePixelRatio(), Bottom:3*GetDevicePixelRatio(), Left:5*GetDevicePixelRatio(), Right:5*GetDevicePixelRatio(), YOffset:1*GetDevicePixelRatio() },
|
|
79932
79951
|
BottomLine:{ Enable:true, Color:"rgb(192,192,192)"}, //底部分割线
|
|
79933
79952
|
TopLine:{ Enable:false, Color:"rgb(192,192,192)"}, //底部分割线
|
|
79934
79953
|
|
|
@@ -79944,10 +79963,12 @@ function JSChartResource()
|
|
|
79944
79963
|
Font:14*GetDevicePixelRatio() +'px 微软雅黑',
|
|
79945
79964
|
TitleColor:"rgb(90,90,90)",
|
|
79946
79965
|
TextColor:"rgb(90,90,90)",
|
|
79947
|
-
Margin:{ Left:0, Top:
|
|
79948
|
-
CellMargin:{ Top:
|
|
79966
|
+
Margin:{ Left:0, Top:2*GetDevicePixelRatio(), Bottom:0, Right:0 },
|
|
79967
|
+
CellMargin:{ Top:3*GetDevicePixelRatio(), Bottom:3*GetDevicePixelRatio(), Left:5, Right:5, YOffset:1*GetDevicePixelRatio() },
|
|
79949
79968
|
},
|
|
79950
79969
|
|
|
79970
|
+
MouseOn:{ BGColor:"rgb(169,169,169)" },
|
|
79971
|
+
|
|
79951
79972
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
79952
79973
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
79953
79974
|
UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
|
|
@@ -81150,6 +81171,12 @@ function JSChartResource()
|
|
|
81150
81171
|
}
|
|
81151
81172
|
}
|
|
81152
81173
|
|
|
81174
|
+
if (style.MouseOn)
|
|
81175
|
+
{
|
|
81176
|
+
var item=style.MouseOn;
|
|
81177
|
+
if (item.BGColor) dest.MouseOn.BGColor=item.BGColor;
|
|
81178
|
+
}
|
|
81179
|
+
|
|
81153
81180
|
if (style.UpTextColor) dest.UpTextColor=style.UpTextColor;
|
|
81154
81181
|
if (style.DownTextColor) dest.DownTextColor=style.DownTextColor;
|
|
81155
81182
|
if (style.UnchangeTextColor) dest.UnchangeTextColor=style.UnchangeTextColor;
|
|
@@ -103045,6 +103072,24 @@ var MARKET_SUFFIX_NAME=
|
|
|
103045
103072
|
return false;
|
|
103046
103073
|
},
|
|
103047
103074
|
|
|
103075
|
+
//是否包含前缀
|
|
103076
|
+
IsPrefixIncludes:function(symbol, aryPrefix)
|
|
103077
|
+
{
|
|
103078
|
+
if (!symbol) return false;
|
|
103079
|
+
var shortSymbol=this.GetShortSymbol(symbol);
|
|
103080
|
+
if (!shortSymbol) return false;
|
|
103081
|
+
shortSymbol=shortSymbol.toUpperCase();
|
|
103082
|
+
|
|
103083
|
+
for(var i=0;i<aryPrefix.length;++i)
|
|
103084
|
+
{
|
|
103085
|
+
var strValue=aryPrefix[i];
|
|
103086
|
+
if (!strValue) continue;
|
|
103087
|
+
if (shortSymbol.search(strValue)===0) return true;
|
|
103088
|
+
}
|
|
103089
|
+
|
|
103090
|
+
return false;
|
|
103091
|
+
},
|
|
103092
|
+
|
|
103048
103093
|
IsChinaFutures:function(upperSymbol) //是否是国内期货 /期权
|
|
103049
103094
|
{
|
|
103050
103095
|
if (!upperSymbol) return false;
|
|
@@ -103159,15 +103204,26 @@ var MARKET_SUFFIX_NAME=
|
|
|
103159
103204
|
return false;
|
|
103160
103205
|
},
|
|
103161
103206
|
|
|
103207
|
+
//北交所股票代码全面启用“920”开头的六位数编码规则(如 920XXX),已于 2025 年 10 月 9 日完成存量与增量股票的统一切换,标志着其与新三板代码的脱钩。
|
|
103208
|
+
// 新代码通常将原 43、83、87 开头的旧代码前三位变更为 920,后三位保持不变
|
|
103162
103209
|
IsBJStock:function(symbol) //北交所股票
|
|
103163
103210
|
{
|
|
103164
103211
|
if (!symbol) return false;
|
|
103165
103212
|
var upperSymbol=symbol.toUpperCase();
|
|
103166
103213
|
if (!this.IsBJ(upperSymbol)) return false;
|
|
103167
103214
|
|
|
103168
|
-
|
|
103215
|
+
if (upperSymbol.charAt(0)=='9' && upperSymbol.charAt(1)=='2' && upperSymbol.charAt(2)=='0') return true;
|
|
103216
|
+
|
|
103217
|
+
return false;
|
|
103218
|
+
},
|
|
103219
|
+
|
|
103220
|
+
IsBJIndex:function(symbol) //北交所指数 北交所指数代码通常以“899”开头,采用6位数字序列
|
|
103221
|
+
{
|
|
103222
|
+
if (!symbol) return false;
|
|
103223
|
+
var upperSymbol=symbol.toUpperCase();
|
|
103224
|
+
if (!this.IsBJ(upperSymbol)) return false;
|
|
103169
103225
|
|
|
103170
|
-
if (
|
|
103226
|
+
if (upperSymbol.charAt(0)=='8' && upperSymbol.charAt(1)=='9' && upperSymbol.charAt(2)=='9') return true;
|
|
103171
103227
|
|
|
103172
103228
|
return false;
|
|
103173
103229
|
},
|
|
@@ -103183,11 +103239,11 @@ var MARKET_SUFFIX_NAME=
|
|
|
103183
103239
|
return false;
|
|
103184
103240
|
},
|
|
103185
103241
|
|
|
103186
|
-
|
|
103242
|
+
IsSZGEM:function(symbol) //创业板(growth enterprise market) 30开头
|
|
103187
103243
|
{
|
|
103188
103244
|
if (!symbol) return false;
|
|
103189
103245
|
var upperSymbol=symbol.toUpperCase();
|
|
103190
|
-
if (!this.
|
|
103246
|
+
if (!this.IsSZ(upperSymbol)) return false;
|
|
103191
103247
|
if (upperSymbol.charAt(0)=='3' && upperSymbol.charAt(1)=='0')
|
|
103192
103248
|
return true;
|
|
103193
103249
|
|
|
@@ -103331,7 +103387,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
103331
103387
|
{
|
|
103332
103388
|
if (!this.IsSHSZStockA(symbol)) return null;
|
|
103333
103389
|
if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20% - -20%]
|
|
103334
|
-
if (this.
|
|
103390
|
+
if (this.IsSZGEM(symbol)) return { Max:0.2 , Min:-0.2}; //创业板 [20% - -20%]
|
|
103335
103391
|
|
|
103336
103392
|
if (!name) return null;
|
|
103337
103393
|
if (name.indexOf('ST')>=0) return { Max:0.05, Min:-0.05 }; //ST 股票 [5% - -5%]
|
|
@@ -105248,6 +105304,7 @@ function FuturesTimeData()
|
|
|
105248
105304
|
[MARKET_SUFFIX_NAME.SHFE + '-AO', {Time:4,Decimal:0,Name:'氧化铝'}],
|
|
105249
105305
|
[MARKET_SUFFIX_NAME.SHFE + '-BR', {Time:6,Decimal:0,Name:'合成橡胶'}],
|
|
105250
105306
|
[MARKET_SUFFIX_NAME.SHFE + '-AD', {Time:4,Decimal:0,Name:"铝合金"}],
|
|
105307
|
+
[MARKET_SUFFIX_NAME.SHFE + '-OP', {Time:6,Decimal:0,Name:"胶版印刷纸"}],
|
|
105251
105308
|
|
|
105252
105309
|
//上期所-能源
|
|
105253
105310
|
[MARKET_SUFFIX_NAME.SHFE + '-NR', {Time:6,Decimal:1,Name:'20号胶'}],
|
|
@@ -106809,59 +106866,6 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
106809
106866
|
return defaultfloatPrecision;
|
|
106810
106867
|
}
|
|
106811
106868
|
|
|
106812
|
-
//把不连续的分时数据转成连续的分时数据
|
|
106813
|
-
function GenerateMinuteStockJsonData(data)
|
|
106814
|
-
{
|
|
106815
|
-
var stock =
|
|
106816
|
-
{
|
|
106817
|
-
symbol:data.symbol, name:data.name,time:data.time, date:data.date,
|
|
106818
|
-
price:data.price, open:data.open, yclose:data.yclose, high:data.high, low:data.low, vol:data.vol,amount:data.amount,
|
|
106819
|
-
minute:[]
|
|
106820
|
-
};
|
|
106821
|
-
|
|
106822
|
-
var mapMinute=new Map();
|
|
106823
|
-
for(var i in data.minute)
|
|
106824
|
-
{
|
|
106825
|
-
var item=data.minute[i];
|
|
106826
|
-
mapMinute.set(item.time,item);
|
|
106827
|
-
}
|
|
106828
|
-
|
|
106829
|
-
var timeData=g_MinuteTimeStringData.GetTimeData(stock.symbol);
|
|
106830
|
-
for(var i in timeData) //根据交易时间产生数据
|
|
106831
|
-
{
|
|
106832
|
-
var time=timeData[i];
|
|
106833
|
-
var minuteItem={ time:time, vaild:false };
|
|
106834
|
-
if (mapMinute.has(time))
|
|
106835
|
-
{
|
|
106836
|
-
var find=mapMinute.get(time);
|
|
106837
|
-
minuteItem.vaild=true;
|
|
106838
|
-
minuteItem.price=find.price;
|
|
106839
|
-
minuteItem.open=find.open;
|
|
106840
|
-
minuteItem.high=find.high;
|
|
106841
|
-
minuteItem.low=find.low;
|
|
106842
|
-
minuteItem.avprice=find.avprice;
|
|
106843
|
-
minuteItem.vol=find.vol;
|
|
106844
|
-
minuteItem.amount=find.amount;
|
|
106845
|
-
if (IFrameSplitOperator.IsNumber(find.increase)) minuteItem.increase=find.increase;
|
|
106846
|
-
if (IFrameSplitOperator.IsNumber(find.risefall)) minuteItem.risefall=find.risefall;
|
|
106847
|
-
if (IFrameSplitOperator.IsNumber(find.position)) minuteItem.position=find.position;
|
|
106848
|
-
}
|
|
106849
|
-
stock.minute.push(minuteItem);
|
|
106850
|
-
}
|
|
106851
|
-
|
|
106852
|
-
var vaildCount=0;
|
|
106853
|
-
for(var i=stock.minute.length-1;i>=0;--i)
|
|
106854
|
-
{
|
|
106855
|
-
vaildCount=i+1;
|
|
106856
|
-
var item=stock.minute[i];
|
|
106857
|
-
if (item.vaild==true) break;
|
|
106858
|
-
}
|
|
106859
|
-
|
|
106860
|
-
stock.minute=stock.minute.slice(0,vaildCount); //去掉最后无用的数据
|
|
106861
|
-
|
|
106862
|
-
return stock;
|
|
106863
|
-
}
|
|
106864
|
-
|
|
106865
106869
|
function GetLocalTime(i) //得到标准时区的时间的函数
|
|
106866
106870
|
{
|
|
106867
106871
|
if (typeof i !== 'number') return;
|
|
@@ -535,6 +535,7 @@ function JSReportChartContainer(uielement)
|
|
|
535
535
|
this.DestroyMinuteChartTooltip();
|
|
536
536
|
this.DestroyKLineChartTooltip();
|
|
537
537
|
this.DestroyFloatTooltip();
|
|
538
|
+
this.DestroyPopMenu();
|
|
538
539
|
}
|
|
539
540
|
|
|
540
541
|
this.StopAutoDragScrollTimer=function()
|
|
@@ -556,6 +557,14 @@ function JSReportChartContainer(uielement)
|
|
|
556
557
|
this.JSPopMenu.Inital();
|
|
557
558
|
}
|
|
558
559
|
|
|
560
|
+
this.DestroyPopMenu=function()
|
|
561
|
+
{
|
|
562
|
+
if (!this.JSPopMenu) return;
|
|
563
|
+
|
|
564
|
+
this.JSPopMenu.Destroy();
|
|
565
|
+
this.JSPopMenu=null;
|
|
566
|
+
}
|
|
567
|
+
|
|
559
568
|
this.InitalMinuteChartTooltip=function(option)
|
|
560
569
|
{
|
|
561
570
|
if (this.TooltipMinuteChart) return;
|
|
@@ -1062,6 +1062,8 @@ function GetBlackStyle()
|
|
|
1062
1062
|
//CellMargin:{ Top:5, Bottom:5, YOffset:0, Left:5, Right:5, YOffset:-5 },
|
|
1063
1063
|
},
|
|
1064
1064
|
|
|
1065
|
+
MouseOn:{ BGColor:"rgb(54,54,54)" },
|
|
1066
|
+
|
|
1065
1067
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
1066
1068
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
1067
1069
|
UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
|
|
@@ -6796,6 +6796,15 @@ JSChart.GetShortSymbol=function(symbol)
|
|
|
6796
6796
|
return symbol.slice(0,pos);
|
|
6797
6797
|
}
|
|
6798
6798
|
|
|
6799
|
+
JSChart.CancelEvent=function(e)
|
|
6800
|
+
{
|
|
6801
|
+
if (!e) return;
|
|
6802
|
+
|
|
6803
|
+
if (e.preventDefault) e.preventDefault();
|
|
6804
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
6805
|
+
e.returnValue=false;
|
|
6806
|
+
}
|
|
6807
|
+
|
|
6799
6808
|
|
|
6800
6809
|
var JSCHART_EVENT_ID=
|
|
6801
6810
|
{
|
|
@@ -6884,9 +6893,6 @@ var JSCHART_EVENT_ID=
|
|
|
6884
6893
|
ON_DRAG_SUB_SELECT_RECT:66, //拖拽区间选择子区域
|
|
6885
6894
|
ON_DRAG_SUB_SELECT_RECT_MOUSEUP:67, //拖拽区间选择子区域鼠标松开
|
|
6886
6895
|
|
|
6887
|
-
ON_KEYBOARD_SELECTED:68, //键盘精灵选中回车
|
|
6888
|
-
ON_KEYBOARD_MOUSEUP:69,
|
|
6889
|
-
|
|
6890
6896
|
ON_CLICK_DRAWPICTURE_BUTTON:70, //画图工具按钮
|
|
6891
6897
|
ON_FINISH_MOVE_DRAWPICTURE:71, //画图工具移动完成
|
|
6892
6898
|
|
|
@@ -7032,6 +7038,15 @@ var JSCHART_EVENT_ID=
|
|
|
7032
7038
|
|
|
7033
7039
|
//工具条
|
|
7034
7040
|
ON_CLICK_STATUSBAR_ITEM:301,
|
|
7041
|
+
ON_RCLICK_STATUSBAR_ITEM:302,
|
|
7042
|
+
|
|
7043
|
+
//5档买卖
|
|
7044
|
+
ON_CLICK_STOCKINFO_ITEM:350,
|
|
7045
|
+
ON_RCLICK_STOCKINFO_ITEM:351,
|
|
7046
|
+
|
|
7047
|
+
ON_KEYBOARD_SHOW:350, //显示键盘精灵
|
|
7048
|
+
ON_KEYBOARD_SELECTED:351, //键盘精灵选中回车
|
|
7049
|
+
ON_KEYBOARD_MOUSEUP:352,
|
|
7035
7050
|
}
|
|
7036
7051
|
|
|
7037
7052
|
var JSCHART_OPERATOR_ID=
|
|
@@ -31474,6 +31489,7 @@ function IChartPainting()
|
|
|
31474
31489
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return;
|
|
31475
31490
|
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
31476
31491
|
if (bHScreen) return;
|
|
31492
|
+
if (!this.Data) return;
|
|
31477
31493
|
|
|
31478
31494
|
var isMinute=this.IsMinuteFrame();
|
|
31479
31495
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
@@ -31614,6 +31630,7 @@ function IChartPainting()
|
|
|
31614
31630
|
if (!this.IsShow || this.ChartFrame.IsMinSize) return null;
|
|
31615
31631
|
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
31616
31632
|
if (bHScreen) return null;
|
|
31633
|
+
if (!this.Data) return null;
|
|
31617
31634
|
|
|
31618
31635
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
31619
31636
|
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
@@ -60922,6 +60939,8 @@ function FrameSplitKLinePriceY()
|
|
|
60922
60939
|
isLast=pageInfo.IsLast;
|
|
60923
60940
|
}
|
|
60924
60941
|
}
|
|
60942
|
+
|
|
60943
|
+
if (!latestItem || !IFrameSplitOperator.IsNumber(latestItem.Close)) return null;
|
|
60925
60944
|
|
|
60926
60945
|
var info=new CoordinateInfo();
|
|
60927
60946
|
info.Type=0;
|
|
@@ -84024,7 +84043,7 @@ function JSChartResource()
|
|
|
84024
84043
|
TitleColor:"rgb(90,90,90)",
|
|
84025
84044
|
VolColor:"rgb(90,90,90)",
|
|
84026
84045
|
Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
|
|
84027
|
-
CellMargin:{ Top:
|
|
84046
|
+
CellMargin:{ Top:3*GetDevicePixelRatio(), Bottom:3*GetDevicePixelRatio(), Left:5*GetDevicePixelRatio(), Right:5*GetDevicePixelRatio(), YOffset:1*GetDevicePixelRatio() },
|
|
84028
84047
|
BottomLine:{ Enable:true, Color:"rgb(192,192,192)"}, //底部分割线
|
|
84029
84048
|
TopLine:{ Enable:false, Color:"rgb(192,192,192)"}, //底部分割线
|
|
84030
84049
|
|
|
@@ -84040,10 +84059,12 @@ function JSChartResource()
|
|
|
84040
84059
|
Font:14*GetDevicePixelRatio() +'px 微软雅黑',
|
|
84041
84060
|
TitleColor:"rgb(90,90,90)",
|
|
84042
84061
|
TextColor:"rgb(90,90,90)",
|
|
84043
|
-
Margin:{ Left:0, Top:
|
|
84044
|
-
CellMargin:{ Top:
|
|
84062
|
+
Margin:{ Left:0, Top:2*GetDevicePixelRatio(), Bottom:0, Right:0 },
|
|
84063
|
+
CellMargin:{ Top:3*GetDevicePixelRatio(), Bottom:3*GetDevicePixelRatio(), Left:5, Right:5, YOffset:1*GetDevicePixelRatio() },
|
|
84045
84064
|
},
|
|
84046
84065
|
|
|
84066
|
+
MouseOn:{ BGColor:"rgb(169,169,169)" },
|
|
84067
|
+
|
|
84047
84068
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
84048
84069
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
84049
84070
|
UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
|
|
@@ -85246,6 +85267,12 @@ function JSChartResource()
|
|
|
85246
85267
|
}
|
|
85247
85268
|
}
|
|
85248
85269
|
|
|
85270
|
+
if (style.MouseOn)
|
|
85271
|
+
{
|
|
85272
|
+
var item=style.MouseOn;
|
|
85273
|
+
if (item.BGColor) dest.MouseOn.BGColor=item.BGColor;
|
|
85274
|
+
}
|
|
85275
|
+
|
|
85249
85276
|
if (style.UpTextColor) dest.UpTextColor=style.UpTextColor;
|
|
85250
85277
|
if (style.DownTextColor) dest.DownTextColor=style.DownTextColor;
|
|
85251
85278
|
if (style.UnchangeTextColor) dest.UnchangeTextColor=style.UnchangeTextColor;
|
|
@@ -107141,6 +107168,24 @@ var MARKET_SUFFIX_NAME=
|
|
|
107141
107168
|
return false;
|
|
107142
107169
|
},
|
|
107143
107170
|
|
|
107171
|
+
//是否包含前缀
|
|
107172
|
+
IsPrefixIncludes:function(symbol, aryPrefix)
|
|
107173
|
+
{
|
|
107174
|
+
if (!symbol) return false;
|
|
107175
|
+
var shortSymbol=this.GetShortSymbol(symbol);
|
|
107176
|
+
if (!shortSymbol) return false;
|
|
107177
|
+
shortSymbol=shortSymbol.toUpperCase();
|
|
107178
|
+
|
|
107179
|
+
for(var i=0;i<aryPrefix.length;++i)
|
|
107180
|
+
{
|
|
107181
|
+
var strValue=aryPrefix[i];
|
|
107182
|
+
if (!strValue) continue;
|
|
107183
|
+
if (shortSymbol.search(strValue)===0) return true;
|
|
107184
|
+
}
|
|
107185
|
+
|
|
107186
|
+
return false;
|
|
107187
|
+
},
|
|
107188
|
+
|
|
107144
107189
|
IsChinaFutures:function(upperSymbol) //是否是国内期货 /期权
|
|
107145
107190
|
{
|
|
107146
107191
|
if (!upperSymbol) return false;
|
|
@@ -107255,15 +107300,26 @@ var MARKET_SUFFIX_NAME=
|
|
|
107255
107300
|
return false;
|
|
107256
107301
|
},
|
|
107257
107302
|
|
|
107303
|
+
//北交所股票代码全面启用“920”开头的六位数编码规则(如 920XXX),已于 2025 年 10 月 9 日完成存量与增量股票的统一切换,标志着其与新三板代码的脱钩。
|
|
107304
|
+
// 新代码通常将原 43、83、87 开头的旧代码前三位变更为 920,后三位保持不变
|
|
107258
107305
|
IsBJStock:function(symbol) //北交所股票
|
|
107259
107306
|
{
|
|
107260
107307
|
if (!symbol) return false;
|
|
107261
107308
|
var upperSymbol=symbol.toUpperCase();
|
|
107262
107309
|
if (!this.IsBJ(upperSymbol)) return false;
|
|
107263
107310
|
|
|
107264
|
-
|
|
107311
|
+
if (upperSymbol.charAt(0)=='9' && upperSymbol.charAt(1)=='2' && upperSymbol.charAt(2)=='0') return true;
|
|
107312
|
+
|
|
107313
|
+
return false;
|
|
107314
|
+
},
|
|
107315
|
+
|
|
107316
|
+
IsBJIndex:function(symbol) //北交所指数 北交所指数代码通常以“899”开头,采用6位数字序列
|
|
107317
|
+
{
|
|
107318
|
+
if (!symbol) return false;
|
|
107319
|
+
var upperSymbol=symbol.toUpperCase();
|
|
107320
|
+
if (!this.IsBJ(upperSymbol)) return false;
|
|
107265
107321
|
|
|
107266
|
-
if (
|
|
107322
|
+
if (upperSymbol.charAt(0)=='8' && upperSymbol.charAt(1)=='9' && upperSymbol.charAt(2)=='9') return true;
|
|
107267
107323
|
|
|
107268
107324
|
return false;
|
|
107269
107325
|
},
|
|
@@ -107279,11 +107335,11 @@ var MARKET_SUFFIX_NAME=
|
|
|
107279
107335
|
return false;
|
|
107280
107336
|
},
|
|
107281
107337
|
|
|
107282
|
-
|
|
107338
|
+
IsSZGEM:function(symbol) //创业板(growth enterprise market) 30开头
|
|
107283
107339
|
{
|
|
107284
107340
|
if (!symbol) return false;
|
|
107285
107341
|
var upperSymbol=symbol.toUpperCase();
|
|
107286
|
-
if (!this.
|
|
107342
|
+
if (!this.IsSZ(upperSymbol)) return false;
|
|
107287
107343
|
if (upperSymbol.charAt(0)=='3' && upperSymbol.charAt(1)=='0')
|
|
107288
107344
|
return true;
|
|
107289
107345
|
|
|
@@ -107427,7 +107483,7 @@ var MARKET_SUFFIX_NAME=
|
|
|
107427
107483
|
{
|
|
107428
107484
|
if (!this.IsSHSZStockA(symbol)) return null;
|
|
107429
107485
|
if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20% - -20%]
|
|
107430
|
-
if (this.
|
|
107486
|
+
if (this.IsSZGEM(symbol)) return { Max:0.2 , Min:-0.2}; //创业板 [20% - -20%]
|
|
107431
107487
|
|
|
107432
107488
|
if (!name) return null;
|
|
107433
107489
|
if (name.indexOf('ST')>=0) return { Max:0.05, Min:-0.05 }; //ST 股票 [5% - -5%]
|
|
@@ -109344,6 +109400,7 @@ function FuturesTimeData()
|
|
|
109344
109400
|
[MARKET_SUFFIX_NAME.SHFE + '-AO', {Time:4,Decimal:0,Name:'氧化铝'}],
|
|
109345
109401
|
[MARKET_SUFFIX_NAME.SHFE + '-BR', {Time:6,Decimal:0,Name:'合成橡胶'}],
|
|
109346
109402
|
[MARKET_SUFFIX_NAME.SHFE + '-AD', {Time:4,Decimal:0,Name:"铝合金"}],
|
|
109403
|
+
[MARKET_SUFFIX_NAME.SHFE + '-OP', {Time:6,Decimal:0,Name:"胶版印刷纸"}],
|
|
109347
109404
|
|
|
109348
109405
|
//上期所-能源
|
|
109349
109406
|
[MARKET_SUFFIX_NAME.SHFE + '-NR', {Time:6,Decimal:1,Name:'20号胶'}],
|
|
@@ -110905,59 +110962,6 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
110905
110962
|
return defaultfloatPrecision;
|
|
110906
110963
|
}
|
|
110907
110964
|
|
|
110908
|
-
//把不连续的分时数据转成连续的分时数据
|
|
110909
|
-
function GenerateMinuteStockJsonData(data)
|
|
110910
|
-
{
|
|
110911
|
-
var stock =
|
|
110912
|
-
{
|
|
110913
|
-
symbol:data.symbol, name:data.name,time:data.time, date:data.date,
|
|
110914
|
-
price:data.price, open:data.open, yclose:data.yclose, high:data.high, low:data.low, vol:data.vol,amount:data.amount,
|
|
110915
|
-
minute:[]
|
|
110916
|
-
};
|
|
110917
|
-
|
|
110918
|
-
var mapMinute=new Map();
|
|
110919
|
-
for(var i in data.minute)
|
|
110920
|
-
{
|
|
110921
|
-
var item=data.minute[i];
|
|
110922
|
-
mapMinute.set(item.time,item);
|
|
110923
|
-
}
|
|
110924
|
-
|
|
110925
|
-
var timeData=g_MinuteTimeStringData.GetTimeData(stock.symbol);
|
|
110926
|
-
for(var i in timeData) //根据交易时间产生数据
|
|
110927
|
-
{
|
|
110928
|
-
var time=timeData[i];
|
|
110929
|
-
var minuteItem={ time:time, vaild:false };
|
|
110930
|
-
if (mapMinute.has(time))
|
|
110931
|
-
{
|
|
110932
|
-
var find=mapMinute.get(time);
|
|
110933
|
-
minuteItem.vaild=true;
|
|
110934
|
-
minuteItem.price=find.price;
|
|
110935
|
-
minuteItem.open=find.open;
|
|
110936
|
-
minuteItem.high=find.high;
|
|
110937
|
-
minuteItem.low=find.low;
|
|
110938
|
-
minuteItem.avprice=find.avprice;
|
|
110939
|
-
minuteItem.vol=find.vol;
|
|
110940
|
-
minuteItem.amount=find.amount;
|
|
110941
|
-
if (IFrameSplitOperator.IsNumber(find.increase)) minuteItem.increase=find.increase;
|
|
110942
|
-
if (IFrameSplitOperator.IsNumber(find.risefall)) minuteItem.risefall=find.risefall;
|
|
110943
|
-
if (IFrameSplitOperator.IsNumber(find.position)) minuteItem.position=find.position;
|
|
110944
|
-
}
|
|
110945
|
-
stock.minute.push(minuteItem);
|
|
110946
|
-
}
|
|
110947
|
-
|
|
110948
|
-
var vaildCount=0;
|
|
110949
|
-
for(var i=stock.minute.length-1;i>=0;--i)
|
|
110950
|
-
{
|
|
110951
|
-
vaildCount=i+1;
|
|
110952
|
-
var item=stock.minute[i];
|
|
110953
|
-
if (item.vaild==true) break;
|
|
110954
|
-
}
|
|
110955
|
-
|
|
110956
|
-
stock.minute=stock.minute.slice(0,vaildCount); //去掉最后无用的数据
|
|
110957
|
-
|
|
110958
|
-
return stock;
|
|
110959
|
-
}
|
|
110960
|
-
|
|
110961
110965
|
function GetLocalTime(i) //得到标准时区的时间的函数
|
|
110962
110966
|
{
|
|
110963
110967
|
if (typeof i !== 'number') return;
|
|
@@ -140070,6 +140074,8 @@ function GetBlackStyle()
|
|
|
140070
140074
|
//CellMargin:{ Top:5, Bottom:5, YOffset:0, Left:5, Right:5, YOffset:-5 },
|
|
140071
140075
|
},
|
|
140072
140076
|
|
|
140077
|
+
MouseOn:{ BGColor:"rgb(54,54,54)" },
|
|
140078
|
+
|
|
140073
140079
|
UpTextColor:"rgb(238,21,21)", //上涨文字颜色
|
|
140074
140080
|
DownTextColor:"rgb(25,158,0)", //下跌文字颜色
|
|
140075
140081
|
UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
|
|
@@ -143066,6 +143072,7 @@ function JSReportChartContainer(uielement)
|
|
|
143066
143072
|
this.DestroyMinuteChartTooltip();
|
|
143067
143073
|
this.DestroyKLineChartTooltip();
|
|
143068
143074
|
this.DestroyFloatTooltip();
|
|
143075
|
+
this.DestroyPopMenu();
|
|
143069
143076
|
}
|
|
143070
143077
|
|
|
143071
143078
|
this.StopAutoDragScrollTimer=function()
|
|
@@ -143087,6 +143094,14 @@ function JSReportChartContainer(uielement)
|
|
|
143087
143094
|
this.JSPopMenu.Inital();
|
|
143088
143095
|
}
|
|
143089
143096
|
|
|
143097
|
+
this.DestroyPopMenu=function()
|
|
143098
|
+
{
|
|
143099
|
+
if (!this.JSPopMenu) return;
|
|
143100
|
+
|
|
143101
|
+
this.JSPopMenu.Destroy();
|
|
143102
|
+
this.JSPopMenu=null;
|
|
143103
|
+
}
|
|
143104
|
+
|
|
143090
143105
|
this.InitalMinuteChartTooltip=function(option)
|
|
143091
143106
|
{
|
|
143092
143107
|
if (this.TooltipMinuteChart) return;
|
|
@@ -156514,7 +156529,7 @@ function ScrollBarBGChart()
|
|
|
156514
156529
|
|
|
156515
156530
|
|
|
156516
156531
|
|
|
156517
|
-
var HQCHART_VERSION="1.1.
|
|
156532
|
+
var HQCHART_VERSION="1.1.15473";
|
|
156518
156533
|
|
|
156519
156534
|
function PrintHQChartVersion()
|
|
156520
156535
|
{
|