用ini文件跟策略实时交互的范例(基于Ptrade)

乐游胡子
乐游胡子 任何事情都需要倾入热情。

1 人点赞了该文章 · 1349 浏览

最近一段时间比较忙,比较没时间关注百果,今天发现很多网友对《Ptrade中读取ini配置文件范例》比较感兴趣,可能是大家有较多的人机互动的需求,感觉能够和机器做较为良好的互动是一件比较有意思的事情吧。


Ptrade能够较便捷地使用各种文件,并且进行较为及时的输入输出确实是很方便的,也比一般的较为封闭的程序化交易软件更开放、更易用些。

与策略进行交互的意义:

1、输出部分,在策略实际运行中的每个关键节点进行一些日志的打印、输出落地,这个部分有利于我们观测策略的实际运行的一些关键动作是否有如预期执行,也比较方便地查缺补漏。这部分的使用可以让我们加深对策略实际运行的理解,以及避免一些潜在的错误难于发现,特别是落地之后的文件可以长期保存,如果有必要,还能够回头盘后来仔细研读。

2、输入部分,我们经常使用ini文件作为交互媒介,可以在不停止运行中的策略下,从外部对策略进行一些输入,比如一个写好的框架,里面支持10只股票的跟踪和监控,但是一开始策略上线的时候,我们只选好2只,这时候我们完全可以先上线策略,后续有其他想要增加的目标了,再通过ini文件进行配置。或者有时,我们一个策略跑了5只股票的跟踪和监控,但是有一只股票有异常情况,我们需要紧急干预一下,这时候我们就可以通过实时交互的INI文件,临时关停对应的标的,等等。

3、综合运用部分,除了以上说的一些使用,其实还有更复杂的使用,比如可以用交互文件实现多策略的协同工作之类的,当然,这个部分就需要能更好地运用代码,避免不同策略对交互文件读取中产生的冲突而导致的一些异常,这里暂不多说了。


学会Ptrade里策略跟人的多种交互场景的运用,对后续较大规模的策略运用确实有比较大的用处。基于以上想法,今天我写了一个加强版的ini配置文件使用的范例教程。

范例特点:

1、对策略中常用的几种读入INI文件的地方进行了使用(初始化读入,盘前读入,按指定频率的读入,按指定时间读入等等),便于我们了解ini文件读入的具体使用场景。

2、通过仿真运行,打印日志的方式,可视化的呈现了ini文件在不同代码位置使用下的实际效果

3、通过手工修改ini文件,实时与策略进行了模拟实盘过程中的人机交互,并且在日志中打印和显示了出来,加深大家对通过ini 文件与策略进行交互的过程有一个感性认识。




源码放在附件内了,有兴趣的朋友按需自取。

附件列表

范例000_plus 关于ini配置文件交互运用的范例.zip

2KB

29.99

线上付款

发布于 2024-05-10 11:29

免责声明:

本文由 乐游胡子 原创发布于 百果量化交流平台 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

乐游胡子
2024-11-25 10:29
@10119038DZ 如果要跟A策略交互,那你的A策略里面肯定需要有对应的代码能读取ini呀,不是张三写的策略,随便就可以读取李四的ini的,需要写策略的时候就安排好读取的接口
乐游胡子
2024-11-25 10:28
@10119038DZ 这个范例是一个最简单的策略读取ini文件的示例,是可以实际操作的方法,但是大家使用的用途不同,所以需要根据自己策略方向调整使用的方法,比如如果需要策略能较高频率读取ini就可以考虑把读取ini文件的代码段写到一个定时器(比如10S一次那种定时器)里,如果是需要盘尾操作的,就可以把读取ini文件的代码段写一个指定时间点的定时器里面
10119038DZ
2024-11-14 14:49
我账号内有不止一个策略在运行,如何使用这个策略对其中代码进行交互?
10119038DZ
2024-11-14 14:47
老师,这个策略有使用说明吗?
10119038DZ
2024-11-14 12:26
感谢老师的回复。我需要的就是在盘中对在运行的策略进行“微调”。老师上面的这个“范例000_plus 关于ini配置文件交互运用的范例.zip”是一个可实际操作的策略吗? 还有一个问题:如何使用,也是需要老师能给予“售后”指导。 我还仔细查看了老师发布的其他量化策略,只是还没弄明白其功能,如合适(实用)也是需要的。 谢谢!!!
乐游胡子
2024-11-13 21:41
@10119038DZ 实际上INI可以用在不同地方,取决于你要怎么用。如果要盘中修改ini,那对应的策略内部,就应该写成能及时读入ini的变动。
10119038DZ
2024-11-12 20:37
10119038DZ
2024-11-12 12:45
这份ini文件是可以在交易实盘过程对策略进行“微调”的?例如:对股票增减,对资金限额调整等。是这样理解吗?谢谢