hqchart 1.1.12614 → 1.1.12627
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 +26 -16
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +169 -6
- package/src/jscommon/umychart.js +144 -21
- package/src/jscommon/umychart.resource/js/codemirror/javascript.js +24 -3
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +314 -28
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +314 -28
|
@@ -34644,6 +34644,108 @@ function ChartSingleText()
|
|
|
34644
34644
|
}
|
|
34645
34645
|
|
|
34646
34646
|
|
|
34647
|
+
function ChartTradeIcon()
|
|
34648
|
+
{
|
|
34649
|
+
this.newMethod=IChartPainting; //派生
|
|
34650
|
+
this.newMethod();
|
|
34651
|
+
delete this.newMethod;
|
|
34652
|
+
|
|
34653
|
+
this.ClassName='ChartTradeIcon'; //类名
|
|
34654
|
+
this.TextAlign='center';
|
|
34655
|
+
this.TextBaseline='middle';
|
|
34656
|
+
this.SVG={ Family:"iconfont", Size:12 };
|
|
34657
|
+
this.AryIcon;
|
|
34658
|
+
|
|
34659
|
+
this.Draw=function()
|
|
34660
|
+
{
|
|
34661
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
34662
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
34663
|
+
if (this.IsHideScriptIndex()) return;
|
|
34664
|
+
|
|
34665
|
+
if(!this.Data || !this.Data.Data) return;
|
|
34666
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryIcon)) return;
|
|
34667
|
+
|
|
34668
|
+
this.Canvas.font=`${this.SVG.Size}px ${this.SVG.Family}`;
|
|
34669
|
+
this.Canvas.textAlign=this.TextAlign;
|
|
34670
|
+
this.Canvas.textBaseline='middle';
|
|
34671
|
+
var yOffset=0;
|
|
34672
|
+
if (this.TradeType=="BUY" || this.TradeType=="BUYSHORT")
|
|
34673
|
+
{
|
|
34674
|
+
this.Canvas.textBaseline="bottom";
|
|
34675
|
+
yOffset=-2;
|
|
34676
|
+
}
|
|
34677
|
+
else if (this.TradeType=="SELL" || this.TradeType=="SELLSHORT")
|
|
34678
|
+
{
|
|
34679
|
+
this.Canvas.textBaseline="top";
|
|
34680
|
+
yOffset+2;
|
|
34681
|
+
}
|
|
34682
|
+
|
|
34683
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
34684
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
34685
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
34686
|
+
var chartright=this.ChartBorder.GetRight();
|
|
34687
|
+
if (bHScreen) chartright=this.ChartBorder.GetBottom();
|
|
34688
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
34689
|
+
var border=this.ChartFrame.GetBorder();
|
|
34690
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
34691
|
+
|
|
34692
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
34693
|
+
{
|
|
34694
|
+
var value=this.Data.Data[i];
|
|
34695
|
+
if (!IFrameSplitOperator.IsNumber(value)) continue;
|
|
34696
|
+
if (value<=0) continue;
|
|
34697
|
+
|
|
34698
|
+
var iconItem=this.AryIcon[i];
|
|
34699
|
+
if (!IFrameSplitOperator.IsNumber(iconItem.Value) || !iconItem.Icon) continue;
|
|
34700
|
+
|
|
34701
|
+
var left=xOffset;
|
|
34702
|
+
var right=xOffset+dataWidth;
|
|
34703
|
+
if (right>chartright) break;
|
|
34704
|
+
|
|
34705
|
+
|
|
34706
|
+
var x=left+(right-left)/2;
|
|
34707
|
+
var y=this.GetYFromData(iconItem.Value, false);
|
|
34708
|
+
|
|
34709
|
+
this.Canvas.fillStyle=iconItem.Color;
|
|
34710
|
+
this.Canvas.fillText(iconItem.Icon,x,y+yOffset);
|
|
34711
|
+
}
|
|
34712
|
+
}
|
|
34713
|
+
|
|
34714
|
+
this.GetMaxMin=function()
|
|
34715
|
+
{
|
|
34716
|
+
var range={Max:null, Min:null };
|
|
34717
|
+
if(!this.Data || !this.Data.Data) return range;
|
|
34718
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryIcon)) return range;
|
|
34719
|
+
|
|
34720
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
34721
|
+
var start=this.Data.DataOffset;
|
|
34722
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
34723
|
+
{
|
|
34724
|
+
start=0;
|
|
34725
|
+
xPointCount=this.Data.Data.length;
|
|
34726
|
+
}
|
|
34727
|
+
|
|
34728
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
34729
|
+
{
|
|
34730
|
+
var value=this.Data.Data[i];
|
|
34731
|
+
if (!IFrameSplitOperator.IsNumber(value)) continue;
|
|
34732
|
+
if (value<=0) continue;
|
|
34733
|
+
|
|
34734
|
+
var iconItem=this.AryIcon[i];
|
|
34735
|
+
if (!IFrameSplitOperator.IsNumber(iconItem.Value) || !iconItem.Icon) continue;
|
|
34736
|
+
|
|
34737
|
+
if (range.Max==null) range.Max=iconItem.Value;
|
|
34738
|
+
else if (range.Max<iconItem.Value) range.Max=iconItem.Value;
|
|
34739
|
+
|
|
34740
|
+
if (range.Min==null) range.Min=iconItem.Value;
|
|
34741
|
+
else if (range.Min>iconItem.Value) range.Min=iconItem.Value;
|
|
34742
|
+
}
|
|
34743
|
+
|
|
34744
|
+
return range;
|
|
34745
|
+
}
|
|
34746
|
+
}
|
|
34747
|
+
|
|
34748
|
+
|
|
34647
34749
|
function ChartDrawText()
|
|
34648
34750
|
{
|
|
34649
34751
|
this.newMethod=IChartPainting; //派生
|
|
@@ -55311,7 +55413,7 @@ function IChartDrawPicture()
|
|
|
55311
55413
|
//xStep,yStep 移动的偏移量
|
|
55312
55414
|
this.Move=function(xStep,yStep)
|
|
55313
55415
|
{
|
|
55314
|
-
if (this.Status!=20) return
|
|
55416
|
+
if (this.Status!=20) return false;
|
|
55315
55417
|
if (!this.Frame) return false;
|
|
55316
55418
|
var data=this.Frame.Data;
|
|
55317
55419
|
if (!data) return false;
|
|
@@ -58736,7 +58838,7 @@ function ChartDrawPictureParallelChannel()
|
|
|
58736
58838
|
//xStep,yStep 移动的偏移量
|
|
58737
58839
|
this.Move=function(xStep,yStep)
|
|
58738
58840
|
{
|
|
58739
|
-
if (this.Status!=20) return
|
|
58841
|
+
if (this.Status!=20) return false;
|
|
58740
58842
|
if (!this.Frame) return false;
|
|
58741
58843
|
var data=this.Frame.Data;
|
|
58742
58844
|
if (!data) return false;
|
|
@@ -78175,34 +78277,55 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78175
78277
|
this.RequestData();
|
|
78176
78278
|
}
|
|
78177
78279
|
|
|
78178
|
-
//叠加股票
|
|
78280
|
+
//叠加股票 symbol支持数据 ["600000.sh", "0000001.sz"]
|
|
78179
78281
|
this.OverlaySymbol=function(symbol,option)
|
|
78180
78282
|
{
|
|
78181
|
-
|
|
78283
|
+
var arySymbol=null;
|
|
78284
|
+
if (IFrameSplitOperator.IsString(symbol)) arySymbol=[symbol];
|
|
78285
|
+
else if (Array.isArray(symbol)) arySymbol=symbol;
|
|
78286
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(arySymbol)) return false;
|
|
78287
|
+
|
|
78288
|
+
var aryNewSymbol=[];
|
|
78289
|
+
for(var i=0, j=0;i<arySymbol.length;++i)
|
|
78182
78290
|
{
|
|
78183
|
-
var
|
|
78184
|
-
|
|
78291
|
+
var strSymbol=arySymbol[i];
|
|
78292
|
+
var bFind=false;
|
|
78293
|
+
for(j=0;j<this.OverlayChartPaint.length; ++j)
|
|
78185
78294
|
{
|
|
78186
|
-
|
|
78187
|
-
|
|
78295
|
+
var item=this.OverlayChartPaint[j];
|
|
78296
|
+
if (item.Symbol==strSymbol)
|
|
78297
|
+
{
|
|
78298
|
+
bFind=true;
|
|
78299
|
+
console.warn(`[MinuteChartContainer::OverlaySymbol] overlay symbol=${strSymbol} exist.`);
|
|
78300
|
+
break;
|
|
78301
|
+
}
|
|
78188
78302
|
}
|
|
78303
|
+
|
|
78304
|
+
if (!bFind) aryNewSymbol.push(strSymbol);
|
|
78189
78305
|
}
|
|
78190
78306
|
|
|
78191
|
-
|
|
78192
|
-
paint.Canvas=this.Canvas;
|
|
78193
|
-
paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
78194
|
-
paint.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
78195
|
-
paint.Name="Overlay-Minute";
|
|
78196
|
-
paint.Symbol=symbol;
|
|
78197
|
-
paint.Identify=`Overlay-Minute-${symbol}`;
|
|
78198
|
-
if (option && option.Color) paint.Color=option.Color; //外部设置颜色
|
|
78199
|
-
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];
|
|
78200
|
-
++g_JSChartResource.OverlaySymbol.Random;
|
|
78201
|
-
paint.MainData=this.SourceData; //绑定主图数据
|
|
78307
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(arySymbol)) return true;
|
|
78202
78308
|
|
|
78203
|
-
|
|
78309
|
+
for(var i=0;i<aryNewSymbol.length;++i)
|
|
78310
|
+
{
|
|
78311
|
+
var strSymbol=aryNewSymbol[i];
|
|
78204
78312
|
|
|
78205
|
-
|
|
78313
|
+
var paint=new ChartOverlayMinutePriceLine();
|
|
78314
|
+
paint.Canvas=this.Canvas;
|
|
78315
|
+
paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
78316
|
+
paint.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
78317
|
+
paint.Name="Overlay-Minute";
|
|
78318
|
+
paint.Symbol=strSymbol;
|
|
78319
|
+
paint.Identify=`Overlay-Minute-${strSymbol}`;
|
|
78320
|
+
if (option && option.Color) paint.Color=option.Color; //外部设置颜色
|
|
78321
|
+
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];
|
|
78322
|
+
++g_JSChartResource.OverlaySymbol.Random;
|
|
78323
|
+
paint.MainData=this.SourceData; //绑定主图数据
|
|
78324
|
+
|
|
78325
|
+
if (paint.SetOption) paint.SetOption(option);
|
|
78326
|
+
|
|
78327
|
+
this.OverlayChartPaint.push(paint);
|
|
78328
|
+
}
|
|
78206
78329
|
|
|
78207
78330
|
if (this.DayCount<=1) this.RequestOverlayMinuteData(); //请求数据
|
|
78208
78331
|
else this.RequestOverlayHistoryMinuteData();
|
|
@@ -102485,10 +102608,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
102485
102608
|
}
|
|
102486
102609
|
|
|
102487
102610
|
|
|
102488
|
-
//格式化字符串 "{0}-{1}", C, O;
|
|
102611
|
+
//格式化字符串 "{0}-{1}", C, O; 小数位数 {0:0.00}
|
|
102489
102612
|
this.STRFORMAT=function(strFormat,args,node)
|
|
102490
102613
|
{
|
|
102491
|
-
var aryParam=strFormat.match(/{
|
|
102614
|
+
var aryParam=strFormat.match(/{[0-9.:]+}/g);
|
|
102492
102615
|
|
|
102493
102616
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryParam)) return null;
|
|
102494
102617
|
|
|
@@ -102500,9 +102623,47 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
102500
102623
|
if (item.length<3) continue;
|
|
102501
102624
|
|
|
102502
102625
|
var value=item.slice(1, item.length-1);
|
|
102503
|
-
var index
|
|
102626
|
+
var index=-1,decimal=-1;
|
|
102627
|
+
if (value.indexOf(":")>0)
|
|
102628
|
+
{
|
|
102629
|
+
var aryTemp=value.split(":");
|
|
102630
|
+
if (aryTemp)
|
|
102631
|
+
{
|
|
102632
|
+
if (aryTemp[0])
|
|
102633
|
+
index=parseInt(aryTemp[0]);
|
|
102504
102634
|
|
|
102505
|
-
|
|
102635
|
+
if (aryTemp[1])
|
|
102636
|
+
{
|
|
102637
|
+
if (aryTemp[1].indexOf(".")>=0)
|
|
102638
|
+
{
|
|
102639
|
+
var zeroCount=0;
|
|
102640
|
+
var strTemp=aryTemp[1];
|
|
102641
|
+
for(var j=strTemp.length-1; j>=0; --j)
|
|
102642
|
+
{
|
|
102643
|
+
if (strTemp[j]=="0") ++zeroCount;
|
|
102644
|
+
else break;
|
|
102645
|
+
}
|
|
102646
|
+
|
|
102647
|
+
if (zeroCount>0) decimal=zeroCount;
|
|
102648
|
+
}
|
|
102649
|
+
else if (aryTemp[1]=="0")
|
|
102650
|
+
{
|
|
102651
|
+
decimal=0;
|
|
102652
|
+
}
|
|
102653
|
+
}
|
|
102654
|
+
|
|
102655
|
+
}
|
|
102656
|
+
|
|
102657
|
+
}
|
|
102658
|
+
else
|
|
102659
|
+
{
|
|
102660
|
+
index=parseInt(value);
|
|
102661
|
+
}
|
|
102662
|
+
|
|
102663
|
+
if (index<0) continue;
|
|
102664
|
+
|
|
102665
|
+
var paramItem={ Src:item, Index:index, Text:null, Decimal:null };
|
|
102666
|
+
if (decimal>=0) paramItem.Decimal=decimal;
|
|
102506
102667
|
|
|
102507
102668
|
if (maxIndex<index) maxIndex=index;
|
|
102508
102669
|
|
|
@@ -102539,7 +102700,13 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
102539
102700
|
if (Array.isArray(paramItem))
|
|
102540
102701
|
{
|
|
102541
102702
|
var value=paramItem[i];
|
|
102542
|
-
if (value)
|
|
102703
|
+
if (value)
|
|
102704
|
+
{
|
|
102705
|
+
if (IFrameSplitOperator.IsNumber(paramInfo.Decimal))
|
|
102706
|
+
text=`${value.toFixed(paramInfo.Decimal)}`;
|
|
102707
|
+
else
|
|
102708
|
+
text=`${value}`;
|
|
102709
|
+
}
|
|
102543
102710
|
}
|
|
102544
102711
|
else
|
|
102545
102712
|
{
|
|
@@ -104930,6 +105097,82 @@ function JSDraw(errorHandler,symbolData)
|
|
|
104930
105097
|
|
|
104931
105098
|
return drawData;
|
|
104932
105099
|
}
|
|
105100
|
+
|
|
105101
|
+
|
|
105102
|
+
//多头建仓(买入开仓).
|
|
105103
|
+
//参数1为触发条件,参数2为标记放置位置.此函数只适用于特定版本交易模式下.
|
|
105104
|
+
//例如: BUY(CROSS(A,B),LOW),当A上穿B时,在LOW处画标记,同时突出提示或直接下单,如果LOW改为DRAWNULL,就不画标记.(分时图上不支持)
|
|
105105
|
+
this.BUY=function(condition, data, iconSymbol, color)
|
|
105106
|
+
{
|
|
105107
|
+
var iconInfo={ Color:"rgb(0,255,0)", Type:"SVG", Icon:'\ue660' };
|
|
105108
|
+
if (IFrameSplitOperator.IsString(iconSymbol)) iconInfo.Icon=iconSymbol;
|
|
105109
|
+
if (color) iconInfo.Color=color;
|
|
105110
|
+
var result=this.CalculateTradeData(condition, data, iconInfo);
|
|
105111
|
+
result.DrawType='BUY';
|
|
105112
|
+
return result;
|
|
105113
|
+
}
|
|
105114
|
+
|
|
105115
|
+
this.BUYSHORT=function(condition, data, iconSymbol, color)
|
|
105116
|
+
{
|
|
105117
|
+
var iconInfo={ Color:"rgb(0,255,0)", Type:"SVG", Icon:'\ue660' };
|
|
105118
|
+
if (IFrameSplitOperator.IsString(iconSymbol)) iconInfo.Icon=iconSymbol;
|
|
105119
|
+
if (color) iconInfo.Color=color;
|
|
105120
|
+
var result=this.CalculateTradeData(condition, data, iconInfo);
|
|
105121
|
+
result.DrawType='BUYSHORT';
|
|
105122
|
+
return result;
|
|
105123
|
+
}
|
|
105124
|
+
|
|
105125
|
+
//多头平仓(卖出平仓).
|
|
105126
|
+
//参数1为触发条件,参数2为标记放置位置.此函数只适用于特定版本交易模式下.
|
|
105127
|
+
//例如: SELL(CROSS(A,B),HIGH),当A上穿B时,在HIGH处画标记,同时突出提示或直接下单,如果HIGH改为DRAWNULL,就不画标记.(分时图上不支持)
|
|
105128
|
+
this.SELL=function(condition, data, iconSymbol,color)
|
|
105129
|
+
{
|
|
105130
|
+
var iconInfo={ Color:"rgb(255,0,0)", Type:"SVG", Icon:'\ue661' };
|
|
105131
|
+
if (IFrameSplitOperator.IsString(iconSymbol)) iconInfo.Icon=iconSymbol;
|
|
105132
|
+
if (color) iconInfo.Color=color;
|
|
105133
|
+
var result=this.CalculateTradeData(condition, data, iconInfo);
|
|
105134
|
+
result.DrawType='SELL';
|
|
105135
|
+
return result;
|
|
105136
|
+
}
|
|
105137
|
+
|
|
105138
|
+
this.SELLSHORT=function(condition, data, iconSymbol,color)
|
|
105139
|
+
{
|
|
105140
|
+
var iconInfo={ Color:"rgb(255,0,0)", Type:"SVG", Icon:'\ue661' };
|
|
105141
|
+
if (IFrameSplitOperator.IsString(iconSymbol)) iconInfo.Icon=iconSymbol;
|
|
105142
|
+
if (color) iconInfo.Color=color;
|
|
105143
|
+
var result=this.CalculateTradeData(condition, data, iconInfo);
|
|
105144
|
+
result.DrawType='SELLSHORT';
|
|
105145
|
+
return result;
|
|
105146
|
+
}
|
|
105147
|
+
|
|
105148
|
+
this.CalculateTradeData=function(condition, data, IconInfo)
|
|
105149
|
+
{
|
|
105150
|
+
var aryData=[];
|
|
105151
|
+
var aryIcon=[];
|
|
105152
|
+
var result={ DrawData:{ Data:aryData, Icons:aryIcon } };
|
|
105153
|
+
|
|
105154
|
+
if (Array.isArray(condition))
|
|
105155
|
+
{
|
|
105156
|
+
var isAryPosition=Array.isArray(data);
|
|
105157
|
+
for(var i=0;i<condition.length;++i)
|
|
105158
|
+
{
|
|
105159
|
+
aryData[i]=0;
|
|
105160
|
+
aryIcon[i]=null
|
|
105161
|
+
if (!condition[i]) continue;
|
|
105162
|
+
|
|
105163
|
+
aryData[i]=1;
|
|
105164
|
+
|
|
105165
|
+
if (isAryPosition) aryIcon[i]={ Value:data[i], Type:IconInfo.Type, Color:IconInfo.Color, Icon:IconInfo.Icon };
|
|
105166
|
+
else aryIcon[i]={ Value:data, Type:IconInfo.Type, Color:IconInfo.Color, Icon:IconInfo.Icon };
|
|
105167
|
+
}
|
|
105168
|
+
}
|
|
105169
|
+
else if (IFrameSplitOperator.IsNumber(condition) && condition>0)
|
|
105170
|
+
{
|
|
105171
|
+
|
|
105172
|
+
}
|
|
105173
|
+
|
|
105174
|
+
return result;
|
|
105175
|
+
}
|
|
104933
105176
|
}
|
|
104934
105177
|
|
|
104935
105178
|
|
|
@@ -104982,7 +105225,8 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
104982
105225
|
"STICKLINE","DRAWTEXT",'SUPERDRAWTEXT','DRAWLINE','DRAWBAND','DRAWKLINE',"DRAWKLINE1",'DRAWKLINE_IF',"DRAWCOLORKLINE",'PLOYLINE',"DRAWOVERLAYKLINE",
|
|
104983
105226
|
'POLYLINE','DRAWNUMBER',"DRAWNUMBER_FIX",'DRAWICON','DRAWCHANNEL','PARTLINE','DRAWTEXT_FIX','DRAWGBK','DRAWTEXT_LINE','DRAWRECTREL',"DRAWTEXTABS","DRAWTEXTREL",
|
|
104984
105227
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
104985
|
-
"VERTLINE","HORLINE","TIPICON"
|
|
105228
|
+
"VERTLINE","HORLINE","TIPICON",
|
|
105229
|
+
"BUY","SELL","SELLSHORT","BUYSHORT",
|
|
104986
105230
|
]);
|
|
104987
105231
|
if (setFunctionName.has(name)) return true;
|
|
104988
105232
|
|
|
@@ -111456,6 +111700,24 @@ function JSExecute(ast,option)
|
|
|
111456
111700
|
}
|
|
111457
111701
|
break;
|
|
111458
111702
|
|
|
111703
|
+
//交易函数
|
|
111704
|
+
case "BUY":
|
|
111705
|
+
node.Draw=this.Draw.BUY(args[0],args[1],args[2],args[3]);
|
|
111706
|
+
node.Out=node.Draw.DrawData.Data;
|
|
111707
|
+
break;
|
|
111708
|
+
case "SELL":
|
|
111709
|
+
node.Draw=this.Draw.SELL(args[0],args[1],args[2],args[3]);
|
|
111710
|
+
node.Out=node.Draw.DrawData.Data;
|
|
111711
|
+
break;
|
|
111712
|
+
case "SELLSHORT":
|
|
111713
|
+
node.Draw=this.Draw.SELLSHORT(args[0],args[1],args[2],args[3]);
|
|
111714
|
+
node.Out=node.Draw.DrawData.Data;
|
|
111715
|
+
break;
|
|
111716
|
+
case "BUYSHORT":
|
|
111717
|
+
node.Draw=this.Draw.BUYSHORT(args[0],args[1],args[2],args[3]);
|
|
111718
|
+
node.Out=node.Draw.DrawData.Data;
|
|
111719
|
+
break;
|
|
111720
|
+
|
|
111459
111721
|
default:
|
|
111460
111722
|
node.Out=this.Algorithm.CallFunction(funcName, args, node, this.SymbolData);
|
|
111461
111723
|
break;
|
|
@@ -114118,6 +114380,23 @@ function ScriptIndex(name,script,args,option)
|
|
|
114118
114380
|
hqChart.ChartPaint.push(chart);
|
|
114119
114381
|
}
|
|
114120
114382
|
|
|
114383
|
+
this.CreateTradeIcon=function(hqChart,windowIndex,varItem,id)
|
|
114384
|
+
{
|
|
114385
|
+
var chart=new ChartTradeIcon();
|
|
114386
|
+
chart.Canvas=hqChart.Canvas;
|
|
114387
|
+
chart.Name=varItem.Name;
|
|
114388
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
114389
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
114390
|
+
|
|
114391
|
+
chart.Data.Data=varItem.Draw.DrawData.Data;
|
|
114392
|
+
chart.AryIcon=varItem.Draw.DrawData.Icons;
|
|
114393
|
+
chart.TradeType=varItem.Draw.DrawType;
|
|
114394
|
+
|
|
114395
|
+
if (varItem.DrawFontSize>0) chart.SVG.Size=varItem.DrawFontSize; //图标大小
|
|
114396
|
+
|
|
114397
|
+
hqChart.ChartPaint.push(chart);
|
|
114398
|
+
}
|
|
114399
|
+
|
|
114121
114400
|
this.CreateTextLine=function(hqChart,windowIndex,varItem,id)
|
|
114122
114401
|
{
|
|
114123
114402
|
let chart=new ChartTextLine();
|
|
@@ -114843,6 +115122,13 @@ function ScriptIndex(name,script,args,option)
|
|
|
114843
115122
|
case "MULTI_POINT_LINE":
|
|
114844
115123
|
this.CreateLineMultiData(hqChart,windowIndex,item,i);
|
|
114845
115124
|
break;
|
|
115125
|
+
case "BUY":
|
|
115126
|
+
case "SELL":
|
|
115127
|
+
case "SELLSHORT":
|
|
115128
|
+
case "BUYSHORT":
|
|
115129
|
+
this.CreateTradeIcon(hqChart,windowIndex,item,i);
|
|
115130
|
+
break;
|
|
115131
|
+
|
|
114846
115132
|
case SCRIPT_CHART_NAME.OVERLAY_BARS:
|
|
114847
115133
|
this.CreateStackedBar(hqChart,windowIndex,item,i);
|
|
114848
115134
|
break;
|
|
@@ -129818,7 +130104,7 @@ function HQChartScriptWorker()
|
|
|
129818
130104
|
|
|
129819
130105
|
|
|
129820
130106
|
|
|
129821
|
-
var HQCHART_VERSION="1.1.
|
|
130107
|
+
var HQCHART_VERSION="1.1.12627";
|
|
129822
130108
|
|
|
129823
130109
|
function PrintHQChartVersion()
|
|
129824
130110
|
{
|