hqchart 1.1.12540 → 1.1.12549
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 +35 -21
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +2 -1
- package/src/jscommon/umychart.js +306 -6
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +309 -8
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +309 -8
- package/src/jscommon/umychart.wechat/umychart.index.data.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +13 -1
package/lib/umychart.vue.js
CHANGED
|
@@ -1378,7 +1378,8 @@ if(option.PageInfo)chart.SetPageInfo(option.PageInfo);chart.Create(windowsCount,
|
|
|
1378
1378
|
if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(!isNaN(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(!isNaN(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(!isNaN(option.CorssCursorInfo.Bottom))chart.ChartCorssCursor.ShowTextMode.Bottom=option.CorssCursorInfo.Bottom;if(option.CorssCursorInfo.IsShowCorss===false)chart.ChartCorssCursor.IsShowCorss=option.CorssCursorInfo.IsShowCorss;if(option.CorssCursorInfo.RightTextFormat>0)chart.ChartCorssCursor.TextFormat.Right=option.CorssCursorInfo.RightTextFormat;if(option.CorssCursorInfo.IsOnlyDrawMinute==true)chart.ChartCorssCursor.IsOnlyDrawMinute=option.CorssCursorInfo.IsOnlyDrawMinute;//Y轴显示收盘价
|
|
1379
1379
|
if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(item.HPenType))chart.ChartCorssCursor.HPenType=item.HPenType;if(IFrameSplitOperator.IsNumber(item.VPenType))chart.ChartCorssCursor.VPenType=item.VPenType;}if(option.MinuteInfo)chart.CreateMinuteInfo(option.MinuteInfo);if(option.IsShowRightMenu==true)chart.RightMenu=new MinuteRightMenu(this.DivElement);if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}this.AdjustChartBorder(chart);if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;if(IFrameSplitOperator.IsNumber(item.SplitCount))chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(item.IsShowLeftText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1380
1380
|
}if(item.IsShowRightText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1381
|
-
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(item.RightTextFormat>0)chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace
|
|
1381
|
+
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(item.RightTextFormat>0)chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace;//是否显示关闭集合竞价按钮
|
|
1382
|
+
if(IFrameSplitOperator.IsNumber(item.CloseBeforeButton))chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
|
|
1382
1383
|
if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
|
|
1383
1384
|
for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(IFrameSplitOperator.IsNumber(item.TitleBaseLine))chart.TitlePaint[0].TitleBaseLine=item.TitleBaseLine;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;}if(option.CorssCursorTouchEnd===true)chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;//分钟数据指标从第3个指标窗口设置
|
|
1384
1385
|
if(IFrameSplitOperator.IsNonEmptyArray(option.Windows)){var scriptData=new JSIndexScript();for(var i=0;i<option.Windows.length;++i){var index=2+i;var item=option.Windows[i];if(item.Script){chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
@@ -3101,7 +3102,7 @@ return result;}result.splice(0,0,{Name:"Date",Data:aryDate},{Name:"Time",Data:ar
|
|
|
3101
3102
|
{var result={Date:kLineItem.Date,Time:0};if(IFrameSplitOperator.IsNumber(kLineItem.Time))result.Time=kLineItem.Time;return result;};ChartData.GetFirday=function(value){var date=new Date(parseInt(value/10000),value/100%100-1,value%100);var day=date.getDay();if(day==5)return value;var timestamp=date.getTime();if(day<5){var prevTimestamp=24*60*60*1000*(5-day);timestamp+=prevTimestamp;}else{var prevTimestamp=24*60*60*1000*(day-5);timestamp-=prevTimestamp;}date.setTime(timestamp);var fridayDate=date.getFullYear()*10000+(date.getMonth()+1)*100+date.getDate();var week=date.getDay();return fridayDate;};ChartData.GetSunday=function(value){var date=new Date(parseInt(value/10000),value/100%100-1,value%100);var day=date.getDay();if(day==0)return value;var timestamp=date.getTime();if(day>0){var prevTimestamp=24*60*60*1000*(7-day);timestamp+=prevTimestamp;}date.setTime(timestamp);var sundayDate=date.getFullYear()*10000+(date.getMonth()+1)*100+date.getDate();var week=date.getDay();return sundayDate;};ChartData.GetQuarter=function(value){var month=parseInt(value%10000/100);if(month==1||month==2||month==3)return 1;else if(month==4||month==5||month==6)return 2;else if(month==7||month==8||month==9)return 3;else if(month==10||month==11||month==12)return 4;else return 0;};ChartData.GetHalfYear=function(value){var year=parseInt(value/10000);var day=value%10000;if(day<=630)return year*10000+630;return year*10000+1231;};//是否是日线周期 0=日线 1=周线 2=月线 3=年线 9=季线 21=双周 22=半年 [40001-50000) 自定义日线 (isIncludeBase 是否包含基础日线周期)
|
|
3102
3103
|
var CUSTOM_DAY_PERIOD_START=40000,CUSTOM_DAY_PERIOD_END=49999;ChartData.IsDayPeriod=function(period,isIncludeBase){if(period==1||period==2||period==3||period==9||period==21||period==22)return true;if(period>CUSTOM_DAY_PERIOD_START&&period<=CUSTOM_DAY_PERIOD_END)return true;if(period==0&&isIncludeBase==true)return true;return false;};//是否是分钟周期 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟 11=120分钟 12=240分钟 [20001-30000) 自定义分钟 (isIncludeBase 是否包含基础1分钟周期)
|
|
3103
3104
|
var CUSTOM_MINUTE_PERIOD_START=20000,CUSTOM_MINUTE_PERIOD_END=29999;ChartData.IsMinutePeriod=function(period,isIncludeBase){if(period==5||period==6||period==7||period==8||period==11||period==12)return true;if(period>CUSTOM_MINUTE_PERIOD_START&&period<=CUSTOM_MINUTE_PERIOD_END)return true;if(period==4&&isIncludeBase==true)return true;return false;};//是否是秒周期 [30001-32000)
|
|
3104
|
-
var CUSTOM_SECOND_PERIOD_START=30000,CUSTOM_SECOND_PERIOD_END=32000;ChartData.IsSecondPeriod=function(period){if(period>CUSTOM_SECOND_PERIOD_START&&period<=CUSTOM_SECOND_PERIOD_END)return true;return false;};//是否是分笔图 10=分笔
|
|
3105
|
+
var CUSTOM_SECOND_PERIOD_START=30000,CUSTOM_SECOND_PERIOD_END=32000;ChartData.IsSecondPeriod=function(period){if(period>CUSTOM_SECOND_PERIOD_START&&period<=CUSTOM_SECOND_PERIOD_END)return true;return false;};var CUSTOM_MILLISECOND_PERIOD_START=40000,CUSTOM_MILLISECOND_PERIOD_END=60000;ChartData.IsMilliSecondPeriod=function(period){if(period>CUSTOM_MILLISECOND_PERIOD_START&&period<=CUSTOM_MILLISECOND_PERIOD_END)return true;return false;};//是否是分笔图 10=分笔
|
|
3105
3106
|
ChartData.IsTickPeriod=function(period){return period==10;};//获取周期名字
|
|
3106
3107
|
ChartData.GetPeriodName=function(period){var mapName=new _map2.default([[0,'日线'],[1,'周线'],[2,'月线'],[3,'年线'],[9,'季线'],[21,'双周'],[22,"半年"],[4,'1分'],[5,'5分'],[6,'15分'],[7,'30分'],[8,'60分'],[11,'2小时'],[12,'4小时'],[10,'分笔']]);if(mapName.has(period))return mapName.get(period);return'';};function TooltipData()//提示信息
|
|
3107
3108
|
{this.ChartPaint;this.Data;this.Type=0;}function Rect(x,y,width,height){this.X=x,this.Y=y;this.Width=width;this.Height=height;}//图形外部挂接
|
|
@@ -5256,7 +5257,7 @@ this.GetExtendPaintData(defaultfloatPrecision);}else if(this.FrameID==1){if(this
|
|
|
5256
5257
|
this.GetExtendPaintData=function(floatPrecision){var value=parseInt(this.Value*ZOOM_VALUE[floatPrecision]);for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ClassName=='DepthMapPaint'&&item.FrameID==this.FrameID){var aryData=item.GetYValueByXValue(value,floatPrecision);for(var j in aryData){this.RExtendText.push(aryData[j]);}}}};}function HQDateStringFormat(){this.newMethod=IChangeStringFormat;//派生
|
|
5257
5258
|
this.newMethod();delete this.newMethod;this.DateFormatType=0;//0=YYYY-MM-DD 1=YYYY/MM/DD 2=YYYY/MM/DD/W 3=DD/MM/YYYY
|
|
5258
5259
|
this.LanguageID=0;this.Operator=function(){if(!IFrameSplitOperator.IsNumber(this.Value))return false;if(!this.Data)return false;var index=this.Value;index=parseInt(index.toFixed(0));if(this.Data.DataOffset+index>=this.Data.Data.length)return false;var currentData=this.Data.Data[this.Data.DataOffset+index];var dateFormatString="YYYY-MM-DD";if(this.DateFormatType==1)dateFormatString="YYYY/MM/DD";else if(this.DateFormatType==2)dateFormatString="YYYY/MM/DD/W";else if(this.DateFormatType==3)dateFormatString="DD/MM/YYYY";this.Text=IFrameSplitOperator.FormatDateString(currentData.Date,dateFormatString,this.LanguageID);if(ChartData.IsMinutePeriod(this.Data.Period,true))// 分钟周期
|
|
5259
|
-
{var time=IFrameSplitOperator.FormatTimeString(currentData.Time);this.Text=this.Text+" "+time;}else if(ChartData.IsSecondPeriod(this.Data.Period)){var time=IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS');this.Text=this.Text+" "+time;}else if(ChartData.IsTickPeriod(this.Data.Period))//分笔
|
|
5260
|
+
{var time=IFrameSplitOperator.FormatTimeString(currentData.Time);this.Text=this.Text+" "+time;}else if(ChartData.IsSecondPeriod(this.Data.Period)){var time=IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS');this.Text=this.Text+" "+time;}else if(ChartData.IsMilliSecondPeriod(this.Data.Period)){var time=IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS.fff');this.Text=this.Text+" "+time;}else if(ChartData.IsTickPeriod(this.Data.Period))//分笔
|
|
5260
5261
|
{var time=IFrameSplitOperator.FormatTimeString(currentData.Time);this.Text=this.Text+" "+time;}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);if(event){var data={Item:currentData,Period:this.Data.Period,Date:currentData.Date,Time:currentData.Time,Index:this.Data.DataOffset+index};event.Callback(event,data,this);}}return true;};}function HQMinuteTimeStringFormat(){this.newMethod=IChangeStringFormat;//派生
|
|
5261
5262
|
this.newMethod();delete this.newMethod;this.ClassName="HQMinuteTimeStringFormat";this.Frame;this.Symbol;this.Point;this.ClientPos=-1;this.BeforeOpenData;//单日分时图 盘前数据
|
|
5262
5263
|
this.AfterCloseData;//单日分时图 收盘数据
|
|
@@ -5422,7 +5423,7 @@ this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
|
|
|
5422
5423
|
};this.GetCurrentKLineData=function()//获取当天鼠标位置所在的K线数据
|
|
5423
5424
|
{if(this.CursorIndex==null||!this.Data)return null;if(this.Data.length<=0)return null;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0)return null;var item=this.Data.Data[dataIndex];return item;};this.GetFormatTitle=function(data){if(!data||!data.Data)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
|
|
5424
5425
|
var upperSymbol=this.Symbol.toUpperCase();var item=data.Data;var aryText=[];var result={AryText:aryText};if(this.IsShowName)aryText.push({Text:this.Name,Color:this.NameColor});if(this.IsShowSettingInfo){var periodName='';if(this.Data.Period>CUSTOM_MINUTE_PERIOD_START&&this.Data.Period<=CUSTOM_MINUTE_PERIOD_END)periodName=this.Data.Period-CUSTOM_MINUTE_PERIOD_START+g_JSChartLocalization.GetText('自定义分钟',this.LanguageID);else if(this.Data.Period>CUSTOM_DAY_PERIOD_START&&this.Data.Period<=CUSTOM_DAY_PERIOD_END)periodName=this.Data.Period-CUSTOM_DAY_PERIOD_START+g_JSChartLocalization.GetText('自定义日线',this.LanguageID);else if(this.Data.Period>CUSTOM_SECOND_PERIOD_START&&this.Data.Period<=CUSTOM_SECOND_PERIOD_END)periodName=this.Data.Period-CUSTOM_SECOND_PERIOD_START+g_JSChartLocalization.GetText('自定义秒',this.LanguageID);else periodName=g_JSChartLocalization.GetText(ChartData.GetPeriodName(this.Data.Period),this.LanguageID);var rightName=g_JSChartLocalization.GetText(RIGHT_NAME[this.Data.Right],this.LanguageID);var text="("+periodName+" "+rightName+")";if(!MARKET_SUFFIX_NAME.IsEnableRight(this.Data.Period,this.Symbol,this.HQChart.RightFormula))text="("+periodName+")";aryText.push({Text:text,Color:this.SettingColor});}var text=this.GetKLineCalculateTitle();if(text)aryText.push({Text:text,Color:this.NameColor});if(this.IsShowDateTime)//是否显示日期
|
|
5425
|
-
{var text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}var isTickPeriod=ChartData.IsTickPeriod(this.Period);if(ChartData.IsMinutePeriod(this.Period,true)&&IFrameSplitOperator.IsNumber(item.Time)){var text=IFrameSplitOperator.FormatTimeString(item.Time);aryText.push({Text:text,Color:this.DateTimeColor});}else if(ChartData.IsSecondPeriod(this.Period)&&IFrameSplitOperator.IsNumber(item.Time)){var text=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});}else if(isTickPeriod){var text=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});}if(isTickPeriod){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Price',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});if(IFrameSplitOperator.IsNumber(item.YClose)&&item.YClose!=0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color});}return result;}if(item.IsNonTrade)return result;//非交易日 没数据 不显示
|
|
5426
|
+
{var text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}var isTickPeriod=ChartData.IsTickPeriod(this.Period);if(ChartData.IsMinutePeriod(this.Period,true)&&IFrameSplitOperator.IsNumber(item.Time)){var text=IFrameSplitOperator.FormatTimeString(item.Time);aryText.push({Text:text,Color:this.DateTimeColor});}else if(ChartData.IsSecondPeriod(this.Period)&&IFrameSplitOperator.IsNumber(item.Time)){var text=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});}else if(ChartData.IsMilliSecondPeriod(self.Period)&&IFrameSplitOperator.IsNumber(item.Time)){var text=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS.fff");aryText.push({Text:text,Color:this.DateTimeColor});}else if(isTickPeriod){var text=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});}if(isTickPeriod){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Price',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});if(IFrameSplitOperator.IsNumber(item.YClose)&&item.YClose!=0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color});}return result;}if(item.IsNonTrade)return result;//非交易日 没数据 不显示
|
|
5426
5427
|
var eventUnchangeKLine=null;//定制平盘K线颜色事件
|
|
5427
5428
|
if(this.GetEventCallback)eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);if(IFrameSplitOperator.IsNumber(item.Open)){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);if(item.Open==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-Open",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.High)){var color=this.GetColor(item.High,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);if(item.High==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-High",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Low)){var color=this.GetColor(item.Low,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);if(item.Low==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-Low",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Close)){var color=this.GetColor(item.Close,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);if(item.Close==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-Close",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}//涨幅
|
|
5428
5429
|
if(item.YFClose>0&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color});}else if(item.YClose>0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Vol))//成交量
|
|
@@ -5724,7 +5725,10 @@ this.Canvas.strokeStyle=this.PointColor;if(isMoveOn)this.Canvas.lineWidth=1*pixe
|
|
|
5724
5725
|
}else if(this.PointType==2)//空心圆
|
|
5725
5726
|
{var path=new Path2D();path.arc(item.X,item.Y,this.PointRadius*pixel,0,360,false);this.Canvas.fill(path);this.Canvas.stroke(path);}else//实心圆
|
|
5726
5727
|
{this.Canvas.beginPath();this.Canvas.arc(item.X,item.Y,this.PointRadius*pixel,0,360,false);this.Canvas.fill();//画实心圆
|
|
5727
|
-
this.Canvas.closePath();}}this.Canvas.restore();}
|
|
5728
|
+
this.Canvas.closePath();}}this.Canvas.restore();};this.DrawArrow=function(ptStart,ptEnd){//计算箭头
|
|
5729
|
+
var theta=35;//三角斜边一直线夹角
|
|
5730
|
+
var headlen=10;//三角斜边长度
|
|
5731
|
+
var angle=Math.atan2(ptStart.Y-ptEnd.Y,ptStart.X-ptEnd.X)*180/Math.PI,angle1=(angle+theta)*Math.PI/180,angle2=(angle-theta)*Math.PI/180,topX=headlen*Math.cos(angle1),topY=headlen*Math.sin(angle1),botX=headlen*Math.cos(angle2),botY=headlen*Math.sin(angle2);this.Canvas.beginPath();var arrowX=ptEnd.X+topX;var arrowY=ptEnd.Y+topY;this.Canvas.moveTo(arrowX,arrowY);this.Canvas.lineTo(ptEnd.X,ptEnd.Y);arrowX=ptEnd.X+botX;arrowY=ptEnd.Y+botY;this.Canvas.lineTo(arrowX,arrowY);this.Canvas.stroke();};//计算2个点线的,左右的延长线的点
|
|
5728
5732
|
this.CalculateExtendLinePoint=function(ptStart,ptEnd){var result={};var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottom();var a=ptEnd.X-ptStart.X;var b=ptEnd.Y-ptStart.Y;if(a>0){var b2=bottom-ptStart.Y;var a2=a*b2/b;var pt=new Point();pt.X=ptStart.X+a2;pt.Y=bottom;result.End=pt;var b2=ptEnd.Y-top;var a2=a*b2/b;var pt2=new Point();pt2.Y=top;pt2.X=ptEnd.X-a2;result.Start=pt2;}else{var b2=bottom-ptStart.Y;var a2=Math.abs(a)*b2/b;var pt=new Point();pt.X=ptStart.X-a2;;pt.Y=bottom;result.End=pt;var b2=ptEnd.Y-top;var a2=Math.abs(a)*b2/b;var pt2=new Point();pt2.Y=top;pt2.X=ptEnd.X+a2;result.Start=pt2;}return result;};//计算2个点线的,点0->点1->延长线的点
|
|
5729
5733
|
this.CalculateExtendLineEndPoint=function(aryPoint){var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();var bottom=this.Frame.ChartBorder.GetBottomEx();var top=this.Frame.ChartBorder.GetTopEx();var a=aryPoint[1].X-aryPoint[0].X;var b=aryPoint[1].Y-aryPoint[0].Y;if(a>0){var a1=right-aryPoint[0].X;var b1=a1*b/a;var y=b1+aryPoint[0].Y;if(y>=top&&y<=bottom){var pt=new Point();pt.X=right;pt.Y=y;return pt;}if(b>0){var b2=bottom-aryPoint[0].Y;var a2=a*b2/b;var x=a2+aryPoint[0].X;var pt2=new Point();pt2.X=x;pt2.Y=bottom;return pt2;}else if(b==0){var pt2=new Point();pt2.X=right;pt2.Y=aryPoint[0].Y;return pt2;}else{var b2=top-aryPoint[0].Y;var a2=a*b2/b;var x=a2+aryPoint[0].X;var pt2=new Point();pt2.X=x;pt2.Y=top;return pt2;}}else{var a1=aryPoint[0].X-left;var b1=a1*b/Math.abs(a);var y=b1+aryPoint[0].Y;if(y>=top&&y<=bottom){var pt=new Point();pt.X=left;pt.Y=y;return pt;}if(b>0){var b2=bottom-aryPoint[0].Y;var a2=a*b2/b;var x=a2+aryPoint[0].X;var pt2=new Point();pt2.X=x;pt2.Y=bottom;return pt2;}else if(b==0){var pt2=new Point();pt2.X=left;pt2.Y=aryPoint[0].Y;return pt2;}else{var b2=top-aryPoint[0].Y;var a2=a*b2/b;var x=a2+aryPoint[0].X;var pt2=new Point();pt2.X=x;pt2.Y=top;return pt2;}}};//坐标是否在点上 返回在第几个点上
|
|
5730
5734
|
this.IsPointInXYValue=function(x,y,option){if(!this.Frame)return-1;var data=this.Frame.Data;if(!data)return-1;if(!this.Value)return-1;var radius=5;if(option&&IFrameSplitOperator.IsNumber(option.Zoom))radius+=option.Zoom;else if(this.Option&&IFrameSplitOperator.IsNumber(this.Option.Zoom))radius+=this.Option.Zoom;var isHScreen=this.Frame.IsHScreen;radius*=GetDevicePixelRatio();for(var i=0;i<this.Value.length;++i)//是否在点上
|
|
@@ -5762,8 +5766,8 @@ IChartDrawPicture.HexToRGB=function(color){color=color.toLowerCase();var reg=/^#
|
|
|
5762
5766
|
var sColorChange=[];for(var i=1;i<7;i+=2){sColorChange.push(parseInt("0x"+color.slice(i,i+2)));}return"rgb("+sColorChange.join(",")+")";}return null;};IChartDrawPicture.ArrayDrawPricture=[{Name:"线段",ClassName:'ChartDrawPictureLine',Create:function Create(){return new ChartDrawPictureLine();}},{Name:"射线",ClassName:'ChartDrawPictureHaflLine',Create:function Create(){return new ChartDrawPictureHaflLine();}},{Name:"箭头",ClassName:"ChartDrawArrowLine",Create:function Create(){return new ChartDrawArrowLine();}},{Name:"水平线",ClassName:'ChartDrawPictureHorizontalLine',Create:function Create(){return new ChartDrawPictureHorizontalLine();}},{Name:"趋势线",ClassName:'ChartDrawPictureTrendLine',Create:function Create(){return new ChartDrawPictureTrendLine();}},{Name:"矩形",ClassName:'ChartDrawPictureRect',Create:function Create(){return new ChartDrawPictureRect();}},{Name:"圆弧线",ClassName:'ChartDrawPictureArc',Create:function Create(){return new ChartDrawPictureArc();}},{Name:"M头W底",ClassName:'ChartDrawPictureWaveMW',Create:function Create(){return new ChartDrawPictureWaveMW();}},{Name:"头肩型",ClassName:"ChartDrawHeadShouldersBT",Create:function Create(){return new ChartDrawHeadShouldersBT();}},{Name:"平行线",ClassName:'ChartDrawPictureParallelLines',Create:function Create(){return new ChartDrawPictureParallelLines();}},{Name:"平行通道",ClassName:'ChartDrawPictureParallelChannel',Create:function Create(){return new ChartDrawPictureParallelChannel();}},{Name:"价格通道线",ClassName:'ChartDrawPicturePriceChannel',Create:function Create(){return new ChartDrawPicturePriceChannel();}},{Name:"文本",ClassName:'ChartDrawPictureText',Create:function Create(){return new ChartDrawPictureText();}},{Name:"江恩角度线",ClassName:'ChartDrawPictureGannFan',Create:function Create(){return new ChartDrawPictureGannFan();}},{Name:"阻速线",ClassName:'ChartDrawPictureResistanceLine',Create:function Create(){return new ChartDrawPictureResistanceLine();}},{Name:"黄金分割",ClassName:'ChartDrawPictureGoldenSection',Create:function Create(){return new ChartDrawPictureGoldenSection();}},{Name:"百分比线",ClassName:'ChartDrawPicturePercentage',Create:function Create(){return new ChartDrawPicturePercentage();}},{Name:"波段线",ClassName:'ChartDrawPictureWaveBand',Create:function Create(){return new ChartDrawPictureWaveBand();}},{Name:"三角形",ClassName:'ChartDrawPictureTriangle',Create:function Create(){return new ChartDrawPictureTriangle();}},{Name:"对称角度",ClassName:'ChartDrawPictureSymmetryAngle',Create:function Create(){return new ChartDrawPictureSymmetryAngle();}},{Name:"圆",ClassName:'ChartDrawPictureCircle',Create:function Create(){return new ChartDrawPictureCircle();}},{Name:"平行四边形",ClassName:'ChartDrawPictureQuadrangle',Create:function Create(){return new ChartDrawPictureQuadrangle();}},{Name:"斐波那契周期线",ClassName:'ChartDrawPictureFibonacci',Create:function Create(){return new ChartDrawPictureFibonacci();}},{Name:"线形回归线",ClassName:"ChartDrawLinearRegression",Create:function Create(){return new ChartDrawLinearRegression();}},{Name:"线形回归带",ClassName:"ChartDrawLinearRegression",Create:function Create(){return new ChartDrawLinearRegression({IsShowMaxMinLine:true});}},{Name:"延长线形回归带",ClassName:"ChartDrawLinearRegression",Create:function Create(){return new ChartDrawLinearRegression({IsShowMaxMinLine:true,IsShowExtendLine:true});}},{Name:"尺子",ClassName:"ChartDrawRuler",Create:function Create(){return new ChartDrawRuler();}},{Name:"标价线",ClassName:"ChartDrawPriceLine",Create:function Create(){return new ChartDrawPriceLine();}},{Name:"标价线2",ClassName:"ChartDrawPriceLineV2",Create:function Create(){return new ChartDrawPriceLineV2();}},{Name:"垂直线",ClassName:"ChartDrawVerticalLine",Create:function Create(){return new ChartDrawVerticalLine();}},{Name:"波浪尺",ClassName:"ChartDrawWaveRuler",Create:function Create(){return new ChartDrawWaveRuler();}},{Name:"AB波浪尺",ClassName:"ChartDrawWaveRuler2Point",Create:function Create(){return new ChartDrawWaveRuler2Point();}},{Name:"箱型线",ClassName:"ChartDrawBox",Create:function Create(){return new ChartDrawBox();}},{Name:"2点画图例子",ClassName:"ChartDrawTwoPointDemo",Create:function Create(){return new ChartDrawTwoPointDemo();}},{Name:"3点画图例子",ClassName:"ChartDrawThreePointDemo",Create:function Create(){return new ChartDrawThreePointDemo();}},{Name:"水平线段",ClassName:"ChartDrawHLineSegment",Create:function Create(){return new ChartDrawHLineSegment();}},{Name:"平行射线",ClassName:"ChartDrawParallelRaysLines",Create:function Create(){return new ChartDrawParallelRaysLines();}},{ClassName:'ChartDrawPictureIconFont',Create:function Create(){return new ChartDrawPictureIconFont();}},//涂鸦 不绑定K线坐标
|
|
5763
5767
|
{Name:"涂鸦线段",ClassName:'ChartDrawGraffitiLine',Create:function Create(){return new ChartDrawGraffitiLine();}},{Name:"固定范围成交量分布图",ClassName:"ChartDrawVolProfile",Create:function Create(){return new ChartDrawVolProfile();}},{Name:"DisjointChannel",ClassName:"ChartDrawDisjontChannel",Create:function Create(){return new ChartDrawDisjontChannel();}},{Name:"FlatTop",ClassName:"ChartDrawDisjontChannel",Create:function Create(){return new ChartDrawFlatTop();}},{Name:"水平线2",ClassName:"ChartDrawHLine",Create:function Create(){return new ChartDrawHLine();}},//trading view样式
|
|
5764
5768
|
{Name:"Note",ClassName:"ChartDrawNote",Create:function Create(){return new ChartDrawNote();}},{Name:"AnchoredText",ClassName:"ChartDrawAnchoredText",Create:function Create(){return new ChartDrawAnchoredText();}},{Name:"PriceLabel",ClassName:"ChartDrawPriceLabel",Create:function Create(){return new ChartDrawPriceLabel();}},{Name:"PriceNote",ClassName:"ChartDrawPriceNote",Create:function Create(){return new ChartDrawPriceNote();}},{Name:"FibWedge",ClassName:"ChartDrawFibWedge",Create:function Create(){return new ChartDrawFibWedge();}},{Name:"FibRetracement",ClassName:"ChartFibRetracement",Create:function Create(){return new ChartFibRetracement();}},//斐波那契回测
|
|
5765
|
-
{Name:"FibSpeedResistanceFan",ClassName:"ChartFibSpeedResistanceFan",Create:function Create(){return new ChartFibSpeedResistanceFan();}
|
|
5766
|
-
}];IChartDrawPicture.MapIonFont=new _map2.default([["icon-arrow_up",{Text:'\uE683',Color:'#318757',Family:"iconfont"}],["icon-arrow_down",{Text:'\uE681',Color:'#db563e',Family:"iconfont"}],["icon-arrow_right",{Text:'\uE682',Color:'#318757',Family:"iconfont"}],["icon-arrow_left",{Text:'\uE680',Color:'#318757',Family:"iconfont"}]]);IChartDrawPicture.GetDrawPictureByName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.Name==value)return item;}return null;};IChartDrawPicture.GetDrawPictureByClassName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.ClassName==value)return item;}return null;};//注册一个新的画图工具 {Name:中文名字, ClassName:类名, Create:function()}
|
|
5769
|
+
{Name:"FibSpeedResistanceFan",ClassName:"ChartFibSpeedResistanceFan",Create:function Create(){return new ChartFibSpeedResistanceFan();}},//斐波那契扇形
|
|
5770
|
+
{Name:"PriceRange",ClassName:"ChartPriceRange",Create:function Create(){return new ChartPriceRange();}},{Name:"DateRange",ClassName:"ChartDateRange",Create:function Create(){return new ChartDateRange();}}];IChartDrawPicture.MapIonFont=new _map2.default([["icon-arrow_up",{Text:'\uE683',Color:'#318757',Family:"iconfont"}],["icon-arrow_down",{Text:'\uE681',Color:'#db563e',Family:"iconfont"}],["icon-arrow_right",{Text:'\uE682',Color:'#318757',Family:"iconfont"}],["icon-arrow_left",{Text:'\uE680',Color:'#318757',Family:"iconfont"}]]);IChartDrawPicture.GetDrawPictureByName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.Name==value)return item;}return null;};IChartDrawPicture.GetDrawPictureByClassName=function(value){for(var i in IChartDrawPicture.ArrayDrawPricture){var item=IChartDrawPicture.ArrayDrawPricture[i];if(item.ClassName==value)return item;}return null;};//注册一个新的画图工具 {Name:中文名字, ClassName:类名, Create:function()}
|
|
5767
5771
|
IChartDrawPicture.RegisterDrawPicture=function(obj){if(!obj.Name||!obj.ClassName||!obj.Create)return false;var item={Name:obj.Name,ClassName:obj.ClassName,Create:obj.Create};IChartDrawPicture.ArrayDrawPricture.push(item);JSConsole.Chart.Log('[IChartDrawPicture.RegisterDrawPicture] registered new draw picture class. item=',item);return true;};//注册一个新图标 {Name:, Text: , Color:, Family:}
|
|
5768
5772
|
IChartDrawPicture.RegisterIonFont=function(obj){if(!obj.Name||!obj.Text||!obj.Family)return false;var isOverwirte=IChartDrawPicture.MapIonFont.has(obj.Name);IChartDrawPicture.MapIonFont.set(obj.Name,obj);JSConsole.Chart.Log('[IChartDrawPicture.RegisterIonFont] registered new icon font, obj=, isOverwirte=',obj,isOverwirte);return true;};IChartDrawPicture.CreateChartDrawPicture=function(obj)//创建画图工具
|
|
5769
5773
|
{var item=IChartDrawPicture.GetDrawPictureByClassName(obj.ClassName);if(!item)return null;var chartDraw=item.Create();//TODO:后面都放到每一个SetOptin里面
|
|
@@ -6217,7 +6221,15 @@ var aryYData=this.GetArrayAreaConfig(this.AreaConfig.AryYData);var ptPre=null;//
|
|
|
6217
6221
|
var clrArea=null;this.Canvas.font=this.Font;var border=this.Frame.GetBorder();var ptLeftTop={X:border.Left,Y:border.TopEx};var ptRightTop={X:border.Right,Y:border.TopEx};var ptLeftBottom={X:border.Left,Y:border.BottomEx};var ptRightBottom={X:border.Right,Y:border.BottomEx};var textOffset=4;if(quadrant==1||quadrant==4){this.Canvas.textAlign="right";textOffset=-4;}else{this.Canvas.textAlign="left";textOffset=4;}this.Canvas.textBaseline="middle";for(var i=0;i<aryYData.length;++i){var item=aryYData[i];var y=item.Value*yDiff+ptStart.Y;var pt=this.CalculateExtendLineEndPoint([center,{X:ptStart.X,Y:y}]);if(ptPre){this.Canvas.beginPath();this.Canvas.moveTo(center.X,center.Y);this.Canvas.lineTo(ptPre.X,ptPre.Y);if(quadrant==1){if(ptPre.X>=ptRightTop.X&&pt.X<ptRightTop.X){this.Canvas.lineTo(ptRightTop.X,ptRightTop.Y);}}else if(quadrant==2){if(ptPre.X<=ptLeftTop.X&&pt.X>ptLeftTop.X){this.Canvas.lineTo(ptLeftTop.X,ptLeftTop.Y);}}else if(quadrant==3){if(ptPre.X<=ptLeftBottom.X&&pt.X>ptLeftBottom.X){this.Canvas.lineTo(ptLeftBottom.X,ptLeftBottom.Y);}}else if(quadrant==4){if(ptPre.X>=ptRightBottom.X&&pt.X<ptRightBottom.X){this.Canvas.lineTo(ptRightBottom.X,ptRightBottom.Y);}}this.Canvas.lineTo(pt.X,pt.Y);this.Canvas.closePath();this.Canvas.fillStyle=clrArea;this.Canvas.fill();}this.Canvas.strokeStyle=item.Color;this.Canvas.beginPath();this.Canvas.moveTo(center.X,center.Y);this.Canvas.lineTo(pt.X,pt.Y);this.Canvas.stroke();this.LinePoint.push({Start:center,End:pt});if(item.Value!=1){this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(center.X,y);this.Canvas.lineTo(ptStart.X,y);this.Canvas.stroke();}ptPre=pt;clrArea=IChartDrawPicture.ColorToRGBA(item.Color,this.AreaConfig.Opacity);//文字
|
|
6218
6222
|
var text=''+item.Value;this.Canvas.fillStyle=item.Color;this.Canvas.fillText(text,center.X+textOffset,y);}var aryXData=this.GetArrayAreaConfig(this.AreaConfig.AryXData);var ptPre=null;this.Canvas.textAlign="center";if(quadrant==3||quadrant==4){this.Canvas.textBaseline="bottom";textOffset=-5;}else{this.Canvas.textBaseline="top";textOffset=5;}for(var i=0;i<aryXData.length;++i){var item=aryXData[i];var x=item.Value*xDiff+ptStart.X;var pt=this.CalculateExtendLineEndPoint([center,{X:x,Y:ptStart.Y}]);if(ptPre)//面积
|
|
6219
6223
|
{this.Canvas.beginPath();this.Canvas.moveTo(center.X,center.Y);this.Canvas.lineTo(ptPre.X,ptPre.Y);if(quadrant==1){if(ptPre.X<ptRightTop.X&&pt.X>=ptRightTop.X){this.Canvas.lineTo(ptRightTop.X,ptRightTop.Y);}}else if(quadrant==2){if(ptPre.X>ptLeftTop.X&&pt.X<=ptLeftTop.X){this.Canvas.lineTo(ptLeftTop.X,ptLeftTop.Y);}}else if(quadrant==3){if(ptPre.X>ptLeftBottom.X&&pt.X<=ptLeftBottom.X){this.Canvas.lineTo(ptLeftBottom.X,ptLeftBottom.Y);}}else if(quadrant==4){if(ptPre.X<ptRightBottom.X&&pt.X>=ptRightBottom.X){this.Canvas.lineTo(ptRightBottom.X,ptRightBottom.Y);}}this.Canvas.lineTo(pt.X,pt.Y);this.Canvas.closePath();this.Canvas.fillStyle=clrArea;this.Canvas.fill();}this.Canvas.strokeStyle=item.Color;this.Canvas.beginPath();this.Canvas.moveTo(center.X,center.Y);this.Canvas.lineTo(pt.X,pt.Y);this.Canvas.stroke();this.LinePoint.push({Start:center,End:pt});if(item.Value!=1){this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(x,center.Y);this.Canvas.lineTo(x,ptStart.Y);this.Canvas.stroke();}ptPre=pt;clrArea=IChartDrawPicture.ColorToRGBA(item.Color,this.AreaConfig.Opacity);//文字
|
|
6220
|
-
var text=''+item.Value;this.Canvas.fillStyle=item.Color;this.Canvas.fillText(text,x,center.Y+textOffset);}};this.GetArrayAreaConfig=function(aryData){var aryArea=[];for(var i=0;i<aryData.length;++i){var item=aryData[i];if(item.Enable)aryArea.push(item);}aryArea.sort(function(left,right){return right.Value-left.Value;});return aryArea;};}function
|
|
6224
|
+
var text=''+item.Value;this.Canvas.fillStyle=item.Color;this.Canvas.fillText(text,x,center.Y+textOffset);}};this.GetArrayAreaConfig=function(aryData){var aryArea=[];for(var i=0;i<aryData.length;++i){var item=aryData[i];if(item.Enable)aryArea.push(item);}aryArea.sort(function(left,right){return right.Value-left.Value;});return aryArea;};}function ChartPriceRange(){this.newMethod=IChartDrawPicture;//派生
|
|
6225
|
+
this.newMethod();delete this.newMethod;this.ClassName='ChartPriceRange';this.PointCount=2;this.Font=12*GetDevicePixelRatio()+"px 微软雅黑";this.TextColor=this.LineColor;this.IsPointIn=this.IsPointIn_XYValue_Line;this.GetXYCoordinate=this.GetXYCoordinate_default;this.PointToValue_Default=this.PointToValue;this.OnlyMoveXIndex=true;this.IsSupportMagnet=true;this.LineWidth=1;this.EnableBGColor=true;this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);this.ExtendLine={Left:false,Right:false};//延长线
|
|
6226
|
+
this.Label={TextColor:"rgb(0,0,0)",BGColor:"rgb(211,211,211)",EnableBGColor:true,LeftMargin:5,RightMargin:5};this.Draw=function(){this.LinePoint=[];if(this.IsFrameMinSize())return;var bCheckXY=true;if(this.ExtendLine.Left||this.ExtendLine.Right)bCheckXY=false;var drawPoint=this.CalculateDrawPoint({IsCheckX:bCheckXY,IsCheckY:bCheckXY});if(!drawPoint)return;if(drawPoint.length!=2)return;this.ClipFrame();var ptStart=drawPoint[0];var ptEnd=drawPoint[1];this.SetLineWidth();this.DrawRange(ptStart,ptEnd);this.RestoreLineWidth();this.DrawPoint(drawPoint);//画点
|
|
6227
|
+
this.Canvas.restore();};this.DrawRange=function(ptStart,ptEnd){var yTop=Math.min(ptStart.Y,ptEnd.Y);var yBottom=Math.max(ptStart.Y,ptEnd.Y);var xLeft=Math.min(ptStart.X,ptEnd.X);var xRight=Math.max(ptStart.X,ptEnd.X);var height=yBottom-yTop;var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;if(this.ExtendLine.Right)xRight=this.Frame.ChartBorder.GetRight();if(this.ExtendLine.Left)xLeft=this.Frame.ChartBorder.GetLeft();if(this.EnableBGColor){var rtBG={Left:xLeft,Top:yTop,Right:xRight,Bottom:yBottom};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yTop));this.Canvas.lineTo(xRight,ToFixedPoint(yTop));this.Canvas.moveTo(xLeft,ToFixedPoint(yBottom));this.Canvas.lineTo(xRight,ToFixedPoint(yBottom));this.Canvas.moveTo(ToFixedPoint(xCenter),ToFixedPoint(yTop));this.Canvas.lineTo(ToFixedPoint(xCenter),ToFixedPoint(yBottom));this.Canvas.stroke();this.LinePoint.push({Start:{X:xLeft,Y:yTop},End:{X:xRight,Y:yTop}});this.LinePoint.push({Start:{X:xLeft,Y:yBottom},End:{X:xRight,Y:yBottom}});this.LinePoint.push({Start:{X:xCenter,Y:yTop},End:{X:xCenter,Y:yBottom}});this.DrawArrow({X:ToFixedPoint(xCenter),Y:ptStart.Y},{X:ToFixedPoint(xCenter),Y:ptEnd.Y});//文字输出
|
|
6228
|
+
var startValue=this.Frame.GetYData(ptStart.Y,false);var endValue=this.Frame.GetYData(ptEnd.Y,false);var diffValue=endValue-startValue;var rate=diffValue/startValue*100;var text=diffValue.toFixed(2)+' ('+rate.toFixed(2)+'%)';this.Canvas.font=this.Font;var textHeight=this.GetFontHeight();var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);var rtTextBG={Left:xCenter-textWidth/2,Width:textWidth,Height:textHeight+2};if(diffValue>0)rtTextBG.Top=ptEnd.Y-rtTextBG.Height-4;else rtTextBG.Top=ptEnd.Y+4;rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;if(this.Label.EnableBGColor){var path=new Path2D();path.roundRect(ToFixedPoint(rtTextBG.Left),ToFixedPoint(rtTextBG.Top),ToFixedRect(rtTextBG.Width),ToFixedRect(rtTextBG.Height),[3]);this.Canvas.fillStyle=this.Label.BGColor;this.Canvas.fill(path);}this.Canvas.fillStyle=this.Label.TextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);};}function ChartDateRange(){this.newMethod=IChartDrawPicture;//派生
|
|
6229
|
+
this.newMethod();delete this.newMethod;this.ClassName='ChartDateRange';this.PointCount=2;this.Font=12*GetDevicePixelRatio()+"px 微软雅黑";this.TextColor=this.LineColor;this.IsPointIn=this.IsPointIn_XYValue_Line;this.GetXYCoordinate=this.GetXYCoordinate_default;this.PointToValue_Default=this.PointToValue;this.OnlyMoveXIndex=true;this.IsSupportMagnet=true;this.LineWidth=1;this.EnableBGColor=true;this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);this.ExtendLine={Top:false,Bottom:false};//延长线
|
|
6230
|
+
this.Label={TextColor:"rgb(0,0,0)",BGColor:"rgb(211,211,211)",EnableBGColor:true,LeftMargin:5,RightMargin:5};this.Draw=function(){this.LinePoint=[];if(this.IsFrameMinSize())return;var bCheckXY=true;var drawPoint=this.CalculateDrawPoint({IsCheckX:bCheckXY,IsCheckY:bCheckXY});if(!drawPoint)return;if(drawPoint.length!=2)return;this.ClipFrame();var ptStart=drawPoint[0];var ptEnd=drawPoint[1];this.SetLineWidth();this.DrawRange(ptStart,ptEnd);this.RestoreLineWidth();this.DrawPoint(drawPoint);//画点
|
|
6231
|
+
this.Canvas.restore();};this.DrawRange=function(ptStart,ptEnd){var yTop=Math.min(ptStart.Y,ptEnd.Y);var yBottom=Math.max(ptStart.Y,ptEnd.Y);var xLeft=Math.min(ptStart.X,ptEnd.X);var xRight=Math.max(ptStart.X,ptEnd.X);var height=yBottom-yTop;var width=xRight-xLeft;var yCenter=ptStart.Y+(ptEnd.Y-ptStart.Y)/2;var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;if(this.ExtendLine.Top)yTop=this.Frame.ChartBorder.GetTopEx();if(this.ExtendLine.Bottom)yBottom=this.Frame.ChartBorder.GetBottomEx();if(this.EnableBGColor){var rtBG={Left:xLeft,Top:yTop,Right:xRight,Bottom:yBottom};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(xLeft),yTop);this.Canvas.lineTo(ToFixedPoint(xLeft),yBottom);this.Canvas.moveTo(ToFixedPoint(xRight),yTop);this.Canvas.lineTo(ToFixedPoint(xRight),yBottom);this.Canvas.moveTo(ToFixedPoint(xLeft),ToFixedPoint(yCenter));this.Canvas.lineTo(ToFixedPoint(xRight),ToFixedPoint(yCenter));this.Canvas.stroke();this.LinePoint.push({Start:{X:xLeft,Y:yTop},End:{X:xLeft,Y:yBottom}});this.LinePoint.push({Start:{X:xRight,Y:yTop},End:{X:xRight,Y:yBottom}});this.LinePoint.push({Start:{X:xLeft,Y:yCenter},End:{X:xRight,Y:yCenter}});this.DrawArrow({X:ptStart.X,Y:ToFixedPoint(yCenter)},{X:ptEnd.X,Y:ToFixedPoint(yCenter)});//文字输出
|
|
6232
|
+
var startIndex=this.Frame.GetXData(ptStart.X,false);var endIndex=this.Frame.GetXData(ptEnd.X,false);var barCount=endIndex-startIndex+1;var text=barCount+' bars';this.Canvas.font=this.Font;var textHeight=this.GetFontHeight();var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);var rtTextBG={Left:xCenter-textWidth/2,Top:ptEnd.Y+4,Width:textWidth,Height:textHeight+2};rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;if(this.Label.EnableBGColor){var path=new Path2D();path.roundRect(ToFixedPoint(rtTextBG.Left),ToFixedPoint(rtTextBG.Top),ToFixedRect(rtTextBG.Width),ToFixedRect(rtTextBG.Height),[3]);this.Canvas.fillStyle=this.Label.BGColor;this.Canvas.fill(path);}this.Canvas.fillStyle=this.Label.TextColor;this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);};}function ChartDrawStorage(){this.DrawData=new _map2.default();//画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{Guid, Symbol, Period, ClassName, Value}
|
|
6221
6233
|
this.StorageKey;this.GetEventCallback;//事件回调
|
|
6222
6234
|
this.Load=function(key)//从本地读取画图工具
|
|
6223
6235
|
{if(!key)return;this.StorageKey=key;var cacheValue=localStorage[this.StorageKey];JSConsole.Chart.Log('[ChartDrawStorage::Load] Load to localStorage, key='+this.StorageKey+', cache='+cacheValue);if(!cacheValue)return;if(typeof cacheValue!="string")return;var saveData=JSON.parse(cacheValue);for(var i in saveData){var item=saveData[i];var drawMap=new _map2.default();for(var j in item.Value){var drawItem=item.Value[j];drawMap.set(drawItem.Key,drawItem.Value);}this.DrawData.set(item.Key,drawMap);}};this.Save=function()//把数据保存到本地
|
|
@@ -6803,7 +6815,7 @@ this.BindInstructionIndexData=function(hisData){if(this.ColorIndex&&typeof this.
|
|
|
6803
6815
|
this.GetChartPaint=function(windowIndex){var paint=new Array();for(var i in this.ChartPaint){if(i==0)continue;//第1个K线数据除外
|
|
6804
6816
|
var item=this.ChartPaint[i];if(item.ChartFrame==this.Frame.SubFrame[windowIndex].Frame)paint.push(item);}return paint;};this.AutoUpdateEvent=function(bStart,explain)//自定更新事件, 是给websocket使用
|
|
6805
6817
|
{var eventID=bStart?JSCHART_EVENT_ID.RECV_START_AUTOUPDATE:JSCHART_EVENT_ID.RECV_STOP_AUTOUPDATE;if(!this.mapEvent.has(eventID))return;var self=this;var event=this.mapEvent.get(eventID);var data={Stock:{Symbol:this.Symbol,Name:this.Name,Right:this.Right,Period:this.Period},Explain:explain};if(bStart){data.Callback=function(data)//数据到达更新回调
|
|
6806
|
-
{if(ChartData.IsDayPeriod(self.Period,true))self.RecvRealtimeData(data);else if(ChartData.IsMinutePeriod(self.Period,true))self.RecvMinuteRealtimeData(data);else if(ChartData.IsSecondPeriod(self.Period))self.RecvMinuteRealtimeData(data);};}event.Callback(event,data,this);};this.SendKLineUpdateEvent=function(bindData){var event=this.GetEventCallback(JSCHART_EVENT_ID.RECV_KLINE_UPDATE_DATA);if(event&&event.Callback){var data={HistoryData:bindData,Stock:{Symbol:this.Symbol,Name:this.Name}};event.Callback(event,data,this);return true;}return false;};this.SendManualKLineUpdateEvent=function(bindData){var event=this.GetEventCallback(JSCHART_EVENT_ID.RECV_KLINE_MANUAL_UPDATE_DATA);if(event&&event.Callback){var data={HistoryData:bindData,Stock:{Symbol:this.Symbol,Name:this.Name}};event.Callback(event,data,this);return true;}return false;};this.GetKLineDrawType=function(){return this.KLineDrawType;};this.RequestHistoryData=function(){var self=this;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.FlowCapitalReady=false;this.ResetPage();//重置分页
|
|
6818
|
+
{if(ChartData.IsDayPeriod(self.Period,true))self.RecvRealtimeData(data);else if(ChartData.IsMinutePeriod(self.Period,true))self.RecvMinuteRealtimeData(data);else if(ChartData.IsSecondPeriod(self.Period))self.RecvMinuteRealtimeData(data);else if(ChartData.IsMilliSecondPeriod(self.Period))self.RecvMinuteRealtimeData(data);};}event.Callback(event,data,this);};this.SendKLineUpdateEvent=function(bindData){var event=this.GetEventCallback(JSCHART_EVENT_ID.RECV_KLINE_UPDATE_DATA);if(event&&event.Callback){var data={HistoryData:bindData,Stock:{Symbol:this.Symbol,Name:this.Name}};event.Callback(event,data,this);return true;}return false;};this.SendManualKLineUpdateEvent=function(bindData){var event=this.GetEventCallback(JSCHART_EVENT_ID.RECV_KLINE_MANUAL_UPDATE_DATA);if(event&&event.Callback){var data={HistoryData:bindData,Stock:{Symbol:this.Symbol,Name:this.Name}};event.Callback(event,data,this);return true;}return false;};this.GetKLineDrawType=function(){return this.KLineDrawType;};this.RequestHistoryData=function(){var self=this;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.FlowCapitalReady=false;this.ResetPage();//重置分页
|
|
6807
6819
|
this.ResetDragDownload();this.ResetZoomDownload();this.Draw();if(this.NetworkFilter){var kLineDrawType=this.GetKLineDrawType();var obj={Name:'KLineChartContainer::RequestHistoryData',//类名::
|
|
6808
6820
|
Explain:'日K数据',Request:{Url:self.KLineApiUrl,Type:'POST',Data:{symbol:self.Symbol,count:self.MaxRequestDataCount,field:["name","symbol","yclose","open","price","high","low","vol"],period:this.Period,right:this.Right,klineDrawType:kLineDrawType}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryData(data);var page=self.Page.Day;if(page.Enable==true&&page.Finish==false){self.RequestHistoryPageData();}else{self.AutoUpdateEvent(true,'KLineChartContainer::RequestHistoryData');self.AutoUpdate();}});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
6809
6821
|
}JSNetwork.HttpRequest({url:this.KLineApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"start":-1,"count":self.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryData(data);var page=self.Page.Day;if(page.Enable==true&&page.Finish==false){self.RequestHistoryPageData();}else{self.AutoUpdateEvent(true,'KLineChartContainer::RequestHistoryData');self.AutoUpdate();}}});};this.BindAllOverlayIndexData=function(hisData,option){if(!this.Frame||!this.Frame.SubFrame)return;//叠加指标
|
|
@@ -7012,7 +7024,7 @@ for(var i=1;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];item.Overl
|
|
|
7012
7024
|
this.ChangePeriod=function(period,option){var oldData={Period:this.Period,Right:this.Right,KLineDrawType:this.KLineDrawType};var isChangeKLineDrawType=false;var isReload=false;//是否重新请求数据
|
|
7013
7025
|
var right=null;//复权
|
|
7014
7026
|
if(option){if(option.KLine){if(IFrameSplitOperator.IsNumber(option.KLine.DrawType))isChangeKLineDrawType=true;if(IFrameSplitOperator.IsNumber(option.KLine.Right))right=option.KLine.Right;}if(option.Reload==true)isReload=true;};if(this.Period==period&&isReload==false){if(isChangeKLineDrawType)this.ChangeKLineDrawType(option.KLine.DrawType);return;}if(isChangeKLineDrawType)this.ChangeKLineDrawType(option.KLine.DrawType,false);//切换K线类型, 不重绘
|
|
7015
|
-
var isDataTypeChange=true;if(this.SourceData){var isDataTypeChange=false;if(period>CUSTOM_DAY_PERIOD_START&&period<=CUSTOM_DAY_PERIOD_END){if(this.SourceData.DataType!=0)isDataTypeChange=true;}else if(period>CUSTOM_MINUTE_PERIOD_START&&period<=CUSTOM_MINUTE_PERIOD_END||period>CUSTOM_SECOND_PERIOD_START&&period<=CUSTOM_SECOND_PERIOD_END){if(this.SourceData.DataType!=1)isDataTypeChange=true;else if(ChartData.IsSecondPeriod(period))isDataTypeChange=true;}else{switch(period){case 0://日线
|
|
7027
|
+
var isDataTypeChange=true;if(this.SourceData){var isDataTypeChange=false;if(period>CUSTOM_DAY_PERIOD_START&&period<=CUSTOM_DAY_PERIOD_END){if(this.SourceData.DataType!=0)isDataTypeChange=true;}else if(period>CUSTOM_MINUTE_PERIOD_START&&period<=CUSTOM_MINUTE_PERIOD_END||period>CUSTOM_SECOND_PERIOD_START&&period<=CUSTOM_SECOND_PERIOD_END||period>CUSTOM_MILLISECOND_PERIOD_START&&period<=CUSTOM_MILLISECOND_PERIOD_END){if(this.SourceData.DataType!=1)isDataTypeChange=true;else if(ChartData.IsSecondPeriod(period))isDataTypeChange=true;else if(ChartData.IsMilliSecondPeriod(period))isDataTypeChange=true;}else{switch(period){case 0://日线
|
|
7016
7028
|
case 1://周
|
|
7017
7029
|
case 2://月
|
|
7018
7030
|
case 3://年
|
|
@@ -7033,7 +7045,7 @@ return;}this.ClearIndexPaint();if(ChartData.IsDayPeriod(this.Period,true)){this.
|
|
|
7033
7045
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod');//切换周期先停止更新
|
|
7034
7046
|
this.ResetScrollBar();this.ResetOverlaySymbolStatus();this.ClearIndexRunCount();this.RequestHistoryData();//请求日线数据
|
|
7035
7047
|
//this.ReqeustKLineInfoData();
|
|
7036
|
-
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)){this.CancelAutoUpdate();//先停止定时器
|
|
7048
|
+
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.CancelAutoUpdate();//先停止定时器
|
|
7037
7049
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod');//切换周期先停止更新
|
|
7038
7050
|
this.ResetScrollBar();this.ResetOverlaySymbolStatus();this.ClearIndexRunCount();this.ReqeustHistoryMinuteData();//请求分钟数据
|
|
7039
7051
|
}else if(ChartData.IsTickPeriod(this.Period)){this.CancelAutoUpdate();//先停止定时器
|
|
@@ -7043,7 +7055,7 @@ this.ChangeRight=function(right){if(!MARKET_SUFFIX_NAME.IsEnableRight(this.Perio
|
|
|
7043
7055
|
{if(ChartData.IsDayPeriod(this.Period,true)){this.CancelAutoUpdate();//先停止定时器
|
|
7044
7056
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight');//切换复权先停止更新
|
|
7045
7057
|
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.RequestHistoryData();//请求日线数据
|
|
7046
|
-
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)){this.CancelAutoUpdate();//先停止定时器
|
|
7058
|
+
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.CancelAutoUpdate();//先停止定时器
|
|
7047
7059
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight');//切换复权先停止更新
|
|
7048
7060
|
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.ReqeustHistoryMinuteData();//请求分钟数据
|
|
7049
7061
|
}}};//设置第1屏的起始日期
|
|
@@ -7123,7 +7135,7 @@ overlayFrame.Script=scriptIndex;}else{var scriptIndex=indexCustom.Create();scrip
|
|
|
7123
7135
|
scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}subFrame.OverlayIndex.push(overlayFrame);return overlayFrame;};this.DeleteOverlayWindowsIndex=function(identify)//删除叠加指标
|
|
7124
7136
|
{if(!this.DeleteOverlayIndex(identify,null))return;this.Frame.ResetXYSplit(true);this.Draw();};this.ChangeKLineDrawType=function(drawType,isDraw,option){if(this.KLineDrawType==drawType&&!option)return;var oldKLineType=this.KLineDrawType;this.KLineDrawType=drawType;var setKLineType=new _set2.default([5,7,8,10,11,12,17]);if(setKLineType.has(oldKLineType)||setKLineType.has(drawType)){var chart=this.ChartPaint[0];if(chart)chart.DrawType=this.KLineDrawType;this.CancelAutoUpdate();//先停止定时器
|
|
7125
7137
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeKLineDrawType');if(ChartData.IsDayPeriod(this.Period,true)){this.ResetOverlaySymbolStatus();this.RequestHistoryData();//请求日线数据
|
|
7126
|
-
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)){this.ResetOverlaySymbolStatus();this.ReqeustHistoryMinuteData();//请求分钟数据
|
|
7138
|
+
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.ResetOverlaySymbolStatus();this.ReqeustHistoryMinuteData();//请求分钟数据
|
|
7127
7139
|
}return;}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(i==0){item.DrawType=this.KLineDrawType;if(option){if(IFrameSplitOperator.IsBool(option.IsThinAKBar))item.IsThinAKBar=option.IsThinAKBar;}}else if(item.ClassName=='ChartVolStick'){item.KLineDrawType=this.KLineDrawType;}}for(var i in this.OverlayChartPaint)//叠加K线样式修改
|
|
7128
7140
|
{var item=this.OverlayChartPaint[i];item.DrawType=this.KLineDrawType;}if(isDraw==false)return;this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7129
7141
|
this.Frame.SetSizeChage(true);this.Draw();};//修改坐标类型
|
|
@@ -7204,7 +7216,7 @@ var item=windows[i];if(!item)continue;if(item.Script){this.WindowIndex[i]=new Sc
|
|
|
7204
7216
|
}else if(item.API){var apiItem=item.API;this.WindowIndex[i]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexID=item.Index;var indexInfo=systemScript.Get(indexID);if(indexInfo){var args=indexInfo.Args;if(item.Args)indexInfo.Args=item.Args;indexInfo.ID=indexID;this.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
7205
7217
|
}}}}}this.ReloadChartDrawPicture();this.Frame.ClearUpDonwFrameYData();if(ChartData.IsDayPeriod(this.Period,true)){this.RequestHistoryData();//请求日线数据
|
|
7206
7218
|
//this.ReqeustKLineInfoData();
|
|
7207
|
-
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)){this.ReqeustHistoryMinuteData();//请求分钟数据
|
|
7219
|
+
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.ReqeustHistoryMinuteData();//请求分钟数据
|
|
7208
7220
|
}else if(ChartData.IsTickPeriod(this.Period)){this.RequestTickData();}};this.ReqeustKLineInfoData=function(obj){if(obj&&obj.FunctionName=="RecvDragDayData")//增量更新
|
|
7209
7221
|
{obj.Update=true;}else{if(this.ChartPaint.length>0){var klinePaint=this.ChartPaint[0];klinePaint.InfoData=new _map2.default();}obj.Update=false;}//信息地雷信息
|
|
7210
7222
|
if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return;for(var i=0;i<this.ChartInfo.length;++i){this.ChartInfo[i].RequestData(this,obj);}};//设置K线信息地雷
|
|
@@ -7537,6 +7549,7 @@ this.SelectRectDialog=null;//区间选择对话框
|
|
|
7537
7549
|
this.CorssCursorIndex={DayIndex:-1,DataIndex:-1,Point:{X:-1,Y:-1},Type:-1};this.EnableNewIndex=false;//是否使用新的索引版本
|
|
7538
7550
|
this.DayOffset={Offset:0,ShowDayCount:-1,DataOffset:0,DayCount:1};//Offset 日期偏移 , DataOffset数据偏移
|
|
7539
7551
|
this.PageInfo={Enable:false,Offset:-8888,ShowDayCount:4};//分页配置
|
|
7552
|
+
this.DataStatus={MultiDay:false,LatestDay:false};//MultiDay=多日 LatestDay:当天
|
|
7540
7553
|
this.ZoomStepPixel=50;//集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
|
|
7541
7554
|
this.SetCallCationDataBorder=function(obj){if(!obj)return;var extendWidth={Left:obj.Left?this.ExtendWidth.Left:0,Right:obj.Right?this.ExtendWidth.Right:0};this.Frame.SetExtendWidth(extendWidth);if(obj.MultiDay){var item=obj.MultiDay;var DayMinuteWidth={Left:item.Left?this.MultiDayExtendWidth.Left:0,Right:item.Right?this.MultiDayExtendWidth.Right:0};this.Frame.SetMultiDayMinuteWidth(DayMinuteWidth);}};this.ReloadChartPaint=function(resource){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item)continue;if(item.ReloadResource)item.ReloadResource(resource);if(i==0){if(item.Name=="Minute-Line"){item.Color=g_JSChartResource.Minute.PriceColor;item.AreaColor=g_JSChartResource.Minute.AreaPriceColor;}}else if(i==1){if(item.Name=="Minute-Average-Line"){item.Color=g_JSChartResource.Minute.AvPriceColor;}}else if(i==2){if(item.Name=="Minute-Vol-Bar"){item.Color=g_JSChartResource.Minute.VolBarColor;}}}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.ClickFrameButton=function(button,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_FRAME_TOOLBAR);if(event&&event.Callback){var data={Info:button,PreventDefault:false};//PreventDefault 是否阻止内置的点击处理
|
|
7542
7555
|
event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID){this.ShowCallAuctionData({Left:false,Right:false,MultiDay:{Left:false,Right:false}});}if(button.ID==JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX){var id=button.IndexID;if(id)this.DeleteOverlayWindowsIndex(id);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM){var id=button.IndexID;var frame=button.Frame;e.data={Chart:this,Identify:id,IsOverlay:true};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW){var frame=button.Frame;this.RemoveIndexWindow(frame.Identify);}else if(button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:false};if(frame.ChangeIndexEvent)frame.ChangeIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:false};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:true};if(frame.ChangeIndexEvent)frame.ChangeIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW){var id=button.IndexID;var frame=button.Frame;var frameId=button.FrameID;if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,null)){this.Frame.SetSizeChage(true);this.Draw();}}}else if(button.ID==JSCHART_BUTTON_ID.TITLE_WINDOW)//标题模式
|
|
@@ -7694,14 +7707,14 @@ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Fr
|
|
|
7694
7707
|
{self.RecvMinuteData(data);};}event.Callback(event,data,this);};this.ClearIndexPaint=function(){//清空指标
|
|
7695
7708
|
if(this.Frame&&this.Frame.SubFrame){for(var i=0;i<this.Frame.SubFrame.length;++i){if(i>=2)this.DeleteIndexPaint(i,true);var item=this.Frame.SubFrame[i];if(IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex)){for(var j=0;j<item.OverlayIndex.length;++j)//清空叠加指标
|
|
7696
7709
|
{var overlayItem=item.OverlayIndex[j];for(var k=0;k<overlayItem.ChartPaint.length;++k){var overlayChart=overlayItem.ChartPaint[k];if(overlayChart&&overlayChart.OnDestroy)overlayChart.OnDestroy();}overlayItem.ChartPaint=[];}}}}//清空叠加标题
|
|
7697
|
-
for(var i=1;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];item.OverlayIndex=new _map2.default();}};this.ResetDayOffset=function(){if(this.PageInfo.Enable){this.DayOffset.Offset=this.PageInfo.Offset;this.DayOffset.ShowDayCount=this.PageInfo.ShowDayCount;}else{this.DayOffset.Offset=0;this.DayOffset.ShowDayCount=-1;}this.DayOffset.PageInfo=null;};//切换股票代码
|
|
7698
|
-
this.ChangeSymbol=function(symbol,option){this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeSymbol");this.Symbol=symbol;this.ResetDayOffset();this.ClearIndexPaint();//清空指标
|
|
7710
|
+
for(var i=1;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];item.OverlayIndex=new _map2.default();}};this.ResetDayOffset=function(){if(this.PageInfo.Enable){this.DayOffset.Offset=this.PageInfo.Offset;this.DayOffset.ShowDayCount=this.PageInfo.ShowDayCount;}else{this.DayOffset.Offset=0;this.DayOffset.ShowDayCount=-1;}this.DayOffset.PageInfo=null;};this.ResetDataStatus=function(){this.DataStatus.MultiDay=false;this.DataStatus.LatestDay=false;};//切换股票代码
|
|
7711
|
+
this.ChangeSymbol=function(symbol,option){this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeSymbol");this.Symbol=symbol;this.ResetDayOffset();this.ResetDataStatus();this.ClearIndexPaint();//清空指标
|
|
7699
7712
|
this.ResetOverlaySymbolStatus();this.ReloadChartDrawPicture();this.ClearIndexRunCount();if(option){if(IFrameSplitOperator.IsNumber(option.DayCount))this.DayCount=option.DayCount;if(IFrameSplitOperator.IsNonEmptyArray(option.Windows))//切换指标
|
|
7700
7713
|
{var systemScript=new JSIndexScript();for(var i=0;i<option.Windows.length;++i){var index=2+i;if(index>=this.WindowIndex.length)break;//暂时不支持 动态增加/减少
|
|
7701
7714
|
var item=option.Windows[i];if(!item)continue;if(item.Script){this.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
7702
7715
|
}else if(item.API){var apiItem=item.API;this.WindowIndex[index]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexID=item.Index;var indexInfo=systemScript.Get(indexID);if(indexInfo){var args=indexInfo.Args;if(item.Args)indexInfo.Args=item.Args;indexInfo.ID=indexID;this.WindowIndex[index]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
7703
7716
|
}}}}}if(!symbol||this.DayCount<=0){this.DrawEmpty();}else{this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);//增加下载动画
|
|
7704
|
-
this.Draw();this.RequestData();}};this.SetPageInfo=function(pageInfo){if(!pageInfo)return;if(IFrameSplitOperator.IsBool(pageInfo.Enable))this.PageInfo.Enable=pageInfo.Enable;if(IFrameSplitOperator.IsNumber(pageInfo.Offset))this.PageInfo.Offset=pageInfo.Offset;if(IFrameSplitOperator.IsNumber(pageInfo.ShowDayCount))this.PageInfo.ShowDayCount=pageInfo.ShowDayCount;};this.ClearMinuteData=function(){this.SourceData=null;this.DayData=null;this.BeforeOpenData=null;this.AfterCloseData=null;this.MultiDayBeforeOpenData=null;this.MultiDayAfterCloseData=null;};this.ChangeDayCount=function(count,option){if(count<0)return;this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeDayCount");this.DayCount=count;this.ClearMinuteData();if(option&&option.PageInfo){this.SetPageInfo(option.PageInfo);this.ResetDayOffset();}if(this.DayCount>1){this.ChartDrawPicture=[];}else{this.ReloadChartDrawPicture();}this.ClearIndexPaint();//清空指标
|
|
7717
|
+
this.Draw();this.RequestData();}};this.SetPageInfo=function(pageInfo){if(!pageInfo)return;if(IFrameSplitOperator.IsBool(pageInfo.Enable))this.PageInfo.Enable=pageInfo.Enable;if(IFrameSplitOperator.IsNumber(pageInfo.Offset))this.PageInfo.Offset=pageInfo.Offset;if(IFrameSplitOperator.IsNumber(pageInfo.ShowDayCount))this.PageInfo.ShowDayCount=pageInfo.ShowDayCount;};this.ClearMinuteData=function(){this.SourceData=null;this.DayData=null;this.BeforeOpenData=null;this.AfterCloseData=null;this.MultiDayBeforeOpenData=null;this.MultiDayAfterCloseData=null;};this.ChangeDayCount=function(count,option){if(count<0)return;this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeDayCount");this.DayCount=count;this.ClearMinuteData();if(option&&option.PageInfo){this.SetPageInfo(option.PageInfo);this.ResetDayOffset();}if(this.DayCount>1){this.ChartDrawPicture=[];}else{this.ReloadChartDrawPicture();}this.ResetDataStatus();this.ClearIndexPaint();//清空指标
|
|
7705
7718
|
this.ResetOverlaySymbolStatus();this.RequestData();};//叠加股票
|
|
7706
7719
|
this.OverlaySymbol=function(symbol,option){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item.Symbol==symbol){console.warn('[MinuteChartContainer::OverlaySymbol] overlay symbol='+symbol+' exist.');return false;}}var paint=new ChartOverlayMinutePriceLine();paint.Canvas=this.Canvas;paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;paint.ChartFrame=this.Frame.SubFrame[0].Frame;paint.Name="Overlay-Minute";paint.Symbol=symbol;paint.Identify='Overlay-Minute-'+symbol;if(option&&option.Color)paint.Color=option.Color;//外部设置颜色
|
|
7707
7720
|
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];++g_JSChartResource.OverlaySymbol.Random;paint.MainData=this.SourceData;//绑定主图数据
|
|
@@ -7715,7 +7728,7 @@ if(IFrameSplitOperator.IsBool(obj.Left)&&this.IsShowBeforeData!=obj.Left){this.I
|
|
|
7715
7728
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var subFrame=this.Frame.SubFrame[i];for(var j=0;j<subFrame.OverlayIndex.length;++j){var overlayItem=subFrame.OverlayIndex[j];for(var k=0;k<overlayItem.ChartPaint.length;++k){var item=overlayItem.ChartPaint[k];if(!item.Data)continue;item.Data.DataOffset=this.DayOffset.DataOffset;}}}};//请求历史分钟数据
|
|
7716
7729
|
this.RequestHistoryMinuteData=function(){var self=this;this.IsBeforeData=false;this.IsAfterData=false;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.Draw();if(this.NetworkFilter){var obj={Name:'MinuteChartContainer::RequestHistoryMinuteData',//类名::函数
|
|
7717
7730
|
Explain:'多日分时数据',Request:{Url:self.HistoryMinuteApiUrl,Data:{daycount:self.DayCount,symbol:self.Symbol},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
7718
|
-
}JSNetwork.HttpRequest({url:self.HistoryMinuteApiUrl,data:{"symbol":self.Symbol,"daycount":self.DayCount},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);}});};this.RecvHistoryMinuteData=function(data){if(this.EnableVerifyRecvData&&data.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvHistoryMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.symbol+']');return;}this.DayData=MinuteChartContainer.JsonDataToMinuteDataArray(data);this.ColorLineData=MinuteChartContainer.JsonDataToHistoryMinuteLineColorData(data);this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);this.CaclutateCallCationYRange();this.Symbol=data.symbol;this.Name=data.name;this.SetCallCationDataBorder({Left:false,Right:false,MultiDay:{Left:this.IsShowMultiDayBeforeData,Right:this.IsShowMultiDayAfterData}});this.CaclutateLimitPrice(this.DayData[0].YClose,data.data[0].limitprice);//计算涨停价格
|
|
7731
|
+
}JSNetwork.HttpRequest({url:self.HistoryMinuteApiUrl,data:{"symbol":self.Symbol,"daycount":self.DayCount},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);}});};this.RecvHistoryMinuteData=function(data){if(this.EnableVerifyRecvData&&data.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvHistoryMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.symbol+']');return;}this.DayData=MinuteChartContainer.JsonDataToMinuteDataArray(data);this.ColorLineData=MinuteChartContainer.JsonDataToHistoryMinuteLineColorData(data);this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);this.DataStatus.MultiDay=true;this.CaclutateCallCationYRange();this.Symbol=data.symbol;this.Name=data.name;this.SetCallCationDataBorder({Left:false,Right:false,MultiDay:{Left:this.IsShowMultiDayBeforeData,Right:this.IsShowMultiDayAfterData}});this.CaclutateLimitPrice(this.DayData[0].YClose,data.data[0].limitprice);//计算涨停价格
|
|
7719
7732
|
this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvHistoryMinuteData"});this.RequestOverlayHistoryMinuteData();this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RequestHistoryMinuteData");this.AutoUpdate();};this.CaclutateCallCationYRange=function(){//多日集合竞价Y轴统一成交量
|
|
7720
7733
|
var afterRange=null,beforeRange=null;if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var item=this.MultiDayAfterCloseData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}afterRange=range;}if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayBeforeOpenData.length;++i){var item=this.MultiDayBeforeOpenData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}beforeRange=range;}if(this.ShareAfterVol==2)// 公用坐标
|
|
7721
7734
|
{if(afterRange&&beforeRange){var max=Math.max(afterRange.Max,beforeRange.Max);var min=Math.min(afterRange.Min,beforeRange.Min);afterRange.Max=beforeRange.Max=max;afterRange.Min=beforeRange.Min=min;}}if(afterRange){for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var item=this.MultiDayAfterCloseData[i];item.VolMax=afterRange.Max;item.VolMin=afterRange.Min;}}if(beforeRange){for(var i=0;i<this.MultiDayBeforeOpenData.length;++i){var item=this.MultiDayBeforeOpenData[i];item.VolMax=beforeRange.Max;item.VolMin=beforeRange.Min;}}};this.UpdateHistoryMinuteUI=function(updateTime){var allMinuteData=this.HistoryMinuteDataToArray(this.DayData);//原始数据
|
|
@@ -7758,7 +7771,7 @@ this.CreateChartDrawPictureByStorage();//创建画图工具
|
|
|
7758
7771
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7759
7772
|
this.Frame.SetSizeChage(true);this.Draw();this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RecvUpdateMinuteData");this.AutoUpdate();};this.RecvMinuteData=function(data){if(!data){JSConsole.Chart.Warn("[MinuteChartContainer::RecvMinuteData] recv data is null");return;}if(data.dataType==1)//增量更新数据模式
|
|
7760
7773
|
{this.RecvUpdateMinuteData(data);return;}if(!data.stock[0])return;if(data.stock[0].symbol!=this.Symbol&&this.EnableVerifyRecvData){JSConsole.Chart.Warn('[MinuteChartContainer::RecvMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.stock[0].symbol+']');return;}var aryMinuteData=MinuteChartContainer.JsonDataToMinuteData(data);var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);this.BeforeOpenData=null;this.AfterCloseData=null;var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data);//数据最后的更新时间
|
|
7761
|
-
if(this.IsBeforeData)this.BeforeOpenData=beforeOpenData;if(this.IsAfterData)this.AfterCloseData=afterCloseData;if(this.DayCount>1)//多日走势图
|
|
7774
|
+
if(this.IsBeforeData)this.BeforeOpenData=beforeOpenData;if(this.IsAfterData)this.AfterCloseData=afterCloseData;this.DataStatus.LatestDay=true;if(this.DayCount>1)//多日走势图
|
|
7762
7775
|
{this.UpdateCallCationData(beforeOpenData,afterCloseData);this.UpdateLineColorData(aryColorData,data.stock[0].date);this.UpdateLatestMinuteData(aryMinuteData,data.stock[0].date,data.stock[0]);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
|
|
7763
7776
|
this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();return;}//原始数据
|
|
7764
7777
|
var sourceData=new ChartData();sourceData.Data=aryMinuteData;sourceData.UpdateTime=updateTime;this.ColorLineData=aryColorData;this.TradeDate=data.stock[0].date;this.Frame.SetDayCount(1);//单日数据
|
|
@@ -11489,7 +11502,8 @@ outItem.IsShowTitle=false;break;}if(attr.indexOf('COLOR')==0){outItem.Color=attr
|
|
|
11489
11502
|
{var lockData={IsLocked:true,Callback:this.LockCallback,IndexName:this.Name,ID:this.LockID,BG:this.LockBG,Text:this.LockText,TextColor:this.LockTextColor,Font:this.LockFont,Count:this.LockCount,MinWidth:this.LockMinWidth};hqChart.Frame.SubFrame[windowIndex].Frame.SetLock(lockData);}hqChart.UpdataDataoffset();//更新数据偏移
|
|
11490
11503
|
hqChart.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
11491
11504
|
if(data.Redraw===false)//是否重绘
|
|
11492
|
-
{}else{
|
|
11505
|
+
{}else{if(this.IsSync===false)//同步的指标不用刷新
|
|
11506
|
+
hqChart.Draw();}if(hqChart.GetIndexEvent){var event=hqChart.GetIndexEvent();//指标计算完成回调
|
|
11493
11507
|
if(event){var data={OutVar:this.OutVar,WindowIndex:windowIndex,Name:this.Name,Arguments:this.Arguments,HistoryData:hisData,Stock:{Symbol:hqChart.Symbol,Name:hqChart.Name}};event.Callback(event,data,this);}}};this.FittingArray=function(sourceData,date,time,hqChart,arrayType)//arrayType 0=单值数组 1=结构体
|
|
11494
11508
|
{var kdata=hqChart.ChartPaint[0].Data;//K线
|
|
11495
11509
|
var arySingleData=[];for(var i in sourceData){var value=sourceData[i];var indexItem=new SingleData();//单列指标数据
|
|
@@ -12641,7 +12655,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
|
|
|
12641
12655
|
hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.ExecuteScript(item,data);}}};this.OnExecuteFinish=function(data,indexInfo,jsExectute){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT};postMessage(message);};this.OnExecuteError=function(error,indexInfo){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
12642
12656
|
* 版本信息输出
|
|
12643
12657
|
*
|
|
12644
|
-
*/var HQCHART_VERSION="1.1.
|
|
12658
|
+
*/var HQCHART_VERSION="1.1.12541";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12645
12659
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12646
12660
|
// BaseIndex:BaseIndex,
|
|
12647
12661
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -22865,7 +22865,8 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
22865
22865
|
}
|
|
22866
22866
|
else
|
|
22867
22867
|
{
|
|
22868
|
-
|
|
22868
|
+
if (this.IsSync===false) //同步的指标不用刷新
|
|
22869
|
+
hqChart.Draw();
|
|
22869
22870
|
}
|
|
22870
22871
|
|
|
22871
22872
|
if (hqChart.GetIndexEvent)
|