[关闭]
@Channelchan 2018-01-06T15:00:41.000000Z 字数 1355 阅读 125173

6. 时间控制

不隔周策略

scheduler.run_weekly(buy, tradingday=1, time_rule=market_open(minute=10))

scheduler.run_weekly(close, tradingday=-1, time_rule=market_close(minute=10))

不隔夜策略

scheduler.run_daily(buy,time_rule=market_open(minute=10))

scheduler.run_daily(close, time_rule=market_close(minutue=10))

  1. ## 具体不隔周例子:
  2. import rqalpha
  3. from rqalpha.api import *
  4. def init(context):
  5. context.s1 = '000001.XSHE'
  6. scheduler.run_weekly(buy, tradingday=1, time_rule=market_open(minute=10))
  7. scheduler.run_weekly(close, tradingday=-1, time_rule=market_close(minute=10))
  8. def handle_bar(context, bar_dict):
  9. pass
  10. def buy(context, bar_dict):
  11. cur_position = context.portfolio.positions[context.s1].quantity
  12. if cur_position==0:
  13. order_target_percent(context.s1, 1)
  14. print('buy:', context.now)
  15. def close(context, bar_dict):
  16. cur_position = context.portfolio.positions[context.s1].quantity
  17. if cur_position>0:
  18. order_target_value(context.s1, 0)
  19. print('close:', context.now)
  20. config = {
  21. "base": {
  22. "start_date": "2017-10-20",
  23. "end_date": "2017-11-21",
  24. "accounts": {'stock':1000000},
  25. "benchmark": "000001.XSHE"
  26. },
  27. "extra": {
  28. "log_level": "error",
  29. },
  30. # "mod": {
  31. # "sys_analyser": {
  32. # "enabled": True,
  33. # "plot": True
  34. # }
  35. # }
  36. }
  37. rqalpha.run_func(init=init, handle_bar=handle_bar, config=config)
buy: 2017-10-23 15:00:00
close: 2017-10-27 15:00:00
buy: 2017-10-30 15:00:00
close: 2017-11-03 15:00:00
buy: 2017-11-06 15:00:00
close: 2017-11-10 15:00:00
buy: 2017-11-13 15:00:00
close: 2017-11-17 15:00:00
buy: 2017-11-20 15:00:00
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注