金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1679|回复: 3

我无论如何都无法得到稳定的数据

[复制链接]

36

主题

136

帖子

146

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
永杰
发表于 2021-7-29 19:44 | 显示全部楼层 |阅读模式
本帖最后由 资深技术01 于 2021-8-3 17:49 编辑

老师您好:
     前面几个帖子,老师给予了我精心指导,但是我无论使用什么方法都无法得到稳定的数据。这次的附件,是完整的程序,我也加入了日志——但是后面循环里面加如日志直接所有品种和周期都得不到数据,所以我注释掉了。
     我前面使用new链表写过一段时间程序,是把所有数据写进一个函数的,前面的帖子发过代码;
     我还使用容器写过一段时间程序,把所有数据写入一个函数,想得到开平仓的信号,前面帖子也发过完整代码;
     因为我前面的尝试都不行,老师告诉我加日志后,我向最近的那个容器写的程序里面加过日志,但是程序会卡死,没有记录到数据。
    这次我把程序完整上传,里面加了日志,就是循环里面的那三行日志加入后程序无法得到数据,所以我注释掉了,老师打开看看就行。
    我测试数据的PEL:
ma1:"STOCKFUNC@BZQMA"(5);
ma2:"STOCKFUNC@BZQMA"(10);
ma3:"STOCKFUNC@BZQMA"(20);
ma4:"STOCKFUNC@BZQMA"(40);
ma5:"STOCKFUNC@BZQMA"(60);
ma6:"STOCKFUNC@BZQMA"(120);
ma7:"STOCKFUNC@BZQMA"(240);
bzq:"STOCKFUNC@CSRQ",NOAXIS;     //就是这个C++函数CSRQ输出函数里面数据是不稳定的,这个CSRQ函数如果放的是里面注释掉的上面那些语句,暂时没有发现数据不稳定,没有注释掉的代码,运行起来个别品种的个别周期会没有任何数据。

   希望老师帮帮忙吧,我二个月的时间,来回修改,找了很多方法,都无法完成程序。如果在PEL里面,这些代码肯定是稳定的,只是PEL里面写太多了会卡。我也发了很多帖子,就是我往往以为解决了问题,后面修改代码到一半又发现了同样的信号不稳定或没有信号的问题。


补充内容 (2021-7-29 19:58):
这次上传的是昨天晚上开始修改的新的写法,把指标分开写的,使用了全局变量

补充内容 (2021-7-29 20:02):
程序还没有修改完,不过上传的这些指标是写完了的,发现个别时候焦煤或焦炭的30分钟没有数据,所以只能求老师帮忙了。

补充内容 (2021-7-29 20:06):
我C++里面定义的那些全局变量,float类型,和均线与轨道、均线与均线的交叉截止,全部写入这个输出函数,所有数据好像都是稳定的。就是后面比较均线的大小加进去以后就不稳定了;

补充内容 (2021-7-29 20:07):
我注释掉的二个普通函数,如果加入这个输出函数,会有更多品种和周期没有数据,我估计是字符串计算比较慢引起的吧

补充内容 (2021-7-30 09:04):
我这个函数,没有注释掉的部分,比代码里面注释掉的部分包含了上面更多的数据,所以我怀疑是数据错过一定数量就会不稳定——个别周期或品种无法得到数据

补充内容 (2021-7-30 09:06):
虽然日志没有记录到下面具体数据运行情况(加上日志那些代码更多品种周期没有数据),但是上面那些日志代码看,得不到数据的品种或周期,咱们的日志也无法记录下为什么没有数据

FmlDevelope.zip

32.59 MB, 下载次数: 2210

回复

使用道具 举报

1

主题

4047

帖子

4047

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2021-7-30 14:47 | 显示全部楼层
本帖最后由 资深技术05 于 2021-7-30 15:03 编辑

粗略的看了下你的代码,觉得你使用的全局变量的方法可能有问题,能使用局部变量解决的不要使用全局的。
使用全局的变量要求非常高。
建议你看下基本的c/c++理论书籍吧,不要好高骛远。
你写的最基础的字符格式化都有问题。
有时间多多补习点基础知识。
先一步一步来,先把写日志的字符格式化写正确,
回复

使用道具 举报

36

主题

136

帖子

146

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
永杰
 楼主| 发表于 2021-7-30 15:06 | 显示全部楼层
好的,谢谢老师。我再试试清空一次怎么样。不过每个分开的函数,运行前还是清空过的。

补充内容 (2021-7-30 15:16):
字符串,我再学习一下,我不是专业的,确实可能出现错误

补充内容 (2021-7-30 15:40):
想了一下,老师还是厉害,我确实存在重复赋值

补充内容 (2021-7-30 16:16):
前面2个月的写法都没有使用全局变量,并且前后都加了清空容器。不过所有代码都写一个输出函数里面了,弄不好中间赋值出现了错误,代码少可以,代码一多就不稳定,所以这次分开写,使用全局变量了

补充内容 (2021-8-3 09:40):
今天代码修改差不多了,证实现在这个方法是可以的,以前的方法应该是重复赋值了,或者一个循环向几个链表赋值导致了赋值错误。这样每个链表(容器)分开函数赋值,就稳定了。
回复

使用道具 举报

36

主题

136

帖子

146

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
永杰
 楼主| 发表于 2021-8-3 17:18 | 显示全部楼层
经过老师的精心指导,总算得到了稳定的信号。
原来的信号不稳定,是因为一个循环内给多个序列变量赋值,导致了不可预测的赋值错误。现在把每个变量单独写成函数,然后再组合起来去写开平信号,信号就稳定了。
再次感谢老师的指导。
捕获.PNG
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 06:20 , Processed in 0.280850 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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