提交 fe902cb0 编写于 作者: J jones

ver 6179

上级 0f7c9b23
......@@ -8,7 +8,7 @@
"name": "Python: Test Case",
"type": "python",
"request": "launch",
"program": "${workspaceRoot}/umychart_complier_testcase.py",
"program": "${workspaceRoot}\\umychart_complier_testcase.py",
"console": "integratedTerminal"
}
]
......
version = '1.0.1'
__version__ = (1, 0, 1)
from umychart.python import *
\ No newline at end of file
from umychart_python import *
\ No newline at end of file
......@@ -654,7 +654,7 @@ class ChartData:
i,j =0,0
while i<dataLen :
date=self.Data[i].Date
if j>=overlayData.length :
if j>=len(overlayData) :
i+=1
continue
......@@ -677,4 +677,37 @@ class ChartData:
return result
# 缺省数据使用 emptyValue填充
def GetFittingData2(self,overlayData,defaultValue) :
dataLen=len(self.Data)
result=JSComplierHelper.CreateArray(dataLen)
i,j = 0,0
while i<dataLen :
date=self.Data[i].Date
if j>=len(overlayData) :
result[i]=SingleData()
result[i].Date=date
result[i].Value=defaultValue
i+=1
continue
overlayDate=overlayData[j].Date
if overlayDate==date :
item=SingleData()
item.Date=overlayData[j].Date
item.Value=overlayData[j].Value
result[i]=item
j+=1
i+=1
elif overlayDate<date :
j+=1
else :
result[i]=SingleData()
result[i].Date=date
result[i].Value=defaultValue
i+=1
return result
......@@ -52,6 +52,7 @@ class JSComplier:
execute.JobList=parser.Node.GetDataJobList()
result=execute.Execute()
print('[JSComplier.Execute] execute finish.')
return result
@staticmethod # 修改API地址
......@@ -96,6 +97,7 @@ class ScriptIndexConsole:
execute.JobList=parser.Node.GetDataJobList()
result=Variant()
result.Stock=Variant()
result.Error=None
result.OutVar=execute.Execute()
print('[ScriptIndexConsole.ExecuteScript] execute finish.')
......
......@@ -190,13 +190,13 @@ class JSExecute :
stick=True
elif (value=='VOLSTICK') :
volStick=True
elif (value.indexOf('COLOR')==0) :
color=True
elif (value.indexOf('LINETHICK')==0) :
lineWidth=True
elif (value.indexOf('NODRAW')==0) :
elif (value.find('COLOR')==0) :
color=value
elif (value.find('LINETHICK')==0) :
lineWidth=value
elif (value.find('NODRAW')==0) :
isShow=False
elif (value.indexOf('EXDATA')==0) :
elif (value.find('EXDATA')==0) :
isExData=True # 扩展数据, 不显示再图形里面
elif (itemExpression.Type==Syntax.Literal) : #常量
......@@ -373,7 +373,7 @@ class JSExecute :
elif funcName=='FINANCE':
node.Out=self.SymbolData.GetFinanceCacheData(args[0],node)
elif funcName=="MARGIN":
node.Out=self.SymbolData.GetMarginCacheData(args[0],node)
node.Out=self.SymbolData.GetMarginCacheData(int(args[0]),node)
elif funcName=="HK2SHSZ":
node.Out=self.SymbolData.GetHKToSHSZCacheData(args[0],node)
elif funcName=="NEWS":
......
......@@ -709,9 +709,9 @@ class JSParser:
self.Context.IsBindingElement=False
expr=self.InheritCoverGrammar(self.ParseGroupExpression)
else :
expr=self.ThrowUnexpectedToken(self.NextToken())
self.ThrowUnexpectedToken(self.NextToken())
else :
expr = self.ThrowUnexpectedToken(self.NextToken())
self.ThrowUnexpectedToken(self.NextToken())
return expr
......
import sys
from umychart_complier_jscomplier import JSComplier, SymbolOption, HQ_DATA_TYPE
from umychart_complier_jscomplier import ScriptIndexConsole, ScriptIndexItem, SymbolOption, RequestOption, HQ_DATA_TYPE, ArgumentItem
class TestCase :
......@@ -246,6 +245,12 @@ def Test_FINANCE(): # 财务数据测试
'SAR(10,2,20);',
'BACKSET(CLOSE>OPEN,2);',
'TT:DYNAINFO(13);',
'T2:MARGIN(1);',
'T5:MARGIN(6);',
"上涨家数:UPCOUNT('CNA.CI'),COLORRED;",
"下跌家数:DOWNCOUNT('CNA.CI'),COLORGREEN;",
"TTTT:NEWS(2)+NEWS(4);",
"TTT2:NEWS(1);",
])
result=case.Run()
......@@ -268,7 +273,11 @@ def Test_ScriptIndexConsole():
right=1, # 复权 0 不复权 1 前复权 2 后复权
period=5 # 周期 0=日线 1=周线 2=月线 3=年线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟
)
indexConsole.ExecuteScript(option)
result=indexConsole.ExecuteScript(option)
if not result.Error :
print('run successfully.')
......
......@@ -6766,7 +6766,7 @@ function JSSymbolData(ast,option,jsExecute)
for(let i in allData)
{
let aryFixedData=this.Data.GetFittingData(allData[i].Data);
let aryFixedData=this.SourceData.GetFittingData(allData[i].Data);
var bindData=new ChartData();
bindData.Data=aryFixedData;
......
......@@ -6766,7 +6766,7 @@ function JSSymbolData(ast,option,jsExecute)
for(let i in allData)
{
let aryFixedData=this.Data.GetFittingData(allData[i].Data);
let aryFixedData=this.SourceData.GetFittingData(allData[i].Data);
var bindData=new ChartData();
bindData.Data=aryFixedData;
......
......@@ -6766,7 +6766,7 @@ function JSSymbolData(ast,option,jsExecute)
for(let i in allData)
{
let aryFixedData=this.Data.GetFittingData(allData[i].Data);
let aryFixedData=this.SourceData.GetFittingData(allData[i].Data);
var bindData=new ChartData();
bindData.Data=aryFixedData;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册