金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1350|回复: 10

对非交易时段(埋单)功能的建议

[复制链接]

30

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2024-9-22
曾用名:
发表于 2024-10-13 13:42 | 显示全部楼层 |阅读模式
金字塔的优点很多,特别是序列变量和逐K线模式这些基本框架,非常好,逻辑清晰,速度飞快。但是本着软件更优秀,用户更满意的出发点,还是想提一点建议:对于软件定义的“非交易时段”,PEL语言功能有点弱,是可以操作,但是也仅仅是可以,因为基本处于数据真空,几乎没有任何历史交易数据可用。

问题来自于我自己做期货交易的一个操作需求:每天收盘把未成交的开仓平仓挂单都记录下来,然后夜盘2100之前,再原封不动的数量价格重新挂单上去。单就这个问题,我前面已经发帖求助了,版主也热心解答,学习之后,还是觉得单独提个建议更好。
版主给的意见是要用WRITEINIFILE 或者 SETREVAL,总之就是必须写到电脑本地硬盘才行。在策略对应多品种时,就需要读写每一个品种名称,这里我不清楚软件遍历每个品种运行时,会不会引发重复的下单指令。另外,写在本地,也就意味着日盘夜盘不能使用不同的电脑操作。
情况就是这么个情况,如果没有好的解决方案,我可能只有每天自己手动去做这个工作,记录收盘,开盘再挂单。当然也许是我还对软件不熟,实际有很好的解决方案。
那就是意外之喜,等版主和高手点拨。先谢了?
回复

使用道具 举报

37

主题

9995

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-10-13 16:57 | 显示全部楼层
所谓的交易时段和数据没有关系,非交易时段指的是无法连续委托交易的时间,这个时间内,策略只要执行同样会使用对应的历史数据进行运行。

软件不支持云备份或者云同步类的功能。你提及到的不同计算机的环境下执行。你可以考虑直接使用云服务器。这样就不需要两个环境交替使用了。




金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2024-9-22
曾用名:
 楼主| 发表于 2024-10-13 17:26 | 显示全部楼层
主要是未成交托单,交易所清零就读不到,也无法保存在程序。这个理解了,毕竟是基于本地执行的。
写了一组读写本地文件来实现的代码,老师帮看一下是否可行,另一个问题就是,TBUY这个语句,会不会重复执行很多次?如果是,那要新设一个全局变量去控制吗

IF DYNAINFO(207)>150000 AND DYNAINFO(207)<150500 THEN                                                                    //盘后记录未成交开仓单
BEGIN
WRITEINIFILE('C:\DAILI_'+'.ini',STKLABEL+'UBQ', 'UBQ',TGLOBALSUBMITEX(1,'','',0));
WRITEINIFILE('C:\DAILI_'+'.ini',STKLABEL+'UBP', 'UBP',TORDERPRICE(1,1));
END

IF DYNAINFO(207)>205500 AND DYNAINFO(207)<205600 THEN                                                                    //开盘重新挂单
TBUY(GETINIFILE('C:\DAILI_'+'.ini',STKLABEL +'UBQ','UBQ')>0,GETINIFILE('C:\DAILI_'+'.ini',STKLABEL +'UBQ','UBQ'),  LMT,GETINIFILE('C:\DAILI_'+'.ini',STKLABEL +'UBP','UBP'));




回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-10-14 08:58 | 显示全部楼层
1、逻辑结构没有问题,只是这个触发写INI文件的时间估计不能这样写,行情时间DYNAINFO(207)是不会大于150000的,可以使用本地计算机时间来控制条件,且要设置非交易时段也要执行后台程序化才可以。
2、这个不会多次触发。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2024-9-22
曾用名:
 楼主| 发表于 2024-10-14 09:49 | 显示全部楼层
非交易时间 dynainfo(207)就没有取值了。是这样吗?
本地时间那就是CURRENTTIME
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-10-14 09:51 | 显示全部楼层
是的,盘后取到的也一直是最新的150000,就不会更新这个时间了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2024-9-22
曾用名:
 楼主| 发表于 2024-10-14 09:52 | 显示全部楼层
好的,谢谢!
我改一下
回复

使用道具 举报

30

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2024-9-22
曾用名:
 楼主| 发表于 2024-10-19 18:25 | 显示全部楼层
IF  CURRENTTIME>205500 AND CURRENTTIME<205600 THEN
HP:=HIGH;

这个时间段不在任何一根K线上,比如用上面的语句,取值15点最后一根K线高点,成立吗?
或者HP:=HIGH[BARPOS-1];
回复

使用道具 举报

30

主题

198

帖子

198

积分

Rank: 4

等级: 专业版

注册:
2024-9-22
曾用名:
 楼主| 发表于 2024-10-20 17:11 | 显示全部楼层
回复

使用道具 举报

37

主题

9995

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-10-21 08:10 | 显示全部楼层
Solo 发表于 2024-10-19 18:25
IF  CURRENTTIME>205500 AND CURRENTTIME

取得到,这时的15点的k,属于历史k
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-28 03:36 , Processed in 0.180441 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表