hqchart 1.1.14258 → 1.1.14274

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.
@@ -498,7 +498,17 @@ function GetBlackStyle()
498
498
  StockChip:
499
499
  {
500
500
  InfoColor:'rgb(255,255,255)', //文字颜色
501
- DayInfoColor:'rgb(0,0,0)' //周期颜色内文字颜色
501
+ DayInfoColor:'rgb(0,0,0)', //周期颜色内文字颜色
502
+
503
+ //手机端
504
+ PhoneCloseButton:
505
+ {
506
+ Family:"iconfont",
507
+ Size:16*GetDevicePixelRatio(),
508
+ Text:"\ue60c",
509
+ Color:"rgb(255,255,255)",
510
+ Border:{ BGColor:"rgb(40,42,44)" }
511
+ }
502
512
  },
503
513
 
504
514
  //深度图
@@ -178,6 +178,10 @@ HQData.NetworkFilter=function(data, callback)
178
178
  HQData.Report_RequestVirtualStockData(data, callback); //股票数据 虚拟表格
179
179
  break;
180
180
 
181
+ case "APIScriptIndex::ExecuteScript": //测试指标
182
+ HQData.Report_APIIndex(data, callback);
183
+ break;
184
+
181
185
  }
182
186
  }
183
187
 
@@ -1242,7 +1246,7 @@ HQData.Report_RequestStockData=function(data, callback)
1242
1246
  newItem[33]=kData;
1243
1247
 
1244
1248
 
1245
- newItem[101]=105.0;
1249
+ newItem[101]=HQData.GetRandomTestData(-90,1000);
1246
1250
  newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`;
1247
1251
 
1248
1252
 
@@ -1835,3 +1839,404 @@ HQData.GetMulitDayMinuteDataByDate=function(aryDay, aryDate)
1835
1839
  }
1836
1840
 
1837
1841
 
1842
+ HQData.Report_APIIndex=function(data, callback)
1843
+ {
1844
+ var request=data.Request;
1845
+ if (request.Data.indexname=='API-MULTI_POINT')
1846
+ HQData.APIIndex_MULTI_POINT(data, callback);
1847
+ else if (request.Data.indexname=="API-DRAWTEXTREL")
1848
+ HQData.APIIndex_DRAWTEXTREL(data, callback);
1849
+ else if (request.Data.indexname=="API-DRAWCOLORKLINE")
1850
+ HQData.APIIndex_DRAWCOLORKLINE(data, callback);
1851
+ else if (request.Data.indexname=="API-DRAWBAND")
1852
+ HQData.APIIndex_DRAWBAND(data, callback);
1853
+ else if (request.Data.indexname=="API-MULTI_LINE")
1854
+ HQData.APIIndex_MULTI_LINE(data, callback);
1855
+ else if (request.Data.indexname=="API-MULTI_SVGICON")
1856
+ HQData.APIIndex_MULTI_SVGICON(data, callback);
1857
+ }
1858
+
1859
+
1860
+ HQData.APIIndex_MULTI_POINT=function(data, callback)
1861
+ {
1862
+ data.PreventDefault=true;
1863
+ var hqchart=data.HQChart;
1864
+ var kData=hqchart.GetKData();
1865
+
1866
+ var pointData=
1867
+ {
1868
+ name:'MULTI_POINT', type:1,
1869
+ Draw:
1870
+ {
1871
+ DrawType:'MULTI_POINT',
1872
+ DrawData:[],
1873
+ }
1874
+ };
1875
+
1876
+ var point=
1877
+ {
1878
+ Color:'rgb(211,211,211)',
1879
+ BGColor:"rgb(255,215,0)",
1880
+ PointRadius:10,
1881
+ LineWidth:2,
1882
+ Point:[ ]
1883
+ };
1884
+
1885
+ for(var i=kData.Data.length-1, j=0; i>=0 && j<6; i-=5, ++j)
1886
+ {
1887
+ var item=kData.Data[i];
1888
+ point.Point.push({Date:item.Date, Time:item.Time, Value:item.Low});
1889
+ }
1890
+
1891
+ pointData.Draw.DrawData.push(point);
1892
+
1893
+
1894
+ var point=
1895
+ {
1896
+ Color:'rgb(148,0,211)',
1897
+ BGColor:"rgb(30,144,255)",
1898
+ PointRadius:5,
1899
+ LineWidth:1,
1900
+ Point:[ ]
1901
+ };
1902
+
1903
+ for(var i=kData.Data.length-3, j=0; i>=0 && j<5; i-=6, ++j)
1904
+ {
1905
+ var item=kData.Data[i];
1906
+ point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2});
1907
+ }
1908
+
1909
+ pointData.Draw.DrawData.push(point);
1910
+
1911
+ var apiData=
1912
+ {
1913
+ code:0, stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
1914
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar: [pointData] }
1915
+ };
1916
+
1917
+ console.log('[HQData.APIIndex_MULTI_POINT] apiData ', apiData);
1918
+ callback(apiData);
1919
+ }
1920
+
1921
+ HQData.APIIndex_DRAWTEXTREL=function(data, callback)
1922
+ {
1923
+ data.PreventDefault=true;
1924
+ var hqchart=data.HQChart;
1925
+ var kData=hqchart.GetKData();
1926
+
1927
+ var closeLine={ name:'价', type:0, data:kData.GetClose(), color:"rgb(255, 52, 179)" };
1928
+
1929
+ var divText=
1930
+ {
1931
+ name:'DRAWTEXTREL', type:1,
1932
+ Draw:
1933
+ {
1934
+ DrawType:'DRAWTEXTREL',
1935
+ DrawData:
1936
+ {
1937
+ Point: {X: 500, Y: 500 },
1938
+ Text: "!!!!前方高能!!!!"
1939
+ },
1940
+
1941
+ Font:"20px 微软雅黑"
1942
+ },
1943
+ color:"rgb(255,0,0)",
1944
+
1945
+ DrawVAlign:1,
1946
+ DrawAlign:1,
1947
+ }
1948
+
1949
+ var divText2=
1950
+ {
1951
+ name:'DRAWTEXTABS', type:1,
1952
+ Draw:
1953
+ {
1954
+ DrawType:'DRAWTEXTABS',
1955
+ DrawData:
1956
+ {
1957
+ Point: {X: 5, Y: 5 },
1958
+ Text: "后台指标示例"
1959
+ },
1960
+
1961
+ Font:"24px 微软雅黑"
1962
+ },
1963
+ color:"rgb(255,200,0)",
1964
+
1965
+ DrawVAlign:2,
1966
+ }
1967
+
1968
+ var apiData=
1969
+ {
1970
+ code:0,
1971
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
1972
+ outdata: { date:kData.GetDate() ,time:kData.GetTime(), outvar:[closeLine,divText, divText2] }
1973
+ };
1974
+
1975
+ console.log('[HQData::APIIndex_DRAWTEXTREL] apiData ', apiData);
1976
+ callback(apiData);
1977
+ }
1978
+
1979
+
1980
+ HQData.APIIndex_DRAWCOLORKLINE=function(data, callback)
1981
+ {
1982
+ data.PreventDefault=true;
1983
+ var hqchart=data.HQChart;
1984
+ var kData=hqchart.GetKData();
1985
+
1986
+ var aryTestKData=[];
1987
+ var aryTestkData2=[];
1988
+ for(var i=0;i<kData.Data.length;++i)
1989
+ {
1990
+ var item=kData.Data[i];
1991
+ if (i%5==3) aryTestKData[i]={ Open:item.Open, High:item.High, Low:item.Low, Close:item.Close };
1992
+ else aryTestKData[i]=null;
1993
+
1994
+ if (i%13==5) aryTestkData2[i]={ Open:item.Open, High:item.High, Low:item.Low, Close:item.Close };
1995
+ else aryTestkData2[i]=null;
1996
+ }
1997
+
1998
+ var varKLine={ type:1, name:"条件K线", Draw:{ DrawData:aryTestKData, DrawType:'DRAWCOLORKLINE', IsEmptyBar:false, Color:"rgb(100,0,100)"} };
1999
+ var varKLine2={ type:1, name:"条件K线2", Draw:{ DrawData:aryTestkData2, DrawType:'DRAWCOLORKLINE', IsEmptyBar:false, Color:"rgb(255, 140, 0)"} };
2000
+
2001
+ var hqchartData=
2002
+ {
2003
+ outdata:
2004
+ {
2005
+ date:kData.GetDate(), time:kData.GetTime(),
2006
+ outvar:[ varKLine, varKLine2]
2007
+ } ,
2008
+ code:0
2009
+ };
2010
+
2011
+ console.log("[HQData.APIIndex_DRAWCOLORKLINE] DRAWCOLORKLINE=",hqchartData);
2012
+
2013
+ callback(hqchartData);
2014
+ }
2015
+
2016
+
2017
+ HQData.APIIndex_DRAWBAND=function(data, callback)
2018
+ {
2019
+ data.PreventDefault=true;
2020
+ var hqchart=data.HQChart;
2021
+ var kData=hqchart.GetKData();
2022
+
2023
+
2024
+ var bandData=
2025
+ {
2026
+ name:"DRAWBAND", type:1,
2027
+ Draw:
2028
+ {
2029
+ Name:"DRAWBAND",
2030
+ DrawType:"DRAWBAND",
2031
+ DrawData:[],
2032
+ Color:["rgb(220,20,60)","rgb(34,139,34)"]
2033
+ }
2034
+ };
2035
+
2036
+ for(var i=0;i<kData.Data.length;++i)
2037
+ {
2038
+ var kItem=kData.Data[i];
2039
+ bandData.Draw.DrawData[i]={ Value:kItem.Close, Value2:kItem.Open };
2040
+ }
2041
+
2042
+ //var closeLine={ Name:'收', Type:0, Data:aryClose };
2043
+ //var openLine={ Name:'开', Type:0, Data:aryOpen};
2044
+
2045
+ var hqchartData=
2046
+ {
2047
+ outdata:{ date:kData.GetDate(), time:kData.GetTime(), outvar:[ bandData, ] } ,
2048
+ code:0
2049
+ };
2050
+
2051
+ callback(hqchartData);
2052
+ }
2053
+
2054
+
2055
+ HQData.APIIndex_MULTI_LINE=function(data, callback)
2056
+ {
2057
+ data.PreventDefault=true;
2058
+ var hqchart=data.HQChart;
2059
+ var kData=hqchart.GetKData();
2060
+
2061
+ var line3=
2062
+ {
2063
+ name:'MULTI_LINE', type:1,
2064
+
2065
+ Draw:
2066
+ {
2067
+ DrawType:'MULTI_LINE', DrawData:[],
2068
+ LineWidth:5,
2069
+ Arrow:
2070
+ {
2071
+ Start:true, //是否绘制开始箭头 <-
2072
+ End:true, //是否绘制结束箭头 ->
2073
+ Angle:30, //三角斜边一直线夹角
2074
+ Length:10, //三角斜边长度
2075
+ LineWidth:4, //箭头粗细
2076
+ }
2077
+ }, //绘制线段数组
2078
+
2079
+ IsShowTitle:false
2080
+ };
2081
+
2082
+ var point3=
2083
+ {
2084
+ Color:'rgb(255,0,255)',
2085
+ Point:[]
2086
+ }
2087
+
2088
+ for(var i=kData.Data.length-10;i<kData.Data.length;++i)
2089
+ {
2090
+ var item=kData.Data[i];
2091
+ point3.Point.push({Date:item.Date, Time:item.Time, Value:item.High});
2092
+ }
2093
+ line3.Draw.DrawData.push(point3);
2094
+
2095
+ var apiData=
2096
+ {
2097
+ code:0,
2098
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
2099
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[line3] }
2100
+ };
2101
+
2102
+ console.log('[HQData.APIIndex_MULTI_LINE] apiData ', apiData);
2103
+ callback(apiData);
2104
+ }
2105
+
2106
+
2107
+ HQData.APIIndex_MULTI_SVGICON=function(data, callback)
2108
+ {
2109
+ data.PreventDefault=true;
2110
+ var hqchart=data.HQChart;
2111
+ var kData=hqchart.GetKData();
2112
+
2113
+ var iconData=
2114
+ {
2115
+ name:'MULTI_SVGICON', type:1,
2116
+ Draw:
2117
+ {
2118
+ DrawType:'MULTI_SVGICON',
2119
+ DrawData:
2120
+ {
2121
+ Family:'iconfont',
2122
+ Icon:
2123
+ [
2124
+ //{ Date:20190916, Value:"High", Symbol:'\ue611', Color:'rgb(240,0,0)', Baseline:2 , YMove:-5}, //0 居中 1 上 2 下
2125
+ //{ Date:20190919, Value:15.3, Symbol:'\ue615', Color:'rgb(240,240,0)', Baseline:2 },
2126
+ //{ Date:20190909, Value:15.4, Symbol:'\ue615', Color:'rgb(240,100,30)'}
2127
+ ]
2128
+ }
2129
+ } //绘制图标数组
2130
+ };
2131
+
2132
+ var TEST_ICON_SYMBOL=['\ue678', '\ue66e', "\ue66b"];
2133
+ var TEST_ICON_COLOR=["'rgb(240,0,0)", "rgb(240,100,30)", "rgb(138,43, 226)", "rgb(151,255,255)", "rgb(255, 20, 147)"];
2134
+
2135
+ for(var i=kData.Data.length-20, j=0;i<kData.Data.length;++i)
2136
+ {
2137
+ var item=kData.Data[i];
2138
+
2139
+ if (i%3!=1) continue;
2140
+
2141
+ var iconIndex=Math.ceil(Math.random()*10) % TEST_ICON_SYMBOL.length;
2142
+ var colorIndex=Math.ceil(Math.random()*10) % TEST_ICON_COLOR.length;
2143
+
2144
+ if (j==2)
2145
+ {
2146
+ var iconItem=
2147
+ {
2148
+ Date:item.Date, Time:item.Time,
2149
+ Value:item.High,
2150
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
2151
+ Color:TEST_ICON_COLOR[colorIndex],
2152
+ Baseline:2,
2153
+ YMove:-35,
2154
+ Line:{ Color:"rgb(153,50,204)", KData:"H", Width:1, Offset:[3,10], Dash:[5,5] },
2155
+ };
2156
+
2157
+ var iconItem2=
2158
+ {
2159
+ Date:item.Date, Time:item.Time,
2160
+ Value:item.Low,
2161
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
2162
+ Color:TEST_ICON_COLOR[colorIndex],
2163
+ Baseline:2,
2164
+ YMove:50,
2165
+ };
2166
+
2167
+ iconData.Draw.DrawData.Icon.push(iconItem2);
2168
+ }
2169
+ else if (j==3)
2170
+ {
2171
+ var iconItem=
2172
+ {
2173
+ Date:item.Date, Time:item.Time,
2174
+ Value:"L",
2175
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
2176
+ Color:TEST_ICON_COLOR[colorIndex],
2177
+ Baseline:1,
2178
+ YMove:5,
2179
+ };
2180
+ }
2181
+ else if (j==4)
2182
+ {
2183
+ var iconItem=
2184
+ {
2185
+ Date:item.Date, Time:item.Time,
2186
+ Value:item.Low*0.95,
2187
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
2188
+ Color:TEST_ICON_COLOR[colorIndex],
2189
+ Baseline:1,
2190
+ YMove:5,
2191
+ Line:{ Color:"rgb(153,50,204)", KData:"L", Width:1, Offset:[3,10], Dash:[5,5] },
2192
+ Text:"提示信息:<br>这个是提示信息"
2193
+ };
2194
+ }
2195
+ else
2196
+ {
2197
+ var iconItem=
2198
+ {
2199
+ Date:item.Date, Time:item.Time,
2200
+ Value:item.High,
2201
+ Symbol:TEST_ICON_SYMBOL[iconIndex],
2202
+ Color:TEST_ICON_COLOR[colorIndex],
2203
+ Baseline:2,
2204
+ YMove:-20,
2205
+ Text:
2206
+ {
2207
+ AryText:
2208
+ [
2209
+ { Title:"日期:", Text:`${item.Date}`, Color:"rgb(230,230,230)", Align:"Left"},
2210
+ { Title:"提示:", Text:"提示信息xxxxx", Color:"rgb(250,0,0)",Align:"Left"}
2211
+ ]
2212
+ },
2213
+
2214
+ //Line:{ Color:"rgb(153,50,204)", KData:"H", Width:1, Offset:[3,10], Dash:[5,5] },
2215
+ };
2216
+
2217
+
2218
+ /*
2219
+ if (j%5==1)
2220
+ iconItem.Image={ Data:image1, Width:32, Height:32 };
2221
+ else if (j%5==3)
2222
+ iconItem.Image={ Data:image2, Width:32, Height:32 };
2223
+ */
2224
+ }
2225
+
2226
+ iconData.Draw.DrawData.Icon.push(iconItem);
2227
+ ++j;
2228
+ }
2229
+
2230
+ var apiData=
2231
+ {
2232
+ code:0,
2233
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
2234
+ outdata: { date:kData.GetDate() , outvar:[iconData] }
2235
+ };
2236
+
2237
+
2238
+ console.log('[HQData.APIIndex_MULTI_SVGICON] apiData ', apiData);
2239
+ callback(apiData);
2240
+ }
2241
+
2242
+