hqchart 1.1.15375 → 1.1.15390
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 +44 -25
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +97 -13
- package/src/jscommon/umychart.js +109 -23
- package/src/jscommon/umychart.report.js +84 -7
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +291 -44
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +291 -44
|
@@ -11172,7 +11172,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11172
11172
|
{
|
|
11173
11173
|
var item=this.OverlayChartPaint[i];
|
|
11174
11174
|
if (!item) continue;
|
|
11175
|
-
if (item.
|
|
11175
|
+
if (item.YInfoConfig.Type===0) continue;
|
|
11176
11176
|
var data=item.Data;
|
|
11177
11177
|
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) continue;
|
|
11178
11178
|
if (!IFrameSplitOperator.IsNumber(item.DrawKRange.Start) || !IFrameSplitOperator.IsNumber(item.DrawKRange.End)) continue;
|
|
@@ -11192,15 +11192,29 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11192
11192
|
|
|
11193
11193
|
var endKLine=data.Data[item.DrawKRange.End];
|
|
11194
11194
|
var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;
|
|
11195
|
-
|
|
11195
|
+
var text="";
|
|
11196
|
+
if (item.YInfoConfig.Type===3)
|
|
11197
|
+
{
|
|
11198
|
+
var dec=GetfloatPrecision(item.Symbol); //小数位数
|
|
11199
|
+
text=endKLine.Close.toFixed(dec);
|
|
11200
|
+
}
|
|
11201
|
+
else if (item.YInfoConfig.Type===4)
|
|
11202
|
+
{
|
|
11203
|
+
text=value.toFixed(2)+"%";
|
|
11204
|
+
}
|
|
11205
|
+
else
|
|
11206
|
+
{
|
|
11207
|
+
continue;
|
|
11208
|
+
}
|
|
11209
|
+
|
|
11196
11210
|
var info=new CoordinateInfo();
|
|
11197
11211
|
info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;
|
|
11198
|
-
info.Message[1]=
|
|
11212
|
+
info.Message[1]=text
|
|
11199
11213
|
info.LineType=-1;
|
|
11200
|
-
info.Type=
|
|
11214
|
+
info.Type=4; //叠加股票
|
|
11201
11215
|
info.LineColor=item.Color;
|
|
11202
11216
|
info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;
|
|
11203
|
-
if (item.Title) info.Title=item.Title;
|
|
11217
|
+
if (item.Title && item.YInfoConfig.IsShowName) info.Title=item.Title;
|
|
11204
11218
|
frame.CustomHorizontalInfo.push(info);
|
|
11205
11219
|
}
|
|
11206
11220
|
}
|
|
@@ -12674,6 +12688,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12674
12688
|
return false;
|
|
12675
12689
|
}
|
|
12676
12690
|
|
|
12691
|
+
this.IsHScreenModel=function()
|
|
12692
|
+
{
|
|
12693
|
+
if (this.ClassName=="KLineChartHScreenContainer" || this.ClassName=="MinuteChartHScreenContainer") return true;
|
|
12694
|
+
|
|
12695
|
+
return false;
|
|
12696
|
+
}
|
|
12697
|
+
|
|
12677
12698
|
this.UpdatePointByCursorIndex=function(type) //type 1=根据十字光标更新 2=强制取消十字光标
|
|
12678
12699
|
{
|
|
12679
12700
|
if (type==1) //根据十字光标更新
|
|
@@ -12694,8 +12715,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12694
12715
|
pt.X=null;
|
|
12695
12716
|
}
|
|
12696
12717
|
}
|
|
12697
|
-
|
|
12698
|
-
this.
|
|
12718
|
+
|
|
12719
|
+
if (this.IsHScreenModel())
|
|
12720
|
+
{
|
|
12721
|
+
this.LastPoint.X=pt.Y;
|
|
12722
|
+
this.LastPoint.Y=pt.X;
|
|
12723
|
+
}
|
|
12724
|
+
else
|
|
12725
|
+
{
|
|
12726
|
+
this.LastPoint.X=pt.X;
|
|
12727
|
+
this.LastPoint.Y=pt.Y;
|
|
12728
|
+
}
|
|
12729
|
+
|
|
12699
12730
|
}
|
|
12700
12731
|
else if (type==2)
|
|
12701
12732
|
{
|
|
@@ -12715,8 +12746,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12715
12746
|
pt.Y=this.Frame.GetYFromData(close);
|
|
12716
12747
|
this.LastPoint.FrameID=0;
|
|
12717
12748
|
}
|
|
12718
|
-
|
|
12719
|
-
this.
|
|
12749
|
+
|
|
12750
|
+
if (this.IsHScreenModel())
|
|
12751
|
+
{
|
|
12752
|
+
this.LastPoint.X=pt.Y;
|
|
12753
|
+
this.LastPoint.Y=pt.X;
|
|
12754
|
+
}
|
|
12755
|
+
else
|
|
12756
|
+
{
|
|
12757
|
+
this.LastPoint.X=pt.X;
|
|
12758
|
+
this.LastPoint.Y=pt.Y;
|
|
12759
|
+
}
|
|
12760
|
+
|
|
12720
12761
|
}
|
|
12721
12762
|
}
|
|
12722
12763
|
|
|
@@ -31686,6 +31727,7 @@ function IChartPainting()
|
|
|
31686
31727
|
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
31687
31728
|
var chartright=border.RightEx;
|
|
31688
31729
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
31730
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
31689
31731
|
|
|
31690
31732
|
if (isHScreen)
|
|
31691
31733
|
{
|
|
@@ -38022,13 +38064,19 @@ function ChartOverlayKLine()
|
|
|
38022
38064
|
this.CloseLineWidth=g_JSChartResource.CloseLineWidth;
|
|
38023
38065
|
this.ShowRange={ }; //K线显示范围 { Start:, End:, DataCount:, ShowCount: }
|
|
38024
38066
|
this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
|
|
38025
|
-
this.
|
|
38067
|
+
this.YInfoConfig={ Type:0, IsShowName:false } //右侧Y轴自定刻度设置 0不显示 3=名字|最新价 4=名字|涨幅
|
|
38026
38068
|
|
|
38027
38069
|
this.SetOption=function(option)
|
|
38028
38070
|
{
|
|
38029
38071
|
if (!option) return;
|
|
38030
38072
|
if (IFrameSplitOperator.IsNumber(option.DrawType)) this.CustomDrawType=option.DrawType;
|
|
38031
|
-
if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.
|
|
38073
|
+
if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoConfig.Type=option.YInfoType;
|
|
38074
|
+
if (option.YInfo)
|
|
38075
|
+
{
|
|
38076
|
+
var item=option.YInfo;
|
|
38077
|
+
if (IFrameSplitOperator.IsNumber(item.Type)) this.YInfoConfig.Type=item.Type;
|
|
38078
|
+
if (IFrameSplitOperator.IsBool(item.IsShowName)) this.YInfoConfig.IsShowName=item.IsShowName;
|
|
38079
|
+
}
|
|
38032
38080
|
}
|
|
38033
38081
|
|
|
38034
38082
|
this.DrawKBar=function(firstOpen) //firstOpen 当前屏第1个显示数据
|
|
@@ -83546,6 +83594,13 @@ function JSChartResource()
|
|
|
83546
83594
|
CloseColor:"rgb(30,144,255)",
|
|
83547
83595
|
YCloseColor:"rgba(105,105,105,0.5)", //昨收线
|
|
83548
83596
|
AreaColor:'rgba(0,191,255,0.2)',
|
|
83597
|
+
|
|
83598
|
+
UpColor:"rgb(255,0,0)",
|
|
83599
|
+
UpAreaColor:"rgba(255,0,0,0.5)",
|
|
83600
|
+
DownColor:"rgb(0,128,0)",
|
|
83601
|
+
DownAreaColor:"rgba(0,128,0,0.5)",
|
|
83602
|
+
UnchangeColor:'rgb(90,90,90)',
|
|
83603
|
+
UnchangeAreaColor:'rgba(90,90,90,0.5)',
|
|
83549
83604
|
},
|
|
83550
83605
|
|
|
83551
83606
|
KLine:
|
|
@@ -84944,6 +84999,13 @@ function JSChartResource()
|
|
|
84944
84999
|
if (closeLine.CloseColor) this.Report.CloseLine.CloseColor=closeLine.CloseColor;
|
|
84945
85000
|
if (closeLine.YCloseColor) this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;
|
|
84946
85001
|
if (closeLine.AreaColor) this.Report.CloseLine.AreaColor=closeLine.AreaColor;
|
|
85002
|
+
|
|
85003
|
+
if (closeLine.UpColor) this.Report.CloseLine.UpColor=closeLine.UpColor;
|
|
85004
|
+
if (closeLine.UpAreaColor) this.Report.CloseLine.UpAreaColor=closeLine.UpAreaColor;
|
|
85005
|
+
if (closeLine.DownColor) this.Report.CloseLine.DownColor=closeLine.DownColor;
|
|
85006
|
+
if (closeLine.DownAreaColor) this.Report.CloseLine.DownAreaColor=closeLine.DownAreaColor;
|
|
85007
|
+
if (closeLine.UnchangeColor) this.Report.CloseLine.UnchangeColor=closeLine.UnchangeColor;
|
|
85008
|
+
if (closeLine.UnchangeAreaColor) this.Report.CloseLine.UnchangeAreaColor=closeLine.UnchangeAreaColor;
|
|
84947
85009
|
}
|
|
84948
85010
|
|
|
84949
85011
|
if (item.KLine)
|
|
@@ -92142,8 +92204,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
92142
92204
|
{
|
|
92143
92205
|
Name:'KLineChartContainer::RequestOverlayHistoryData', //类名::
|
|
92144
92206
|
Explain:'叠加股票日K线数据',
|
|
92145
|
-
Request:
|
|
92146
|
-
|
|
92207
|
+
Request:
|
|
92208
|
+
{
|
|
92209
|
+
Url:self.KLineApiUrl,
|
|
92210
|
+
Data:
|
|
92211
|
+
{
|
|
92212
|
+
symbol: symbol, period:this.Period, count: dataCount.MaxRequestDataCount, first:{ date: firstDate },
|
|
92213
|
+
Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
|
|
92214
|
+
},
|
|
92215
|
+
},
|
|
92147
92216
|
Self:this,
|
|
92148
92217
|
PreventDefault:false
|
|
92149
92218
|
};
|
|
@@ -92235,8 +92304,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
92235
92304
|
{
|
|
92236
92305
|
Name:'KLineChartContainer::RequestOverlayHistoryMinuteData', //类名::
|
|
92237
92306
|
Explain:'叠加股票分钟K线数据',
|
|
92238
|
-
Request:
|
|
92239
|
-
|
|
92307
|
+
Request:
|
|
92308
|
+
{
|
|
92309
|
+
Url:self.MinuteKLineApiUrl,
|
|
92310
|
+
Data:
|
|
92311
|
+
{
|
|
92312
|
+
symbol: symbol, period:this.Period, count: dataCount.MaxRequestMinuteDayCount, first:{ date: firstDate, time:firstTime },
|
|
92313
|
+
Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
|
|
92314
|
+
},
|
|
92315
|
+
},
|
|
92240
92316
|
Self:this,
|
|
92241
92317
|
PreventDefault:false
|
|
92242
92318
|
};
|
|
@@ -97678,21 +97754,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
97678
97754
|
|
|
97679
97755
|
this.UpdatePointByCursorIndex=function()
|
|
97680
97756
|
{
|
|
97681
|
-
|
|
97757
|
+
var x=null, y=null;
|
|
97758
|
+
x=this.Frame.GetXFromIndex(this.CursorIndex);
|
|
97682
97759
|
|
|
97683
97760
|
var index=this.CursorIndex;
|
|
97684
97761
|
index=parseInt(index.toFixed(0));
|
|
97685
97762
|
var data=this.GetKData();
|
|
97686
|
-
if (data.DataOffset+index
|
|
97763
|
+
if (data.DataOffset+index<data.Data.length)
|
|
97687
97764
|
{
|
|
97688
|
-
|
|
97765
|
+
var item=data.Data[data.DataOffset+index];
|
|
97766
|
+
var close=null;
|
|
97767
|
+
if (item.Before) close=item.Before.Close;
|
|
97768
|
+
else close=item.Close;
|
|
97769
|
+
y=this.Frame.GetYFromData(close);
|
|
97689
97770
|
}
|
|
97690
|
-
var item=data.Data[data.DataOffset+index];
|
|
97691
|
-
var close=null;
|
|
97692
|
-
if (item.Before) close=item.Before.Close;
|
|
97693
|
-
else close=item.Close
|
|
97694
97771
|
|
|
97695
|
-
this.
|
|
97772
|
+
if (this.IsHScreenModel())
|
|
97773
|
+
{
|
|
97774
|
+
this.LastPoint.X=y;
|
|
97775
|
+
this.LastPoint.Y=x;
|
|
97776
|
+
}
|
|
97777
|
+
else
|
|
97778
|
+
{
|
|
97779
|
+
this.LastPoint.X=x;
|
|
97780
|
+
this.LastPoint.Y=y;
|
|
97781
|
+
}
|
|
97696
97782
|
this.LastPoint.FrameID=0;
|
|
97697
97783
|
}
|
|
97698
97784
|
|
|
@@ -111306,6 +111392,24 @@ JSComplierHelper.GetConvertValueName=function(funcName)
|
|
|
111306
111392
|
|
|
111307
111393
|
return valueName;
|
|
111308
111394
|
}
|
|
111395
|
+
|
|
111396
|
+
|
|
111397
|
+
//DYNAINFO() 转换
|
|
111398
|
+
//["DYNA_NOW",null], //DYNA_NOW 现价 DYNAINFO(7) 即时行情数据 没有现价时(比如在开盘前),返回昨收盘价
|
|
111399
|
+
//["DYNA_ZAF",null], //DYNA_ZAF 涨幅 DYNAINFO(14) 即时行情数据(沪深京早盘竞价期间使用匹配价的涨幅) 转换成幅度需要乘100
|
|
111400
|
+
//["DYNA_LB", null], //DYNA_LB DYNAINFO(17) 量比 即时行情数据
|
|
111401
|
+
//["DYNA_ZAS",null], //DYNA_ZAS DYNAINFO(24) 返回涨速 报价界面行情数据 转换成幅度需要乘100
|
|
111402
|
+
//["SELLVOL", null], //返回内盘,即DYNAINFO(22) 即时行情数据
|
|
111403
|
+
//["BUYVOL", null], //返回外盘,即DYNAINFO(21) 即时行情数据
|
|
111404
|
+
const MAP_DYNAINFO_SHORTCUT=new Map(
|
|
111405
|
+
[
|
|
111406
|
+
['DYNA_NOW', { Name:"DYNA_NOW", ID:7 } ],
|
|
111407
|
+
['DYNA_LB', { Name:"DYNA_LB", ID:17 } ],
|
|
111408
|
+
['DYNA_ZAS', { Name:"DYNA_ZAS", ID:24 } ],
|
|
111409
|
+
['SELLVOL', { Name:"SELLVOL", ID:22 }],
|
|
111410
|
+
['BUYVOL', { Name:"BUYVOL", ID:21 } ],
|
|
111411
|
+
]
|
|
111412
|
+
);
|
|
111309
111413
|
|
|
111310
111414
|
|
|
111311
111415
|
|
|
@@ -112245,6 +112349,14 @@ function Node(ErrorHandler)
|
|
|
112245
112349
|
return;
|
|
112246
112350
|
}
|
|
112247
112351
|
|
|
112352
|
+
if (MAP_DYNAINFO_SHORTCUT.has(varName))
|
|
112353
|
+
{
|
|
112354
|
+
var item=MAP_DYNAINFO_SHORTCUT.get(varName);
|
|
112355
|
+
var item={ ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_LATEST_DATA, Args:[item.ID], FunctionName:varName };
|
|
112356
|
+
this.Dynainfo.push(item);
|
|
112357
|
+
return;
|
|
112358
|
+
}
|
|
112359
|
+
|
|
112248
112360
|
if (varName.indexOf('#')>0)
|
|
112249
112361
|
{
|
|
112250
112362
|
var aryWrods = varName.split('#');
|
|
@@ -123000,8 +123112,10 @@ var DYNAINFO_ARGUMENT_ID=
|
|
|
123000
123112
|
CLOSE:7,
|
|
123001
123113
|
VOL:8,
|
|
123002
123114
|
AMOUNT:10,
|
|
123115
|
+
UPDOWN:12, //DYNAINFO(12) 日涨跌 即时行情数据
|
|
123003
123116
|
AMPLITUDE:13, //振幅
|
|
123004
123117
|
INCREASE:14, //涨幅
|
|
123118
|
+
|
|
123005
123119
|
EXCHANGERATE:37, //换手率
|
|
123006
123120
|
};
|
|
123007
123121
|
|
|
@@ -123180,16 +123294,18 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
123180
123294
|
let stock=data.stock[0];
|
|
123181
123295
|
if (!stock) return;
|
|
123182
123296
|
|
|
123183
|
-
if (IFrameSplitOperator.IsNumber(stock.yclose)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.YCLOSE,stock.yclose);
|
|
123184
|
-
if (IFrameSplitOperator.IsNumber(stock.open)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.OPEN,stock.open);
|
|
123185
|
-
if (IFrameSplitOperator.IsNumber(stock.high)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.HIGH,stock.high);
|
|
123186
|
-
if (IFrameSplitOperator.IsNumber(stock.low)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.LOW,stock.low);
|
|
123187
|
-
if (IFrameSplitOperator.IsNumber(stock.price)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.CLOSE,stock.price);
|
|
123188
|
-
if (IFrameSplitOperator.IsNumber(stock.vol)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.VOL,stock.vol);
|
|
123189
|
-
if (IFrameSplitOperator.IsNumber(stock.amount)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.AMOUNT,stock.amount);
|
|
123190
|
-
if (IFrameSplitOperator.IsNumber(stock.increase)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.INCREASE,stock.increase);
|
|
123191
|
-
if (IFrameSplitOperator.IsNumber(stock.exchangerate)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.EXCHANGERATE,stock.exchangerate);
|
|
123192
|
-
if (IFrameSplitOperator.IsNumber(stock.amplitude)) this.LatestData.set(DYNAINFO_ARGUMENT_ID.AMPLITUDE,stock.amplitude);
|
|
123297
|
+
if (IFrameSplitOperator.IsNumber(stock.yclose)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.YCLOSE),stock.yclose);
|
|
123298
|
+
if (IFrameSplitOperator.IsNumber(stock.open)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.OPEN),stock.open);
|
|
123299
|
+
if (IFrameSplitOperator.IsNumber(stock.high)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.HIGH),stock.high);
|
|
123300
|
+
if (IFrameSplitOperator.IsNumber(stock.low)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.LOW),stock.low);
|
|
123301
|
+
if (IFrameSplitOperator.IsNumber(stock.price)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.CLOSE),stock.price);
|
|
123302
|
+
if (IFrameSplitOperator.IsNumber(stock.vol)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.VOL),stock.vol);
|
|
123303
|
+
if (IFrameSplitOperator.IsNumber(stock.amount)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.AMOUNT),stock.amount);
|
|
123304
|
+
if (IFrameSplitOperator.IsNumber(stock.increase)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.INCREASE),stock.increase);
|
|
123305
|
+
if (IFrameSplitOperator.IsNumber(stock.exchangerate)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.EXCHANGERATE),stock.exchangerate);
|
|
123306
|
+
if (IFrameSplitOperator.IsNumber(stock.amplitude)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.AMPLITUDE),stock.amplitude);
|
|
123307
|
+
if (IFrameSplitOperator.IsNumber(stock.updown)) this.LatestData.set(this.GetLatestDataKey(DYNAINFO_ARGUMENT_ID.UPDOWN),stock.updown);
|
|
123308
|
+
|
|
123193
123309
|
|
|
123194
123310
|
/*
|
|
123195
123311
|
this.LatestData={ Symbol:stock.symbol, Name:stock.name, Date:stock.date, Time:stock.time,
|
|
@@ -123214,7 +123330,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
123214
123330
|
if (IFrameSplitOperator.IsNumber(item.value) || IFrameSplitOperator.IsString(item.value))
|
|
123215
123331
|
{
|
|
123216
123332
|
JSConsole.Complier.Log(`[JSSymbolData::RecvLatestDataVer2] symbol=${symbol} DYNAINFO(${item.id})=${item.value}.`);
|
|
123217
|
-
this.LatestData.set(item.id, item.value);
|
|
123333
|
+
this.LatestData.set(this.GetLatestDataKey(item.id), item.value);
|
|
123218
123334
|
}
|
|
123219
123335
|
|
|
123220
123336
|
}
|
|
@@ -123222,9 +123338,48 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
123222
123338
|
JSConsole.Complier.Log('[JSSymbolData::RecvLatestDataVer2]', this.LatestData);
|
|
123223
123339
|
}
|
|
123224
123340
|
|
|
123225
|
-
this.GetLatestCacheData=function(
|
|
123341
|
+
this.GetLatestCacheData=function(dataID)
|
|
123226
123342
|
{
|
|
123227
|
-
|
|
123343
|
+
var key=this.GetLatestDataKey(dataID);
|
|
123344
|
+
if (!this.LatestData.has(key)) return null;
|
|
123345
|
+
|
|
123346
|
+
var data=this.LatestData.get(key);
|
|
123347
|
+
|
|
123348
|
+
//DYNAINFO(36) 自由流通换手率(序列数据,每个周期的数据不同,使用最新的自由流通股本) 转换成幅度需要乘100 比如DYNAINFO(36)>0.25表示换手超过25%
|
|
123349
|
+
//DYNAINFO(37) 换手率(序列数据,每个周期的数据不同,使用的流通股本为最近数据) 转换成幅度需要乘100 比如DYNAINFO(37)>0.1表示换手超过10%
|
|
123350
|
+
if (dataID==37 || dataID==36)
|
|
123351
|
+
{
|
|
123352
|
+
var value=null;
|
|
123353
|
+
if (IFrameSplitOperator.IsNumber(data)) value=data;
|
|
123354
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(data) && IFrameSplitOperator.IsNumber(data[0])) value=data[0];
|
|
123355
|
+
else return null;
|
|
123356
|
+
|
|
123357
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
123358
|
+
|
|
123359
|
+
var aryData=[];
|
|
123360
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
123361
|
+
{
|
|
123362
|
+
var kItem=this.Data.Data[i];
|
|
123363
|
+
aryData[i]=null;
|
|
123364
|
+
if (!kItem || !IFrameSplitOperator.IsNumber(kItem.Vol)) continue;
|
|
123365
|
+
|
|
123366
|
+
aryData[i]=kItem.Vol/value*100.0;// 换手率
|
|
123367
|
+
}
|
|
123368
|
+
|
|
123369
|
+
return aryData;
|
|
123370
|
+
}
|
|
123371
|
+
|
|
123372
|
+
|
|
123373
|
+
return data;
|
|
123374
|
+
}
|
|
123375
|
+
|
|
123376
|
+
this.GetDynaCacheData=function(name)
|
|
123377
|
+
{
|
|
123378
|
+
if (MAP_DYNAINFO_SHORTCUT.has(name))
|
|
123379
|
+
{
|
|
123380
|
+
var item=MAP_DYNAINFO_SHORTCUT.get(name);
|
|
123381
|
+
return this.GetLatestCacheData(item.ID);
|
|
123382
|
+
}
|
|
123228
123383
|
|
|
123229
123384
|
return null;
|
|
123230
123385
|
}
|
|
@@ -128211,6 +128366,13 @@ function JSExecute(ast,option)
|
|
|
128211
128366
|
["TR", null], //真实波幅
|
|
128212
128367
|
["AUTOFILTER", null],
|
|
128213
128368
|
|
|
128369
|
+
["DYNA_NOW",null], //DYNA_NOW 现价 DYNAINFO(7) 即时行情数据 没有现价时(比如在开盘前),返回昨收盘价
|
|
128370
|
+
["DYNA_ZAF",null], //DYNA_ZAF 涨幅 DYNAINFO(14) 即时行情数据(沪深京早盘竞价期间使用匹配价的涨幅) 转换成幅度需要乘100
|
|
128371
|
+
["DYNA_LB", null], //DYNA_LB DYNAINFO(17) 量比 即时行情数据
|
|
128372
|
+
["DYNA_ZAS",null], //DYNA_ZAS DYNAINFO(24) 返回涨速 报价界面行情数据 转换成幅度需要乘100
|
|
128373
|
+
["SELLVOL", null], //返回内盘,即DYNAINFO(22) 即时行情数据
|
|
128374
|
+
["BUYVOL", null], //返回外盘,即DYNAINFO(21) 即时行情数据
|
|
128375
|
+
|
|
128214
128376
|
['LARGEINTRDVOL', null], //逐笔买入大单成交量,相当于L2_VOL(0,0)+L2_VOL(1,0),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
128215
128377
|
['LARGEOUTTRDVOL', null], //逐笔卖出大单成交量,相当于L2_VOL(0,1)+L2_VOL(1,1),沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
128216
128378
|
["TRADENUM", null], //逐笔成交总单数,沪深京品种的资金流向,仅日线以上周期,用于特定版本
|
|
@@ -128543,6 +128705,14 @@ function JSExecute(ast,option)
|
|
|
128543
128705
|
return this.SymbolData.WEEKOFYEAR();
|
|
128544
128706
|
case "DAYSTOTODAY":
|
|
128545
128707
|
return this.SymbolData.DAYSTOTODAY();
|
|
128708
|
+
|
|
128709
|
+
case "DYNA_NOW":
|
|
128710
|
+
case "DYNA_ZAF":
|
|
128711
|
+
case "DYNA_LB":
|
|
128712
|
+
case "DYNA_ZAS":
|
|
128713
|
+
case "SELLVOL":
|
|
128714
|
+
case "BUYVOL":
|
|
128715
|
+
return this.SymbolData.GetDynaCacheData(name);
|
|
128546
128716
|
}
|
|
128547
128717
|
|
|
128548
128718
|
this.ThrowUnexpectedNode(node, '变量'+name+'不存在', name);
|
|
@@ -146943,7 +147113,15 @@ function ChartReport()
|
|
|
146943
147113
|
{
|
|
146944
147114
|
CloseColor:g_JSChartResource.Report.CloseLine.CloseColor,
|
|
146945
147115
|
YCloseColor:g_JSChartResource.Report.CloseLine.YCloseColor,
|
|
146946
|
-
AreaColor:g_JSChartResource.Report.CloseLine.AreaColor
|
|
147116
|
+
AreaColor:g_JSChartResource.Report.CloseLine.AreaColor,
|
|
147117
|
+
|
|
147118
|
+
UpColor:g_JSChartResource.Report.CloseLine.UpColor,
|
|
147119
|
+
DownColor:g_JSChartResource.Report.CloseLine.DownColor,
|
|
147120
|
+
UnchangeColor:g_JSChartResource.Report.CloseLine.UnchangeColor,
|
|
147121
|
+
|
|
147122
|
+
UpAreaColor:g_JSChartResource.Report.CloseLine.UpAreaColor,
|
|
147123
|
+
DownAreaColor:g_JSChartResource.Report.CloseLine.DownAreaColor,
|
|
147124
|
+
UnchangeAreaColor:g_JSChartResource.Report.CloseLine.UnchangeAreaColor,
|
|
146947
147125
|
}
|
|
146948
147126
|
|
|
146949
147127
|
//K线配置
|
|
@@ -147254,6 +147432,7 @@ function ChartReport()
|
|
|
147254
147432
|
else if (item.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID)
|
|
147255
147433
|
{
|
|
147256
147434
|
if (IFrameSplitOperator.IsBool(item.IsDrawArea)) colItem.IsDrawArea=item.IsDrawArea;
|
|
147435
|
+
if (IFrameSplitOperator.IsNumber(item.LineColorType)) colItem.LineColorType=item.LineColorType;
|
|
147257
147436
|
}
|
|
147258
147437
|
else if(item.Type==REPORT_COLUMN_ID.TIME_ID)
|
|
147259
147438
|
{
|
|
@@ -147382,7 +147561,7 @@ function ChartReport()
|
|
|
147382
147561
|
{ Type:REPORT_COLUMN_ID.VOL_IN_ID, Title:"内盘", TextAlign:"right", TextColor:g_JSChartResource.Report.DownTextColor, Width:null, MaxText:"8888.8擎" },
|
|
147383
147562
|
{ Type:REPORT_COLUMN_ID.VOL_OUT_ID, Title:"外盘", TextAlign:"right", TextColor:g_JSChartResource.Report.UpTextColor, Width:null, MaxText:"8888.8擎" },
|
|
147384
147563
|
|
|
147385
|
-
{ Type:REPORT_COLUMN_ID.CLOSE_LINE_ID, Title:"走势", TextAlign:"center", TextColor:g_JSChartResource.Report.CloseLineColor, Width:null, MaxText:"88888.88888" },
|
|
147564
|
+
{ Type:REPORT_COLUMN_ID.CLOSE_LINE_ID, Title:"走势", TextAlign:"center", TextColor:g_JSChartResource.Report.CloseLineColor, Width:null, MaxText:"88888.88888", LineColorType:0 },
|
|
147386
147565
|
|
|
147387
147566
|
|
|
147388
147567
|
{ Type:REPORT_COLUMN_ID.BUY_VOL_ID, Title:"买量", TextAlign:"right", TextColor:g_JSChartResource.Report.FieldColor.Vol, Width:null, MaxText:"8888.8擎" },
|
|
@@ -150421,8 +150600,7 @@ function ChartReport()
|
|
|
150421
150600
|
this.Canvas.setLineDash([]);
|
|
150422
150601
|
}
|
|
150423
150602
|
|
|
150424
|
-
|
|
150425
|
-
else this.Canvas.strokeStyle=this.CloseLineConfig.CloseColor;
|
|
150603
|
+
this.Canvas.strokeStyle=this.GetCloseLineColor(lineData, column);
|
|
150426
150604
|
|
|
150427
150605
|
var bFirstPoint=true;
|
|
150428
150606
|
var ptFirst={}; //第1个点
|
|
@@ -150460,8 +150638,7 @@ function ChartReport()
|
|
|
150460
150638
|
this.Canvas.lineTo(x,yCenter);
|
|
150461
150639
|
this.Canvas.lineTo(ptFirst.X,yCenter);
|
|
150462
150640
|
this.Canvas.closePath();
|
|
150463
|
-
var areaColor=this.
|
|
150464
|
-
if (lineData.AreaColor) areaColor=lineData.AreaColor;
|
|
150641
|
+
var areaColor=this.GetCloseAreaColor(lineData, column);
|
|
150465
150642
|
this.SetFillStyle(areaColor,left,top, left,bottom);
|
|
150466
150643
|
this.Canvas.fill();
|
|
150467
150644
|
}
|
|
@@ -150470,6 +150647,48 @@ function ChartReport()
|
|
|
150470
150647
|
this.Canvas.restore();
|
|
150471
150648
|
}
|
|
150472
150649
|
|
|
150650
|
+
this.GetCloseLineColor=function(lineData, column)
|
|
150651
|
+
{
|
|
150652
|
+
var color=this.CloseLineConfig.CloseColor;
|
|
150653
|
+
if (lineData.Color)
|
|
150654
|
+
{
|
|
150655
|
+
color=lineData.Color;
|
|
150656
|
+
}
|
|
150657
|
+
else if (column.LineColorType==1)
|
|
150658
|
+
{
|
|
150659
|
+
var color= this.CloseLineConfig.UnchangeColor;
|
|
150660
|
+
if (IFrameSplitOperator.IsNumber(lineData.YClose) && IFrameSplitOperator.IsNonEmptyArray(lineData.Data) && IFrameSplitOperator.IsNumber(lineData.Data[ lineData.Data.length -1 ]))
|
|
150661
|
+
{
|
|
150662
|
+
var lastValue=lineData.Data[ lineData.Data.length -1 ];
|
|
150663
|
+
if (lastValue>lineData.YClose) color=this.CloseLineConfig.UpColor;
|
|
150664
|
+
else if (lastValue<lineData.YClose) color=this.CloseLineConfig.DownColor;
|
|
150665
|
+
}
|
|
150666
|
+
}
|
|
150667
|
+
|
|
150668
|
+
return color;
|
|
150669
|
+
}
|
|
150670
|
+
|
|
150671
|
+
this.GetCloseAreaColor=function(lineData, column)
|
|
150672
|
+
{
|
|
150673
|
+
var color=this.CloseLineConfig.AreaColor;
|
|
150674
|
+
if (lineData.AreaColor)
|
|
150675
|
+
{
|
|
150676
|
+
color=lineData.AreaColor;
|
|
150677
|
+
}
|
|
150678
|
+
else if (column.LineColorType==1)
|
|
150679
|
+
{
|
|
150680
|
+
var color= this.CloseLineConfig.UnchangeAreaColor;
|
|
150681
|
+
if (IFrameSplitOperator.IsNumber(lineData.YClose) && IFrameSplitOperator.IsNonEmptyArray(lineData.Data) && IFrameSplitOperator.IsNumber(lineData.Data[ lineData.Data.length -1 ]))
|
|
150682
|
+
{
|
|
150683
|
+
var lastValue=lineData.Data[ lineData.Data.length -1 ];
|
|
150684
|
+
if (lastValue>lineData.YClose) color=this.CloseLineConfig.UpAreaColor;
|
|
150685
|
+
else if (lastValue<lineData.YClose) color=this.CloseLineConfig.DownAreaColor;
|
|
150686
|
+
}
|
|
150687
|
+
}
|
|
150688
|
+
|
|
150689
|
+
return color;
|
|
150690
|
+
}
|
|
150691
|
+
|
|
150473
150692
|
//klineData={ Data:[ open, high, low, close ] }
|
|
150474
150693
|
this.DrawKLine=function(klineData, column, rtItem, data)
|
|
150475
150694
|
{
|
|
@@ -150539,7 +150758,31 @@ function ChartReport()
|
|
|
150539
150758
|
var distanceWidth=this.KLineConfig.DistanceWidth;
|
|
150540
150759
|
var xOffset=left;
|
|
150541
150760
|
var x, xLeft, xRight;
|
|
150761
|
+
var drawCount=0;
|
|
150542
150762
|
for(var i=0;i<aryKLine.length;++i,xOffset+=(dataWidth+distanceWidth))
|
|
150763
|
+
{
|
|
150764
|
+
xLeft=xOffset;
|
|
150765
|
+
xRight=xOffset+dataWidth;
|
|
150766
|
+
x=xLeft+(xRight-xLeft)/2;
|
|
150767
|
+
if (xRight>right) break;
|
|
150768
|
+
drawCount++;
|
|
150769
|
+
}
|
|
150770
|
+
|
|
150771
|
+
var xOffset=left;
|
|
150772
|
+
var startIndex=0;
|
|
150773
|
+
if (aryKLine.length>drawCount)
|
|
150774
|
+
{
|
|
150775
|
+
high=null,low=null;
|
|
150776
|
+
startIndex=aryKLine.length-drawCount;
|
|
150777
|
+
for(var i=startIndex;i<aryKLine.length;++i)
|
|
150778
|
+
{
|
|
150779
|
+
var item=aryKLine[i];
|
|
150780
|
+
if (high==null || high<item.High) high=item.High;
|
|
150781
|
+
if (low==null || low>item.Low) low=item.Low;
|
|
150782
|
+
}
|
|
150783
|
+
}
|
|
150784
|
+
|
|
150785
|
+
for(var i=startIndex;i<aryKLine.length;++i,xOffset+=(dataWidth+distanceWidth))
|
|
150543
150786
|
{
|
|
150544
150787
|
var item=aryKLine[i];
|
|
150545
150788
|
xLeft=xOffset;
|
|
@@ -150627,7 +150870,11 @@ function ChartReport()
|
|
|
150627
150870
|
}
|
|
150628
150871
|
else
|
|
150629
150872
|
{
|
|
150630
|
-
|
|
150873
|
+
this.Canvas.beginPath();
|
|
150874
|
+
var xBar=x;
|
|
150875
|
+
this.Canvas.moveTo(ToFixedPoint(xBar),ToFixedPoint(yBarTop));
|
|
150876
|
+
this.Canvas.lineTo(ToFixedPoint(xBar),ToFixedPoint(yBarBottom));
|
|
150877
|
+
this.Canvas.stroke();
|
|
150631
150878
|
}
|
|
150632
150879
|
}
|
|
150633
150880
|
|
|
@@ -155515,7 +155762,7 @@ function ScrollBarBGChart()
|
|
|
155515
155762
|
|
|
155516
155763
|
|
|
155517
155764
|
|
|
155518
|
-
var HQCHART_VERSION="1.1.
|
|
155765
|
+
var HQCHART_VERSION="1.1.15389";
|
|
155519
155766
|
|
|
155520
155767
|
function PrintHQChartVersion()
|
|
155521
155768
|
{
|