当前位置: 首页 > news >正文

网站建设高级wordpress本地优化加速版

网站建设高级,wordpress本地优化加速版,宝安附近做网站公司,网站建设报价方案模板Backtrader 文档学习-Strategy with Signals backtrader可以不通过重写策略的方式触发交易#xff0c;尽管重写策略是首选通用的方式。 下面介绍通过使用信号也是可以实现交易触发的。 1.定义signal import backtrader as btdata bt.feeds.OneOfTheFeeds(datanamemydatana…Backtrader 文档学习-Strategy with Signals backtrader可以不通过重写策略的方式触发交易尽管重写策略是首选通用的方式。 下面介绍通过使用信号也是可以实现交易触发的。 1.定义signal import backtrader as btdata bt.feeds.OneOfTheFeeds(datanamemydataname) cerebro.adddata(data)cerebro.add_signal(bt.SIGNAL_LONGSHORT, MySignal) cerebro.run()做多收盘价高于简单移动平均线做空收盘价低于简单移动平均线 class MySignal(bt.Indicator):lines (signal,)params ((period, 30),)def __init__(self):self.lines.signal self.data - bt.indicators.SMA(periodself.p.period)执行run时Cerebro将实例化一个知道如何处理信号的特殊策略实例。 2. 初始化的问题 买入/卖出操作数量是如何确定的 cerebro实例会自动向策略添加一个固定大小的sizer。用户可以使用cerebro.addsizer更改sizer来更改策略 。 订单是如何执行的 执行类型为Market有效期至取消 。 3.Signals 技术细节 调用时返回另一个对象的可调用对象(仅一次)在大多数情况下是类的实例化支持__getitem__接口。唯一请求的键/索引将设置为0 从实操的角度说明上面的例子 来自BT的生态系统的Line对象主要是一个指标类。 如在示例中使用简单移动平均线。 4.Signals indications 当用signal[0]查询时指示其含义是: 大于0 做多指示小于0 做空指示等于0 不信号指示 信号的产生是 self.data - SMA data在SMA上做多 data在SMA下做空 如果没有特殊制定都是使用的close数值 5. Signal分类 有5种类型的信号分为2组。 1主组 LONGSHORT signal接受long 和 short 信号LONG long 做多short 在做多的位置上平仓 但是:如果是 LONGEXIT 退出做多如果是 SHORT 非 LONGEXIT , 在做空之前平仓。 SHORT short 继续做空long 做空过程中平仓 但是:如果是 SHORTEXIT 退出做空如果是 LONG 非 SHORTEXIT , 开多仓之前先平仓。 2退出组 两个信号覆盖其他信号并为多头/空头仓位的出场提供信号 LONGEXIT: 做空信号退出做多位置SHORTEXIT: 做多信号退出做空位置 6. Accumulation and Order Concurrency 样本信号会持续发出多头和空头指示从close中减去SMA值这个值总是大于0或者小于0 。 因此持续触发order 将出现两个情况 Accumulation: 即使已经在市场上挂单signal也会产生新的订单增加市场中的头寸 。 Concurrency: 无需等待其他订单的执行即可生成新订单产生并发。 在默认设置下累积和并发是禁止的 。 不允许累积 不允许并发 如果要启用累积和并发通过cerebro设置相应参数即可 cerebro.signal_accumulate(True) (or False to re-disable it) cerebro.signal_concurrency(True) (or False to re-disable it) 7.示例 主信号 class SMACloseSignal(bt.Indicator):lines (signal,)params ((period, 30),)def __init__(self):self.lines.signal self.data - bt.indicators.SMA(periodself.p.period)退出信号 class SMAExitSignal(bt.Indicator):lines (signal,)params ((p1, 5), (p2, 30),)def __init__(self):sma1 bt.indicators.SMA(periodself.p.p1)sma2 bt.indicators.SMA(periodself.p.p2)self.lines.signal sma1 - sma21long and short ./signals-strategy.py --plot --signal longshort 策略真的是多空双向的可以看到的现金水平永远不会等于价值水平 。即使是一个愚蠢的想法……(而且没有佣金)这个策略也没有赔钱 。 2long only ./signals-strategy.py --plot --signal longonly 每次卖出后现金水平回到价值水平意味着该策略退出了市场旁注:同样没有金钱损失… 3short only ./signals-strategy.py --plot --signal shortonly 第一个操作是预期的销售发生在上述两个示例中的第一个操作之后。直到收盘低于均线简单的减法得到一个负号 - 每次买入后现金水平回到价值水平意味着该策略退出了市场旁注:最后系统赔钱了 4long longexit ./signals-strategy.py --plot --signal longonly --exitsignal longexit 很多交易都是一样但是有些交易会因为快速移动平均线穿过慢速移动平均线向下移动而中断系统显示了它的longonly属性现金成为每笔交易结束时的价值旁注:再次赚钱…即使修改交易 5代码 from __future__ import (absolute_import, division, print_function,unicode_literals)import argparse import collections import datetimeimport backtrader as btMAINSIGNALS collections.OrderedDict(((longshort, bt.SIGNAL_LONGSHORT),(longonly, bt.SIGNAL_LONG),(shortonly, bt.SIGNAL_SHORT),) )EXITSIGNALS {longexit: bt.SIGNAL_LONGEXIT,shortexit: bt.SIGNAL_LONGEXIT, }class SMACloseSignal(bt.Indicator):lines (signal,)params ((period, 30),)def __init__(self):self.lines.signal self.data - bt.indicators.SMA(periodself.p.period)class SMAExitSignal(bt.Indicator):lines (signal,)params ((p1, 5), (p2, 30),)def __init__(self):sma1 bt.indicators.SMA(periodself.p.p1)sma2 bt.indicators.SMA(periodself.p.p2)self.lines.signal sma1 - sma2def runstrat(argsNone):args parse_args(args)cerebro bt.Cerebro()cerebro.broker.set_cash(args.cash)dkwargs dict()if args.fromdate is not None:fromdate datetime.datetime.strptime(args.fromdate, %Y-%m-%d)dkwargs[fromdate] fromdateif args.todate is not None:todate datetime.datetime.strptime(args.todate, %Y-%m-%d)dkwargs[todate] todate# if dataset is None, args.data has been givendata bt.feeds.BacktraderCSVData(datanameargs.data, **dkwargs)cerebro.adddata(data)cerebro.add_signal(MAINSIGNALS[args.signal],SMACloseSignal, periodargs.smaperiod)if args.exitsignal is not None:cerebro.add_signal(EXITSIGNALS[args.exitsignal],SMAExitSignal,p1args.exitperiod,p2args.smaperiod)cerebro.run()if args.plot:pkwargs dict(stylebar)if args.plot is not True: # evals to True but is not Truenpkwargs eval(dict( args.plot )) # args were passedpkwargs.update(npkwargs)cerebro.plot(**pkwargs)def parse_args(pargsNone):parser argparse.ArgumentParser(formatter_classargparse.ArgumentDefaultsHelpFormatter,descriptionSample for Signal concepts)parser.add_argument(--data, requiredFalse,default./datas/2005-2006-day-001.txt,helpSpecific data to be read in)parser.add_argument(--fromdate, requiredFalse, defaultNone,helpStarting date in YYYY-MM-DD format)parser.add_argument(--todate, requiredFalse, defaultNone,helpEnding date in YYYY-MM-DD format)parser.add_argument(--cash, requiredFalse, actionstore,typefloat, default50000,help(Cash to start with))parser.add_argument(--smaperiod, requiredFalse, actionstore,typeint, default30,help(Period for the moving average))parser.add_argument(--exitperiod, requiredFalse, actionstore,typeint, default5,help(Period for the exit control SMA))parser.add_argument(--signal, requiredFalse, actionstore,defaultMAINSIGNALS[longshort], choicesMAINSIGNALS,help(Signal type to use for the main signal))parser.add_argument(--exitsignal, requiredFalse, actionstore,defaultNone, choicesEXITSIGNALS,help(Signal type to use for the exit signal))# Plot optionsparser.add_argument(--plot, -p, nargs?, requiredFalse,metavarkwargs, constTrue,help(Plot the read data applying any kwargs passed\n\nFor example:\n\n --plot stylecandle (to plot candles)\n))if pargs is not None:return parser.parse_args(pargs)return parser.parse_args()if __name__ __main__:runstrat()help参数说明 python ./signals-strategy.py --help usage: signals-strategy.py [-h] [--data DATA] [--fromdate FROMDATE][--todate TODATE] [--cash CASH][--smaperiod SMAPERIOD] [--exitperiod EXITPERIOD][--signal {longshort,longonly,shortonly}][--exitsignal {longexit,shortexit}][--plot [kwargs]]Sample for Signal conceptsoptional arguments:-h, --help show this help message and exit--data DATA Specific data to be read in (default:./datas/2005-2006-day-001.txt)--fromdate FROMDATE Starting date in YYYY-MM-DD format (default: None)--todate TODATE Ending date in YYYY-MM-DD format (default: None)--cash CASH Cash to start with (default: 50000)--smaperiod SMAPERIODPeriod for the moving average (default: 30)--exitperiod EXITPERIODPeriod for the exit control SMA (default: 5)--signal {longshort,longonly,shortonly}Signal type to use for the main signal (default: 1)--exitsignal {longexit,shortexit}Signal type to use for the exit signal (default: None)--plot [kwargs], -p [kwargs]Plot the read data applying any kwargs passed Forexample: --plot stylecandle (to plot candles)(default: None)
http://www.zqtcl.cn/news/555219/

相关文章:

  • 公司在兰州要做网站怎样选择做网站数据库表各字段详情
  • 营销型网站建设的要素搭建本地网站
  • 深圳网站建设V芯ee8888ewordpress瀑布流主 #65533;
  • 股票交易网站开发angular2做的网站有
  • 如何建立免费个人网站angularjs 网站开发
  • 湖南信息网官方网站安徽省房地产开发项目管理系统
  • a5建站无限动力网站
  • 南京网站建设王道下拉??怎么做免费网站推
  • WordPress站群 管理icp备案网站管理员有负责吗
  • 智慧团建官方网站登录做网站网站的虚拟空间
  • 自己做网站成本推广代理平台
  • wamp搭建多个网站网站设计方面有什么公司
  • 九江集团网站建设app广告对接平台
  • 个人网页网站制作模板搜索引擎营销经典案例
  • 北京自助建站系统思茅区建设局网站
  • 国外被动收入网站做的好的成都网站建设 川icp备
  • 网站的微信推广怎么做php在电子商务网站建设中的应用研究 戴书浩
  • 中山做网站有什么做logo网站
  • 建设网站要什么手续义乌简游网络科技有限公司
  • 深圳做企业网站的音乐网站设计
  • 互联网网站如何做菜鸟教程自学网
  • 网站模板上传工具网站报名照片怎么做
  • 做网站如何备案东城做企业网站多少钱
  • 建设手机网站的目的广告制作行业发展前景
  • 手工艺品网站建设目的长春有哪些网络设计公司
  • 重庆建设工程招标网站淮南58同城网
  • 有域名在本机上做网站psd素材
  • 做拍拍拍拍网站网站宣传的劣势
  • 建设银行官方网站诚聘英才亚马逊店铺出售网站
  • 佛山房地产网站建设万网域名查询接口