409 Star 1.8K Fork 768

GVPfasiondog / hikyuu

 / 详情

无法根据信号强弱来确定买卖数量

待办的
创建于  
2022-12-02 22:59

自定义信号指示器(SignalBase)时,只有简单的_add_sell_signal和_add_buy_signal,来确定买和卖,能否在这两个函数中增加一个标识信号强弱的参数(一个浮点数值),这个参数最后传递给自定义资金管理策略(MoneyManagerBase)的_get_buy_num和_get_sell_num,然后在自定义的资金管理策略,就可以根据信号强弱来确定买卖的数量了

评论 (3)

pangcong_e12e 创建了任务
pangcong_e12e 修改了描述
pangcong_e12e 修改了描述
pangcong_e12e 修改了描述
pangcong_e12e 修改了描述
展开全部操作日志

我后面看下

整体用下来,真心感觉不错,一般的业余投研都挺适合。
但是说实话,整个项目有两大缺陷:
1,买卖信号和交易执行是分开的,相当于买卖信号是提前计算,速度是快了,但是无法实时根据当前持仓来判断买卖和买卖量,同样,也无法根据信号强度大小来决定买卖量。还有比如股票,想通过PE值这样一些当天财报信息来决定买卖也无法做到
2,不支持期货
这两点要解决,整体框架都得变...

感谢细致的尝试! 信号强弱等后面加下不难,要稍等会,最近有点缺时间。

  1. “PE值这样一些当天财报信息来决定买卖”应该是信号的一部分,不应该是做不到
  2. “无法实时根据当前持仓来判断买卖和买卖量”,这个同样是需要通过资金管理来处理,里面是可以通过 tm 获取到当前持仓的。
    关键是要习惯把信号和资金管理拆分出来,这个和事件处理那种只在当前时刻处理所有事情的面条方式有点不一样,估计也是最难的。我的做法是按组件一条条中文先写,然后才去实现,类似下面这样:
    市场条件:
    系统条件:
    信号发生器:
    资金管理:

合约类的交易支持(期货)在开发中,不过最近缺时间,有点慢。

至于真正实时或者高频类的,我估计你指的是当增加一条数据时(一个bar或tick),只需要计算当前值(历史计算信息需要被保存),涉及到关联的指标/系统策略等的同步更新计算。这个主要是还没到进展那一步,很早之前就有考虑过,后来主要还是先集中在快速全市场回测上,以后还是会补上来。至于整理框架会不会变,虽然我觉得考虑过这个问题,但我不能给你肯定的答复,但有一个原则,不管怎么变,对项目而言其上层的使用方式都会尽可能保持不变。

再次感谢细致的评估!

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
3859 fasiondog 1578914213
C++
1
https://gitee.com/fasiondog/hikyuu.git
git@gitee.com:fasiondog/hikyuu.git
fasiondog
hikyuu
hikyuu

搜索帮助