vnpy3.6的安装指南中只有从pip上安装的指引,如果我要修改源代码,如何从本地源代码安装?原来的python setup.py install已经废弃了。
我在win7-Python3.8.10上用源代码安装vnpy库,在安装ta-lib库时警告winerror 5拒绝访问,我的环境能安装成功吗?
当我从2.7更新到2.8时,出错,提示:
Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\vnstation\ui\update\update_dialog.py", line 119, in on_updater_failed
self.notify(f"更新失败:{u.vi.name}")
File "c:\vnstudio\lib\site-packages\vnstation\ui\update\update_dialog.py", line 104, in notify
self._append_text(text)
File "c:\vnstudio\lib\site-packages\vnstation\ui\update\update_dialog.py", line 88, in _append_text
self.text.append(text)
RuntimeError: wrapped C/C++ object of type QTextEdit has been deleted
怎么办?
amplitude_volatility_strategy.py
def on_bars(self, bars: Dict[str, BarData]):
""""""
self.cancel_all()
for vt_symbol, bar in bars.items():
am: ArrayManager = self.ams[vt_symbol]
am.update_bar(bar)
amplitude = (am.high() - am.low()) / am.open()
backtesting.py
show_result(AmplitudeVolatilityStrategy)
2021-09-03 12:59:53.723812 触发异常,回测终止
2021-09-03 12:59:53.725859 Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\vnpy\app\portfolio_strategy\backtesting.py", line 192, in run_backtesting
self.new_bars(dt)
File "c:\vnstudio\lib\site-packages\vnpy\app\portfolio_strategy\backtesting.py", line 521, in new_bars
self.strategy.on_bars(bars)
File "C:\zwrk\vnpy\dev\amplitude_volatility_strategy.py", line 119, in on_bars
amplitude = (am.high() - am.low()) / am.open()
TypeError: 'numpy.ndarray' object is not callable
ArrayManager中有high函数呀,怎么回事?
from datetime import datetime
from importlib import reload
import vnpy.app.portfolio_strategy
reload(vnpy.app.portfolio_strategy)
from vnpy.app.portfolio_strategy import BacktestingEngine
from vnpy.trader.constant import Interval
import amplitude_volatility_strategy as avs
reload(avs)
from amplitude_volatility_strategy import AmplitudeVolatilityStrategy
import pandas as pd
def set_ratio(num):
d = {}
for i in vt_symbols:
d[i] = num
return d
path = 'instruments1.csv'
instruments_df = pd.read_csv(path)
vt_symbols = instruments_df['instrument_full'].to_list()
def show_result(strategy):
engine = BacktestingEngine()
rates = set_ratio(0)
engine.set_parameters(
vt_symbols=vt_symbols,
interval=Interval.DAILY,
start=datetime(2019, 1, 1),
end=datetime(2021, 7, 8),
rates=set_ratio(1/1000),
slippages=set_ratio(0),
sizes=set_ratio(1),
priceticks=set_ratio(0.01),
capital=30_000,
)
engine.add_strategy(strategy, {})
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()
engine.calculate_statistics()
engine.show_chart()
show_result(AmplitudeVolatilityStrategy)
AttributeError Traceback (most recent call last)
<ipython-input-13-420dd1322ecb> in <module>
5 # "rebalance_days": 1
6 #}
----> 7 show_result(AmplitudeVolatilityStrategy)<ipython-input-5-ecbf17cc2e5d> in show_result(strategy)
24 )
25
---> 26 engine.add_strategy(strategy, {})
27 engine.load_data()
28 engine.run_backtesting()
c:\vnstudio\lib\site-packages\vnpy\app\portfolio_strategy\backtesting.py in add_strategy(self, strategy_class, setting)
115 """"""
116 self.strategy = strategy_class(
--> 117 self, strategy_class.name, copy(self.vt_symbols), setting
118 )
119
C:\zwrk\vnpy\dev\amplitude_volatility_strategy.py in init(self, strategy_engine, strategy_name, vt_symbols, setting)
64 pass
65 self.bgs[vt_symbol] = BarGenerator(on_bar)
---> 66 self.ams[vt_symbol] = ArrayManager()
67
68 def on_init(self):
c:\vnstudio\lib\enum.py in getattr(cls, name)
346 return cls._membermap[name]
347 except KeyError:
--> 348 raise AttributeError(name) from None
349
350 def getitem(cls, name):
AttributeError: Day
怎么回事呀?
win10 vn station 2.4.8更新提示“部分包更新失败”,“更新失败:vnstation
b"ERROR: Could not install packages due to an OSError: [WinError 5] \xbe\xdc\xbe\xf8\xb7\xc3\xce\xca\xa1\xa3: 'C:\\Users\\user\\AppData\\Local\\Temp\\pip-uninstall-f4_8p3um\\vnstation.exe'\r\nConsider using the --user
option or check the permissions.\r\n\r\n"” 怎么办?
win10 vn station 2.4.8更新看不到“更新”按钮,怎么办?
好像这个论坛不会发邮件给用户相关的回复帖子,建议这个论坛用邮件提醒用户相关的贴子和回复。加速用户之间的沟通。
我用csv loader导入csv文件后,时间格式填写为%Y/%m/%d :%H:%m:%s,时间字段是“2018/06/01 00:01”,导入后变成"1899/12/30 00:00:00",这是怎么回事呀?