Type/to search
0
Follow
1
Followers
python的MACD双坐标轴,现在改了一些语法但是还是不能正常运行,错误主要来自Chart对象,应该怎么继续改呢
Help
Created 2019-12-31 13:21:25  
 1
 1925

import json
chart = {
'__isStock': True,
'title': {
'text': '测试API :Chart({...}) '
},
'yAxis': {
'plotLines': [{
'value': 4520,
'color': 'red',
'width': 2,
'label': {
'text': 'line1',
'align': 'center'
},
}, {
'value': 4500,
'color': 'green',
'width': 2,
'label': {
'text': 'line2',
'align': 'center'
},
}]
},
'series': [{
'type': 'candlestick',
'name': '当前周期',
'id': 'primary',
'data': []
}]
}

preTime = 0

def main():
global chart # 记得 引用全局
Log(exchange.GetAccount())
exchange.SetContractType('rb000')
exchange.SetRate(1)
records = None
ChartObj = Chart(chart)
#ChartObj = ext.GetCfg()

records = exchange.GetRecords()
while((records is None) or len(records) < 30):
records = exchange.GetRecords()
LogStatus("records.length:", len(records))
Sleep(1000)

ext.PlotRecords(records, 'OK期货');
ext.PlotLine('dif', 0, records[len(records) - 1].Time)
ext.PlotLine('dea', 0, records[len(records) - 1].Time)
chart = ext.PlotLine('macd', 0, records[len(records)- 1].Time)

# 修改指标线 坐标轴Y轴
for key in ChartObj.series:
if(ChartObj.series[key].name == 'dif' or ChartObj.series[key].name == 'dea' or ChartObj.series[key].name == 'macd'):
ChartObj.series[key].yAxis = 1

chart.update(ChartObj)
chart.reset()
while(true):
records = exchange.GetRecords()
if(len(records) > 50):
ext.PlotRecords(records, 'OK期货')
MACD = TA.MACD(records)
dif = MACD[0]
dea = MACD[1]
macd = MACD[2]
if preTime != records[records.length - 1].Time:
ext.PlotLine('dif', dif[dif.length - 2], records[records.length - 2].Time)
ext.PlotLine('dea', dea[dea.length - 2], records[records.length - 2].Time)
ext.PlotLine('macd', macd[macd.length - 2], records[records.length - 2].Time)

ext.PlotLine('dif', dif[dif.length - 1], records[records.length - 1].Time)
ext.PlotLine('dea', dea[dea.length - 1], records[records.length - 1].Time)
ext.PlotLine('macd', macd[macd.length - 1], records[records.length - 1].Time)

preTime = records[records.length - 1].Time
else:
ext.PlotLine('dif', dif[dif.length - 1], records[records.length - 1].Time)
ext.PlotLine('dea', dea[dea.length - 1], records[records.length - 1].Time)
ext.PlotLine('macd', macd[macd.length - 1], records[records.length - 1].Time)

LogStatus("records.length:", records.length, records[records.length - 1])
Sleep(1000)

Related Recommendations
Comment
All comments (1)

    错误信息贴出来

    7 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)