@Channelchan
2018-11-16T02:52:50.000000Z
字数 12275
阅读 4353
参数与变量的区别: 参数用来传递,变量是随着过程的赋值改变的
ArrayManager: 生成数组插入与管理数据对象
"""
这里的Demo是一个最简单的双均线策略实现
"""
from __future__ import division
from vnpy.trader.vtConstant import *
from vnpy.trader.app.ctaStrategy.ctaBarManager import CtaTemplate
import numpy as np
import talib as ta
from datetime import timedelta
########################################################################
# 策略继承CtaTemplate
class DoubleMaStrategy(CtaTemplate):
"""双指数均线策略Demo"""
className = 'DoubleMaStrategy'
author = 'ChannelCMT'
# 策略参数
barPeriod = 200
fastWindow = 60 # 快速均线参数
slowWindow = 120 # 慢速均线参数
# 参数列表,保存了参数的名称
paramList = ['name',
'className',
'author',
'fastWindow',
'slowWindow']
# 变量列表,保存了变量的名称
varList = ['barPeriod']
# 同步列表,保存了需要保存到数据库的变量名称
syncList = ['posDict', 'eveningDict']
#----------------------------------------------------------------------
def __init__(self, ctaEngine, setting):
# 首先找到策略的父类(就是类CtaTemplate),然后把DoubleMaStrategy的对象转换为类CtaTemplate的对象
super().__init__(ctaEngine, setting)
#----------------------------------------------------------------------
def onInit(self):
"""初始化策略(必须由用户继承实现)"""
self.writeCtaLog(u'双EMA演示策略初始化')
# 生成Bar数组
self.setArrayManagerSize(self.barPeriod)
# self.fastMa0 = {s: 0 for s in self.symbolList} # 当前最新的快速EMA
# self.fastMa1 = {s: 0 for s in self.symbolList} # 上一根的快速EMA
# self.slowMa0 = {s: 0 for s in self.symbolList} # 当前最新的慢速EMA
# self.slowMa1 = {s: 0 for s in self.symbolList} # 上一根的慢速EMA
self.mail("chushihuaaaaaaaaaaaaaaaaaaaaaaaaa")
self.putEvent()
#----------------------------------------------------------------------
def onStart(self):
"""启动策略(必须由用户继承实现)"""
self.writeCtaLog(u'双EMA演示策略启动')
self.putEvent()
#----------------------------------------------------------------------
def onStop(self):
"""停止策略(必须由用户继承实现)"""
self.writeCtaLog(u'策略停止')
self.putEvent()
#----------------------------------------------------------------------
def onTick(self, tick):
"""收到行情TICK推送(必须由用户继承实现)"""
pass
#----------------------------------------------------------------------
def onBar(self, bar):
"""收到Bar推送(必须由用户继承实现)"""
symbol = bar.vtSymbol
am = self.getArrayManager(symbol, "1m")
if not am.inited:
return
# 计算策略需要的信号-------------------------------------------------
fastMa = ta.EMA(am.close, self.fastWindow)
slowMa = ta.EMA(am.close, self.slowWindow)
crossOver = fastMa[-1]>slowMa[-1] and fastMa[-2]<=slowMa[-2] # 金叉上穿
crossBelow = fastMa[-1]<slowMa[-1] and fastMa[-2]>=slowMa[-2] # 死叉下穿
print('crossOver:',crossOver)
print('crossBelow:',crossBelow)
# 构建进出场逻辑-------------------------------------------------
# 金叉和死叉的条件是互斥
if crossOver:
# 如果金叉时手头没有持仓,则直接做多
if (self.posDict[symbol+'_LONG']==0) and (self.posDict[symbol+'_SHORT']==0):
self.buy(symbol, bar.close*1.02, 1)
# 如果有空头持仓,则先平空,再做多
elif self.posDict[symbol+'_SHORT'] >0:
self.cancelAll()
self.cover(symbol,bar.close*1.02, 1)
self.buy(symbol,bar.close*1.02, 1)
# 死叉和金叉相反
elif crossBelow :
if (self.posDict[symbol+'_LONG']==0) and (self.posDict[symbol+'_SHORT']==0):
self.short(symbol,bar.close*0.98, 1)
elif self.posDict[symbol+'_LONG'] >0:
self.cancelAll()
self.sell(symbol,bar.close*0.98, 1)
self.short(symbol,bar.close*0.98, 1)
# 发出状态更新事件
self.putEvent()
#----------------------------------------------------------------------
def onOrder(self, order):
"""收到委托变化推送(必须由用户继承实现)"""
# 对于无需做细粒度委托控制的策略,可以忽略onOrder
# print(u'出现未知订单,需要策略师外部干预,ID:%s, symbol:%s,direction:%s,offset:%s'% (order.vtOrderID, order.vtSymbol, order.direction, order.offset))
pass
#----------------------------------------------------------------------
def onTrade(self, trade):
"""收到成交推送(必须由用户继承实现)"""
pass
#----------------------------------------------------------------------
def onStopOrder(self, so):
"""停止单推送"""
pass
from vnpy.trader.app.ctaStrategy.ctaBarManager import BacktestingEngine
import pandas as pd
def runBacktesting(strategyClass, settingDict,
startDate, endDate, size, slippage, rate):
engine = BacktestingEngine()
engine.setBacktestingMode(engine.BAR_MODE) # 设置引擎的回测模式为K线
engine.setDatabase('VnTrader_1Min_Db') # 设置使用的历史数据库
engine.setStartDate(startDate, initHours=200) # 设置回测用的数据起始日期
engine.setEndDate(endDate) # 设置回测用的数据结束日期
engine.setSize(size) # 设置合约大小
engine.setSlippage(slippage) # 设置滑点
engine.setRate(rate) # 设置手续费万0.3
engine.initStrategy(strategyClass, settingDict)
engine.setCapital(100000) # 设置回测本金
engine.setLog(True, 'E://log//')
engine.runBacktesting()
#显示逐日回测结果
engine.showDailyResult()
#显示逐笔回测结果
engine.showBacktestingResult()
# 计算回测结果
perfromance = engine.calculateDailyResult()
perfromanceDf , result = engine.calculateDailyStatistics(perfromance)
tradeReport = pd.DataFrame([obj.__dict__ for obj in engine.tradeDict.values()])
tradeDf = tradeReport.set_index('dt')
return perfromanceDf, tradeDf
if __name__ == '__main__':
# 同时传入信号与执行的数据
performanceReport, tradeReport = \
runBacktesting(DoubleMaStrategy, {'symbolList': ['BTCUSDT:binance',
# 'EOSUSDT:binance',
# 'ETHUSDT:binance'
# 'eos_quarter:OKEX'
# 'tEOSUSD:bitfinex'
]},
'20181001 12:00', '20181031 16:00', 100, 0, 5/10000)
# tradeReport.to_excel('DoubleMaStrategyReport.xlsx')
仓位字典构造完成
初始仓位: {'BTCUSDT:binance_LONG': 0, 'BTCUSDT:binance_SHORT': 0}
[DEBUG] 注册品种BTCUSDT:binance上的on_1m_bar函数functools.partial(<function DoubleMaStrategy.onBar at 0x0000023AE949CD08>, <__main__.DoubleMaStrategy object at 0x0000023AF2F8E6A0>)
2018-11-12 12:34:48.540222 开始回测
2018-11-12 12:34:48.540222 策略初始化
2018-11-12 12:34:48.541221 载入历史数据。数据范围:[20180923 04:00,20181001 12:00)
2018-11-12 12:34:49.644092 当前品种 BTCUSDT:binance 的数据,全部来自于本地缓存
2018-11-12 12:34:49.652084 载入完成,数据量:12000
2018-11-12 12:34:49.652084 策略初始化完成
2018-11-12 12:34:49.652084 策略启动完成
2018-11-12 12:34:49.652084 开始回放回测数据,回测范围:[20181001 12:00,20181031 16:00)
2018-11-12 12:34:49.655081 载入历史数据。数据范围:[20181001 12:00,20181031 16:00)
2018-11-12 12:34:53.524124 当前品种 BTCUSDT:binance 的数据,全部来自于本地缓存
2018-11-12 12:34:53.539109 载入完成,数据量:43230
2018-11-12 12:34:53.539109 当前回放数据:[20181001 12:00,20181031 16:00)
[INFO] 品种BTCUSDT:binance开始生成未完成的1mK线数据,时间起点为:20181001120000
2018-11-12 12:34:53.542108 载入历史数据。数据范围:[20180930 05:51,20181003 12:01)
2018-11-12 12:34:53.981656 当前品种 BTCUSDT:binance 的数据,全部来自于本地缓存
2018-11-12 12:34:53.984653 载入完成,数据量:4690
[INFO] 品种BTCUSDT:binance的历史1mK线更新,范围为:[20181001084100 , 20181001120000]
[INFO] 品种BTCUSDT:binance的1mK线准备就绪,当前K线时间为20181001120000
crossOver: False
crossBelow: False
[INFO] 品种BTCUSDT:binance开始生成1mK线数据,时间起点为:20181001120100
crossBelow: False
crossOver: False
crossBelow: False
2018-11-12 12:35:22.038958 数据回放结束
2018-11-12 12:35:22.040955 策略日志已生成
2018-11-12 12:35:22.040955 计算按日统计结果
2018-11-12 12:35:22.061934 ------------------------------
2018-11-12 12:35:22.061934 首个交易日: 2018-10-01 00:00:00
2018-11-12 12:35:22.061934 最后交易日: 2018-10-31 00:00:00
2018-11-12 12:35:22.061934 总交易日: 31
2018-11-12 12:35:22.061934 盈利交易日 6
2018-11-12 12:35:22.061934 亏损交易日: 25
2018-11-12 12:35:22.061934 起始资金: 100000
2018-11-12 12:35:22.061934 结束资金: -38,585.84
2018-11-12 12:35:22.061934 总收益率: -138.59%
2018-11-12 12:35:22.061934 年化收益: -1,072.92%
2018-11-12 12:35:22.061934 总盈亏: -138,585.84
2018-11-12 12:35:22.061934 最大回撤: -133,746.1
2018-11-12 12:35:22.061934 百分比最大回撤: -140.55%
2018-11-12 12:35:22.061934 总手续费: 169,290.84
2018-11-12 12:35:22.061934 总滑点: 0
2018-11-12 12:35:22.061934 总成交金额: 338,581,671.0
2018-11-12 12:35:22.061934 总成交笔数: 517
2018-11-12 12:35:22.061934 日均盈亏: -4,470.51
2018-11-12 12:35:22.061934 日均手续费: 5,460.99
2018-11-12 12:35:22.061934 日均滑点: 0.0
2018-11-12 12:35:22.061934 日均成交金额: 10,921,989.39
2018-11-12 12:35:22.061934 日均成交笔数: 16.68
2018-11-12 12:35:22.061934 日均收益率: -9.02%
2018-11-12 12:35:22.061934 收益标准差: 49.5%
2018-11-12 12:35:22.061934 Sharpe Ratio: -2.82
2018-11-12 12:35:23.297671 策略回测绩效图已保存
tradeReport
direction | exchange | exchangeOrderID | fee | gatewayName | offset | orderID | orderTime | price | price_avg | rawData | status | symbol | tradeID | tradeTime | volume | vtOrderID | vtSymbol | vtTradeID | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dt | |||||||||||||||||||
2018-10-01 12:53:00 | 空 | 0.0 | 开仓 | 1 | 6628.99 | 0.0 | None | 1 | 2018-10-01 12:53:00 | 1 | 1 | BTCUSDT:binance | 1 | ||||||
2018-10-01 16:59:00 | 多 | 0.0 | 平仓 | 2 | 6632.49 | 0.0 | None | 2 | 2018-10-01 16:59:00 | 1 | 2 | BTCUSDT:binance | 2 | ||||||
2018-10-01 16:59:00 | 多 | 0.0 | 开仓 | 3 | 6632.49 | 0.0 | None | 3 | 2018-10-01 16:59:00 | 1 | 3 | BTCUSDT:binance | 3 | ||||||
2018-10-01 17:36:00 | 空 | 0.0 | 平仓 | 4 | 6620.01 | 0.0 | None | 4 | 2018-10-01 17:36:00 | 1 | 4 | BTCUSDT:binance | 4 | ||||||
2018-10-01 17:36:00 | 空 | 0.0 | 开仓 | 5 | 6620.01 | 0.0 | None | 5 | 2018-10-01 17:36:00 | 1 | 5 | BTCUSDT:binance | 5 | ||||||
2018-10-01 21:04:00 | 多 | 0.0 | 平仓 | 6 | 6613.38 | 0.0 | None | 6 | 2018-10-01 21:04:00 | 1 | 6 | BTCUSDT:binance | 6 | ||||||
2018-10-01 21:04:00 | 多 | 0.0 | 开仓 | 7 | 6613.38 | 0.0 | None | 7 | 2018-10-01 21:04:00 | 1 | 7 | BTCUSDT:binance | 7 | ||||||
2018-10-01 21:34:00 | 空 | 0.0 | 平仓 | 8 | 6587.01 | 0.0 | None | 8 | 2018-10-01 21:34:00 | 1 | 8 | BTCUSDT:binance | 8 | ||||||
2018-10-01 21:34:00 | 空 | 0.0 | 开仓 | 9 | 6587.01 | 0.0 | None | 9 | 2018-10-01 21:34:00 | 1 | 9 | BTCUSDT:binance | 9 | ||||||
2018-10-02 00:41:00 | 多 | 0.0 | 平仓 | 10 | 6589.54 | 0.0 | None | 10 | 2018-10-02 00:41:00 | 1 | 10 | BTCUSDT:binance | 10 | ||||||
2018-10-02 00:41:00 | 多 | 0.0 | 开仓 | 11 | 6589.54 | 0.0 | None | 11 | 2018-10-02 00:41:00 | 1 | 11 | BTCUSDT:binance | 11 | ||||||
2018-10-02 03:32:00 | 空 | 0.0 | 平仓 | 12 | 6571.28 | 0.0 | None | 12 | 2018-10-02 03:32:00 | 1 | 12 | BTCUSDT:binance | 12 | ||||||
2018-10-02 03:32:00 | 空 | 0.0 | 开仓 | 13 | 6571.28 | 0.0 | None | 13 | 2018-10-02 03:32:00 | 1 | 13 | BTCUSDT:binance | 13 | ||||||
2018-10-02 05:29:00 | 多 | 0.0 | 平仓 | 14 | 6624.41 | 0.0 | None | 14 | 2018-10-02 05:29:00 | 1 | 14 | BTCUSDT:binance | 14 | ||||||
2018-10-02 05:29:00 | 多 | 0.0 | 开仓 | 15 | 6624.41 | 0.0 | None | 15 | 2018-10-02 05:29:00 | 1 | 15 | BTCUSDT:binance | 15 | ||||||
2018-10-02 07:23:00 | 空 | 0.0 | 平仓 | 16 | 6582.02 | 0.0 | None | 16 | 2018-10-02 07:23:00 | 1 | 16 | BTCUSDT:binance | 16 | ||||||
2018-10-02 07:23:00 | 空 | 0.0 | 开仓 | 17 | 6582.02 | 0.0 | None | 17 | 2018-10-02 07:23:00 | 1 | 17 | BTCUSDT:binance | 17 | ||||||
2018-10-02 07:46:00 | 多 | 0.0 | 平仓 | 18 | 6598.03 | 0.0 | None | 18 | 2018-10-02 07:46:00 | 1 | 18 | BTCUSDT:binance | 18 | ||||||
2018-10-02 07:46:00 | 多 | 0.0 | 开仓 | 19 | 6598.03 | 0.0 | None | 19 | 2018-10-02 07:46:00 | 1 | 19 | BTCUSDT:binance | 19 | ||||||
2018-10-02 08:36:00 | 空 | 0.0 | 平仓 | 20 | 6596.40 | 0.0 | None | 20 | 2018-10-02 08:36:00 | 1 | 20 | BTCUSDT:binance | 20 | ||||||
2018-10-02 08:36:00 | 空 | 0.0 | 开仓 | 21 | 6596.40 | 0.0 | None | 21 | 2018-10-02 08:36:00 | 1 | 21 | BTCUSDT:binance | 21 | ||||||
2018-10-02 09:41:00 | 多 | 0.0 | 平仓 | 22 | 6601.66 | 0.0 | None | 22 | 2018-10-02 09:41:00 | 1 | 22 | BTCUSDT:binance | 22 | ||||||
2018-10-02 09:41:00 | 多 | 0.0 | 开仓 | 23 | 6601.66 | 0.0 | None | 23 | 2018-10-02 09:41:00 | 1 | 23 | BTCUSDT:binance | 23 | ||||||
2018-10-02 12:07:00 | 空 | 0.0 | 平仓 | 24 | 6603.85 | 0.0 | None | 24 | 2018-10-02 12:07:00 | 1 | 24 | BTCUSDT:binance | 24 | ||||||
2018-10-02 12:07:00 | 空 | 0.0 | 开仓 | 25 | 6603.85 | 0.0 | None | 25 | 2018-10-02 12:07:00 | 1 | 25 | BTCUSDT:binance | 25 | ||||||
2018-10-02 12:33:00 | 多 | 0.0 | 平仓 | 26 | 6615.11 | 0.0 | None | 26 | 2018-10-02 12:33:00 | 1 | 26 | BTCUSDT:binance | 26 | ||||||
2018-10-02 12:33:00 | 多 | 0.0 | 开仓 | 27 | 6615.11 | 0.0 | None | 27 | 2018-10-02 12:33:00 | 1 | 27 | BTCUSDT:binance | 27 | ||||||
2018-10-02 14:22:00 | 空 | 0.0 | 平仓 | 28 | 6602.11 | 0.0 | None | 28 | 2018-10-02 14:22:00 | 1 | 28 | BTCUSDT:binance | 28 | ||||||
2018-10-02 14:22:00 | 空 | 0.0 | 开仓 | 29 | 6602.11 | 0.0 | None | 29 | 2018-10-02 14:22:00 | 1 | 29 | BTCUSDT:binance | 29 | ||||||
2018-10-02 20:37:00 | 多 | 0.0 | 平仓 | 30 | 6591.02 | 0.0 | None | 30 | 2018-10-02 20:37:00 | 1 | 30 | BTCUSDT:binance | 30 | ||||||
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2018-10-30 00:31:00 | 空 | 0.0 | 平仓 | 488 | 6361.54 | 0.0 | None | 488 | 2018-10-30 00:31:00 | 1 | 488 | BTCUSDT:binance | 488 | ||||||
2018-10-30 00:31:00 | 空 | 0.0 | 开仓 | 489 | 6361.54 | 0.0 | None | 489 | 2018-10-30 00:31:00 | 1 | 489 | BTCUSDT:binance | 489 | ||||||
2018-10-30 06:53:00 | 多 | 0.0 | 平仓 | 490 | 6340.65 | 0.0 | None | 490 | 2018-10-30 06:53:00 | 1 | 490 | BTCUSDT:binance | 490 | ||||||
2018-10-30 06:53:00 | 多 | 0.0 | 开仓 | 491 | 6340.65 | 0.0 | None | 491 | 2018-10-30 06:53:00 | 1 | 491 | BTCUSDT:binance | 491 | ||||||
2018-10-30 10:05:00 | 空 | 0.0 | 平仓 | 492 | 6349.92 | 0.0 | None | 492 | 2018-10-30 10:05:00 | 1 | 492 | BTCUSDT:binance | 492 | ||||||
2018-10-30 10:05:00 | 空 | 0.0 | 开仓 | 493 | 6349.92 | 0.0 | None | 493 | 2018-10-30 10:05:00 | 1 | 493 | BTCUSDT:binance | 493 | ||||||
2018-10-30 10:28:00 | 多 | 0.0 | 平仓 | 494 | 6351.71 | 0.0 | None | 494 | 2018-10-30 10:28:00 | 1 | 494 | BTCUSDT:binance | 494 | ||||||
2018-10-30 10:28:00 | 多 | 0.0 | 开仓 | 495 | 6351.71 | 0.0 | None | 495 | 2018-10-30 10:28:00 | 1 | 495 | BTCUSDT:binance | 495 | ||||||
2018-10-30 10:31:00 | 空 | 0.0 | 平仓 | 496 | 6348.98 | 0.0 | None | 496 | 2018-10-30 10:31:00 | 1 | 496 | BTCUSDT:binance | 496 | ||||||
2018-10-30 10:31:00 | 空 | 0.0 | 开仓 | 497 | 6348.98 | 0.0 | None | 497 | 2018-10-30 10:31:00 | 1 | 497 | BTCUSDT:binance | 497 | ||||||
2018-10-30 10:41:00 | 多 | 0.0 | 平仓 | 498 | 6356.00 | 0.0 | None | 498 | 2018-10-30 10:41:00 | 1 | 498 | BTCUSDT:binance | 498 | ||||||
2018-10-30 10:41:00 | 多 | 0.0 | 开仓 | 499 | 6356.00 | 0.0 | None | 499 | 2018-10-30 10:41:00 | 1 | 499 | BTCUSDT:binance | 499 | ||||||
2018-10-30 15:55:00 | 空 | 0.0 | 平仓 | 500 | 6367.31 | 0.0 | None | 500 | 2018-10-30 15:55:00 | 1 | 500 | BTCUSDT:binance | 500 | ||||||
2018-10-30 15:55:00 | 空 | 0.0 | 开仓 | 501 | 6367.31 | 0.0 | None | 501 | 2018-10-30 15:55:00 | 1 | 501 | BTCUSDT:binance | 501 | ||||||
2018-10-30 19:52:00 | 多 | 0.0 | 平仓 | 502 | 6360.38 | 0.0 | None | 502 | 2018-10-30 19:52:00 | 1 | 502 | BTCUSDT:binance | 502 | ||||||
2018-10-30 19:52:00 | 多 | 0.0 | 开仓 | 503 | 6360.38 | 0.0 | None | 503 | 2018-10-30 19:52:00 | 1 | 503 | BTCUSDT:binance | 503 | ||||||
2018-10-30 22:14:00 | 空 | 0.0 | 平仓 | 504 | 6351.41 | 0.0 | None | 504 | 2018-10-30 22:14:00 | 1 | 504 | BTCUSDT:binance | 504 | ||||||
2018-10-30 22:14:00 | 空 | 0.0 | 开仓 | 505 | 6351.41 | 0.0 | None | 505 | 2018-10-30 22:14:00 | 1 | 505 | BTCUSDT:binance | 505 | ||||||
2018-10-31 04:59:00 | 多 | 0.0 | 平仓 | 506 | 6343.27 | 0.0 | None | 506 | 2018-10-31 04:59:00 | 1 | 506 | BTCUSDT:binance | 506 | ||||||
2018-10-31 04:59:00 | 多 | 0.0 | 开仓 | 507 | 6343.27 | 0.0 | None | 507 | 2018-10-31 04:59:00 | 1 | 507 | BTCUSDT:binance | 507 | ||||||
2018-10-31 05:41:00 | 空 | 0.0 | 平仓 | 508 | 6330.15 | 0.0 | None | 508 | 2018-10-31 05:41:00 | 1 | 508 | BTCUSDT:binance | 508 | ||||||
2018-10-31 05:41:00 | 空 | 0.0 | 开仓 | 509 | 6330.15 | 0.0 | None | 509 | 2018-10-31 05:41:00 | 1 | 509 | BTCUSDT:binance | 509 | ||||||
2018-10-31 06:47:00 | 多 | 0.0 | 平仓 | 510 | 6334.85 | 0.0 | None | 510 | 2018-10-31 06:47:00 | 1 | 510 | BTCUSDT:binance | 510 | ||||||
2018-10-31 06:47:00 | 多 | 0.0 | 开仓 | 511 | 6334.85 | 0.0 | None | 511 | 2018-10-31 06:47:00 | 1 | 511 | BTCUSDT:binance | 511 | ||||||
2018-10-31 07:02:00 | 空 | 0.0 | 平仓 | 512 | 6323.07 | 0.0 | None | 512 | 2018-10-31 07:02:00 | 1 | 512 | BTCUSDT:binance | 512 | ||||||
2018-10-31 07:02:00 | 空 | 0.0 | 开仓 | 513 | 6323.07 | 0.0 | None | 513 | 2018-10-31 07:02:00 | 1 | 513 | BTCUSDT:binance | 513 | ||||||
2018-10-31 11:30:00 | 多 | 0.0 | 平仓 | 514 | 6339.18 | 0.0 | None | 514 | 2018-10-31 11:30:00 | 1 | 514 | BTCUSDT:binance | 514 | ||||||
2018-10-31 11:30:00 | 多 | 0.0 | 开仓 | 515 | 6339.18 | 0.0 | None | 515 | 2018-10-31 11:30:00 | 1 | 515 | BTCUSDT:binance | 515 | ||||||
2018-10-31 14:06:00 | 空 | 0.0 | 平仓 | 516 | 6336.30 | 0.0 | None | 516 | 2018-10-31 14:06:00 | 1 | 516 | BTCUSDT:binance | 516 | ||||||
2018-10-31 14:06:00 | 空 | 0.0 | 开仓 | 517 | 6336.30 | 0.0 | None | 517 | 2018-10-31 14:06:00 | 1 | 517 | BTCUSDT:binance | 517 |