Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
bluefrankey
hqchart
提交
53a05ff5
hqchart
项目概览
bluefrankey
/
hqchart
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
hqchart
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
53a05ff5
编写于
11月 21, 2018
作者:
J
jones
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ver 3639
上级
c73fe95c
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
153 addition
and
21 deletion
+153
-21
webhqchart.demo/jscommon/umychart.js
webhqchart.demo/jscommon/umychart.js
+28
-4
webhqchart/umychart.js
webhqchart/umychart.js
+28
-4
wechathqchart/umychart.complier.wechat.js
wechathqchart/umychart.complier.wechat.js
+17
-2
wechathqchart/umychart.data.wechat.js
wechathqchart/umychart.data.wechat.js
+39
-0
wechathqchart/umychart.index.data.wechat.js
wechathqchart/umychart.index.data.wechat.js
+2
-1
wechathqchart/umychart.wechat.3.0.js
wechathqchart/umychart.wechat.3.0.js
+39
-10
未找到文件。
webhqchart.demo/jscommon/umychart.js
浏览文件 @
53a05ff5
...
...
@@ -3463,6 +3463,11 @@ HistoryData.Copy=function(data)
newData.Amount=data.Amount;
newData.Time=data.Time;
newData.Stop=data.Stop;
newData.Up=data.Up;
newData.Down=data.Down;
newData.Unchanged=data.Unchanged;
return newData;
}
...
...
@@ -3973,6 +3978,13 @@ function ChartData()
result[i].Close=overlayData[j].Close;
result[i].Vol=overlayData[j].Vol;
result[i].Amount=overlayData[j].Amount;
//涨跌家数数据
result[i].Stop=overlayData[j].Stop;
result[i].Up=overlayData[j].Up;
result[i].Down=overlayData[j].Down;
result[i].Unchanged=overlayData[j].Unchanged;
++j;
++i;
}
...
...
@@ -13068,7 +13080,6 @@ MinuteChartContainer.JsonDataToMinuteData=function(data)
var aryMinuteData=new Array();
var preClose=data.stock[0].yclose; //前一个数据价格
var preAvPrice=data.stock[0].yclose; //前一个均价
var isFund=IsFundSymbol(data.stock[0].symbol);
for(var i in data.stock[0].minute)
{
var jsData=data.stock[0].minute[i];
...
...
@@ -13095,8 +13106,12 @@ MinuteChartContainer.JsonDataToMinuteData=function(data)
item.Risefall=jsData.risefall;
item.AvPrice=jsData.avprice;
if (!item.Close && isFund) item.Close=preClose;
if (!item.AvPrice && isFund) item.AvPrice=preAvPrice;
if (!item.Close) //当前没有价格 使用上一个价格填充
{
item.Close=preClose;
item.Open=item.High=item.Low=item.Close;
}
if (!item.AvPrice) item.AvPrice=preAvPrice;
//价格是0的 都用空
if (item.Open<=0) item.Open=null;
...
...
@@ -13121,10 +13136,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
var dayData=data.data[i];
var date=dayData.date;
var yClose=dayData.yclose; //前收盘 计算涨幅
var preClose=yClose; //前一个数据价格
//var preAvPrice=data.stock[0].yclose; //前一个均价
for(var j in dayData.minute)
{
var jsData=dayData.minute[j];
if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
var item=new MinuteData();
item.Close=jsData[2];
item.Open=jsData[1];
...
...
@@ -13133,6 +13150,13 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
item.Vol=jsData[5]/100; //原始单位股
item.Amount=jsData[6];
item.DateTime=date.toString()+" "+jsData[0].toString();
if (!item.Close) //当前没有价格 使用上一个价格填充
{
item.Close=preClose;
item.Open=item.High=item.Low=item.Close;
}
if (item.Close && yClose) item.Increase = (item.Close - yClose)/yClose*100;
else item.Increase=null;
if (j==0) //第1个数据 写死9:25
...
...
webhqchart/umychart.js
浏览文件 @
53a05ff5
...
...
@@ -3463,6 +3463,11 @@ HistoryData.Copy=function(data)
newData.Amount=data.Amount;
newData.Time=data.Time;
newData.Stop=data.Stop;
newData.Up=data.Up;
newData.Down=data.Down;
newData.Unchanged=data.Unchanged;
return newData;
}
...
...
@@ -3973,6 +3978,13 @@ function ChartData()
result[i].Close=overlayData[j].Close;
result[i].Vol=overlayData[j].Vol;
result[i].Amount=overlayData[j].Amount;
//涨跌家数数据
result[i].Stop=overlayData[j].Stop;
result[i].Up=overlayData[j].Up;
result[i].Down=overlayData[j].Down;
result[i].Unchanged=overlayData[j].Unchanged;
++j;
++i;
}
...
...
@@ -13068,7 +13080,6 @@ MinuteChartContainer.JsonDataToMinuteData=function(data)
var aryMinuteData=new Array();
var preClose=data.stock[0].yclose; //前一个数据价格
var preAvPrice=data.stock[0].yclose; //前一个均价
var isFund=IsFundSymbol(data.stock[0].symbol);
for(var i in data.stock[0].minute)
{
var jsData=data.stock[0].minute[i];
...
...
@@ -13095,8 +13106,12 @@ MinuteChartContainer.JsonDataToMinuteData=function(data)
item.Risefall=jsData.risefall;
item.AvPrice=jsData.avprice;
if (!item.Close && isFund) item.Close=preClose;
if (!item.AvPrice && isFund) item.AvPrice=preAvPrice;
if (!item.Close) //当前没有价格 使用上一个价格填充
{
item.Close=preClose;
item.Open=item.High=item.Low=item.Close;
}
if (!item.AvPrice) item.AvPrice=preAvPrice;
//价格是0的 都用空
if (item.Open<=0) item.Open=null;
...
...
@@ -13121,10 +13136,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
var dayData=data.data[i];
var date=dayData.date;
var yClose=dayData.yclose; //前收盘 计算涨幅
var preClose=yClose; //前一个数据价格
//var preAvPrice=data.stock[0].yclose; //前一个均价
for(var j in dayData.minute)
{
var jsData=dayData.minute[j];
if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
var item=new MinuteData();
item.Close=jsData[2];
item.Open=jsData[1];
...
...
@@ -13133,6 +13150,13 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
item.Vol=jsData[5]/100; //原始单位股
item.Amount=jsData[6];
item.DateTime=date.toString()+" "+jsData[0].toString();
if (!item.Close) //当前没有价格 使用上一个价格填充
{
item.Close=preClose;
item.Open=item.High=item.Low=item.Close;
}
if (item.Close && yClose) item.Increase = (item.Close - yClose)/yClose*100;
else item.Increase=null;
if (j==0) //第1个数据 写死9:25
...
...
wechathqchart/umychart.complier.wechat.js
浏览文件 @
53a05ff5
...
...
@@ -711,7 +711,7 @@ function Node()
this
.
VerifySymbolVariable
=
function
(
varName
)
{
let
setIndexName
=
new
Set
([
'
INDEXA
'
,
'
INDEXC
'
,
'
INDEXH
'
,
'
INDEXL
'
,
"
INDEXO
"
,
"
INDEXV
"
]);
let
setIndexName
=
new
Set
([
'
INDEXA
'
,
'
INDEXC
'
,
'
INDEXH
'
,
'
INDEXL
'
,
"
INDEXO
"
,
"
INDEXV
"
,
'
INDEXDEC
'
,
'
INDEXADV
'
]);
if
(
setIndexName
.
has
(
varName
))
{
this
.
IsNeedIndexData
=
true
;
...
...
@@ -5322,7 +5322,7 @@ function JSSymbolData(ast,option,jsExecute)
url
:
self
.
KLineApiUrl
,
data
:
{
"
field
"
:
[
"
name
"
,
"
symbol
"
,
"
yclose
"
,
"
open
"
,
"
price
"
,
"
high
"
,
"
low
"
,
"
vol
"
],
"
field
"
:
[
"
name
"
,
"
symbol
"
,
"
yclose
"
,
"
open
"
,
"
price
"
,
"
high
"
,
"
low
"
,
"
vol
"
,
'
up
'
,
'
down
'
,
'
stop
'
,
'
unchanged
'
],
"
symbol
"
:
'
000001.sh
'
,
"
start
"
:
-
1
,
"
count
"
:
self
.
MaxReqeustDataCount
+
500
//多请求2年的数据 确保股票剔除停牌日期以后可以对上
...
...
@@ -5423,6 +5423,10 @@ function JSSymbolData(ast,option,jsExecute)
return
this
.
IndexData
.
GetOpen
();
case
'
INDEXV
'
:
return
this
.
IndexData
.
GetVol
();
case
'
INDEXADV
'
:
return
this
.
IndexData
.
GetUp
();
case
'
INDEXDEC
'
:
return
this
.
IndexData
.
GetDown
();
}
}
...
...
@@ -6179,6 +6183,7 @@ function JSSymbolData(ast,option,jsExecute)
var
list
=
data
.
data
;
var
aryDayData
=
new
Array
();
var
date
=
0
,
yclose
=
1
,
open
=
2
,
high
=
3
,
low
=
4
,
close
=
5
,
vol
=
6
,
amount
=
7
;
var
up
=
8
,
down
=
9
,
stop
=
10
,
unchanged
=
11
;
for
(
var
i
=
0
;
i
<
list
.
length
;
++
i
)
{
var
item
=
new
JSCommonData
.
HistoryData
();
...
...
@@ -6194,6 +6199,12 @@ function JSSymbolData(ast,option,jsExecute)
if
(
isNaN
(
item
.
Open
)
||
item
.
Open
<=
0
)
continue
;
//停牌的数据剔除
//上涨 下跌家数
if
(
list
[
i
].
length
>
up
)
item
.
Up
=
list
[
i
][
up
];
if
(
list
[
i
].
length
>
down
)
item
.
Down
=
list
[
i
][
down
];
if
(
list
[
i
].
length
>
stop
)
item
.
Stop
=
list
[
i
][
stop
];
if
(
list
[
i
].
length
>
unchanged
)
item
.
Unchanged
=
list
[
i
][
unchanged
];
aryDayData
.
push
(
item
);
}
...
...
@@ -6562,6 +6573,8 @@ function JSExecute(ast,option)
//大盘数据
[
'
INDEXA
'
,
null
],[
'
INDEXC
'
,
null
],[
'
INDEXH
'
,
null
],[
'
INDEXL
'
,
null
],[
'
INDEXO
'
,
null
],[
'
INDEXV
'
,
null
],
[
'
INDEXADV
'
,
null
],
[
'
INDEXDEC
'
,
null
],
//到最后交易日的周期数
[
'
CURRBARSCOUNT
'
,
null
],
...
...
@@ -6668,6 +6681,8 @@ function JSExecute(ast,option)
case
'
INDEXO
'
:
case
'
INDEXV
'
:
case
'
INDEXL
'
:
case
'
INDEXADV
'
:
case
'
INDEXDEC
'
:
return
this
.
SymbolData
.
GetIndexCacheData
(
name
);
case
'
CURRBARSCOUNT
'
:
...
...
wechathqchart/umychart.data.wechat.js
浏览文件 @
53a05ff5
...
...
@@ -16,6 +16,12 @@ function HistoryData()
this
.
Vol
;
this
.
Amount
;
this
.
Time
;
//指数才有的数据
this
.
Stop
;
//停牌家数
this
.
Up
;
//上涨
this
.
Down
;
//下跌
this
.
Unchanged
;
//平盘
}
//数据复制
...
...
@@ -32,6 +38,12 @@ HistoryData.Copy=function(data)
newData
.
Amount
=
data
.
Amount
;
newData
.
Time
=
data
.
Time
;
//指数才有的数据
newData
.
Stop
=
data
.
Stop
;
newData
.
Up
=
data
.
Up
;
newData
.
Down
=
data
.
Down
;
newData
.
Unchanged
=
data
.
Unchanged
;
return
newData
;
}
...
...
@@ -227,6 +239,26 @@ function ChartData()
return
result
;
}
this
.
GetUp
=
function
()
//上涨家数
{
var
result
=
[];
for
(
var
i
in
this
.
Data
)
{
result
[
i
]
=
this
.
Data
[
i
].
Up
;
}
return
result
;
}
this
.
GetDown
=
function
()
//下跌家数
{
var
result
=
[];
for
(
var
i
in
this
.
Data
)
{
result
[
i
]
=
this
.
Data
[
i
].
Down
;
}
return
result
;
}
this
.
GetYear
=
function
()
{
var
result
=
new
Array
();
...
...
@@ -495,6 +527,13 @@ function ChartData()
result
[
i
].
Close
=
overlayData
[
j
].
Close
;
result
[
i
].
Vol
=
overlayData
[
j
].
Vol
;
result
[
i
].
Amount
=
overlayData
[
j
].
Amount
;
//涨跌家数数据
result
[
i
].
Stop
=
overlayData
[
j
].
Stop
;
result
[
i
].
Up
=
overlayData
[
j
].
Up
;
result
[
i
].
Down
=
overlayData
[
j
].
Down
;
result
[
i
].
Unchanged
=
overlayData
[
j
].
Unchanged
;
++
j
;
++
i
;
}
...
...
wechathqchart/umychart.index.data.wechat.js
浏览文件 @
53a05ff5
...
...
@@ -1882,7 +1882,8 @@ JSIndexScript.prototype.TEST = function ()
Name
:
'
TEST
'
,
Description
:
'
测试脚本
'
,
IsMainIndex
:
false
,
Args
:
[{
Name
:
'
N
'
,
Value
:
10
}],
Script
:
//脚本
'
VAR2:SARTURN(10,2,20);
'
'
VARUP:INDEXADV;
\n\
VARDOWN:INDEXDEC;
'
};
return
data
;
...
...
wechathqchart/umychart.wechat.3.0.js
浏览文件 @
53a05ff5
...
...
@@ -6262,11 +6262,11 @@ function IFrameSplitOperator()
var
item
=
aryInfo
[
i
];
var
message
=
item
.
Message
[
0
];
if
(
!
message
)
isAllZero
[
0
]
=
false
;
else
if
(
message
!=
0
&&
message
.
search
(
/
[
.
][
0
]
+/g
)
<=
0
)
isAllZero
[
0
]
=
false
;
else
if
(
!
this
.
IsDecimalZeroEnd
(
message
)
)
isAllZero
[
0
]
=
false
;
var
message
=
item
.
Message
[
1
];
if
(
!
message
)
isAllZero
[
1
]
=
false
;
else
if
(
message
!=
0
&&
message
.
search
(
/
[
.
][
0
]
+/g
)
<=
0
)
isAllZero
[
1
]
=
false
;
else
if
(
!
this
.
IsDecimalZeroEnd
(
message
)
)
isAllZero
[
1
]
=
false
;
}
if
(
isAllZero
[
0
]
==
false
&&
isAllZero
[
1
]
==
false
)
return
;
...
...
@@ -6286,6 +6286,23 @@ function IFrameSplitOperator()
}
}
}
this
.
IsDecimalZeroEnd
=
function
(
text
)
//是否是0结尾的小数
{
if
(
!
text
)
return
false
;
if
(
text
==
'
0
'
)
return
true
;
var
pos
=
text
.
search
(
/
[
.
]
/
);
if
(
pos
<
0
)
return
false
;
for
(
var
i
=
pos
+
1
;
i
<
text
.
length
;
++
i
)
{
var
char
=
text
.
charAt
(
i
);
if
(
char
>=
'
1
'
&&
char
<=
'
9
'
)
return
false
;
}
return
true
;
}
}
//字符串格式化 千分位分割
...
...
@@ -11166,7 +11183,6 @@ MinuteChartContainer.JsonDataToMinuteData = function (data)
{
var
preClose
=
data
.
stock
[
0
].
yclose
;
//前一个数据价格
var
preAvPrice
=
data
.
stock
[
0
].
yclose
;
//前一个均价
var
isFund
=
IsFundSymbol
(
data
.
stock
[
0
].
symbol
);
var
aryMinuteData
=
new
Array
();
for
(
var
i
in
data
.
stock
[
0
].
minute
)
{
...
...
@@ -11186,8 +11202,12 @@ MinuteChartContainer.JsonDataToMinuteData = function (data)
item
.
Risefall
=
jsData
.
risefall
;
item
.
AvPrice
=
jsData
.
avprice
;
if
(
!
item
.
Close
&&
isFund
)
item
.
Close
=
preClose
;
if
(
!
item
.
AvPrice
&&
isFund
)
item
.
AvPrice
=
preAvPrice
;
if
(
!
item
.
Close
)
//当前没有价格 使用上一个价格填充
{
item
.
Close
=
preClose
;
item
.
Open
=
item
.
High
=
item
.
Low
=
item
.
Close
;
}
if
(
!
item
.
AvPrice
)
item
.
AvPrice
=
preAvPrice
;
if
(
i
==
0
)
//第1个数据 写死9:25
{
...
...
@@ -11227,11 +11247,13 @@ MinuteChartContainer.JsonDataToMinuteDataArray = function (data)
var
minuteData
=
[];
var
dayData
=
data
.
data
[
i
];
var
date
=
dayData
.
date
;
var
yClose
=
dayData
.
yclose
;
//前收盘 计算涨幅
var
yClose
=
dayData
.
yclose
;
//前收盘 计算涨幅
var
preClose
=
yClose
;
//前一个数据价格
//var preAvPrice=data.stock[0].yclose; //前一个均价
for
(
var
j
in
dayData
.
minute
)
{
var
jsData
=
dayData
.
minute
[
j
];
if
(
jsData
[
2
])
preClose
=
jsData
[
2
];
//保存上一个收盘数据
var
item
=
new
MinuteData
();
item
.
Close
=
jsData
[
2
];
item
.
Open
=
jsData
[
1
];
...
...
@@ -11239,6 +11261,13 @@ MinuteChartContainer.JsonDataToMinuteDataArray = function (data)
item
.
Low
=
jsData
[
4
];
item
.
Vol
=
jsData
[
5
]
/
100
;
//原始单位股
item
.
Amount
=
jsData
[
6
];
if
(
!
item
.
Close
)
//当前没有价格 使用上一个价格填充
{
item
.
Close
=
preClose
;
item
.
Open
=
item
.
High
=
item
.
Low
=
item
.
Close
;
}
if
(
item
.
Close
&&
yClose
)
item
.
Increase
=
(
item
.
Close
-
yClose
)
/
yClose
*
100
;
else
item
.
Increase
=
null
;
item
.
DateTime
=
date
.
toString
()
+
"
"
+
jsData
[
0
].
toString
();
...
...
@@ -12854,7 +12883,7 @@ function ScriptIndex(name, script, args, option) {
if
(
indexParam
.
length
>
0
)
hqChart
.
TitlePaint
[
titleIndex
].
Title
=
this
.
Name
+
'
(
'
+
indexParam
+
'
)
'
;
if
(
hqChart
.
UpdateUICallback
)
hqChart
.
UpdateUICallback
(
'
ScriptIndex
'
,
this
.
OutVar
,
{
WindowIndex
:
windowIndex
,
Name
:
this
.
Name
,
Arguments
:
this
.
Arguments
});
//通知上层回调
{
WindowIndex
:
windowIndex
,
Name
:
this
.
Name
,
Arguments
:
this
.
Arguments
,
HistoryData
:
hisData
});
//通知上层回调
return
true
;
}
...
...
@@ -13042,7 +13071,7 @@ function MarketLongShortIndex()
if
(
i
>
0
)
hqChart
.
TitlePaint
[
titleIndex
].
Data
[
i
].
DataType
=
"
StraightLine
"
;
}
if
(
hqChart
.
UpdateUICallback
)
hqChart
.
UpdateUICallback
(
'
MarketLongShortIndex
'
,
paint
,
{
WindowIndex
:
windowIndex
}
);
//通知上层回调
if
(
hqChart
.
UpdateUICallback
)
hqChart
.
UpdateUICallback
(
'
MarketLongShortIndex
'
,
paint
,
{
WindowIndex
:
windowIndex
,
HistoryData
:
hisData
}
);
//通知上层回调
return
true
;
}
...
...
@@ -13163,7 +13192,7 @@ function MarketTimingIndex()
hqChart
.
TitlePaint
[
titleIndex
].
Data
[
i
].
FloatPrecision
=
0
;
}
if
(
hqChart
.
UpdateUICallback
)
hqChart
.
UpdateUICallback
(
'
MarketTimingIndex
'
,
paint
,
{
WindowIndex
:
windowIndex
});
//通知上层回调
if
(
hqChart
.
UpdateUICallback
)
hqChart
.
UpdateUICallback
(
'
MarketTimingIndex
'
,
paint
,
{
WindowIndex
:
windowIndex
,
HistoryData
:
hisData
});
//通知上层回调
return
true
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录