金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3334|回复: 5

程序问题

[复制链接]

90

主题

279

帖子

279

积分

等级: 免费版

注册:
2022-3-20
曾用名:
发表于 2023-4-21 16:38 | 显示全部楼层 |阅读模式
主程序调用用户指标,用户指标里有未来函数,主程序信号是固定的,没有闪烁,但是收盘结束自动交易后刷新数据,或者重新编译主程序,信号就变了呢?
按理说,同一个数据,用户函数计算出的结果也应该是闪烁的,因此主程序里也应该是闪烁的,
但实际上运行中并没有闪烁,而刷新数据才变动,这是为什么?是否跟用户函数的序列模式有关?
另外,发现一个小问题,图表上资产曲线数据为什么在运行中缺失了一段?而收盘刷新后才恢复正常?
50-3.png
如图,白线是自动交易中的资产曲线,少了一段没画出来,这是啥道理?

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-4-21 16:48 | 显示全部楼层
本帖最后由 技术010 于 2023-4-21 16:54 编辑

1、那是因为你的主程序用的是逐K+仅刷最后一根的模式吧,这种模式是记内存模式,在运行过程中,引用到的数据都是存在内存中的,不会用到未来,但是一旦重新刷新数据或重新编译,那等于历史K线上重新计算了一遍,那就历史上就引用到未来了,就造成了信号的变化啊。
2、那先输出资产的值,看资产值是不是有输出,这个要调试下你的代码了,看你代码是如何写的,可以提供个范例我们测试下。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

90

主题

279

帖子

279

积分

等级: 免费版

注册:
2022-3-20
曾用名:
 楼主| 发表于 2023-4-21 17:27 | 显示全部楼层
技术010 发表于 2023-4-21 16:48
1、那是因为你的主程序用的是逐K+仅刷最后一根的模式吧,这种模式是记内存模式,在运行过程中,引用到的数 ...

是的,但是引用到的指标也是根据最新价格在计算的啊,比如说c,难道说最新k线上,它只计算一次?主程序仅刷最后一根K,在最新k上数据也是实时变动不停计算的,难道这个不叫刷新吗?在最新k上信号始终都是没有闪烁,k线收盘以后历史信号也没有变动,而是要重新编译或者整个图表都重新刷新,历史信号才变动。这个跟未来函数在主程序上的表现不同,正常情况是会实时变化的,不会说等历史k线刷新才变化,k线收盘后是不会变化的就成了历史k线,并不是因为历史k线数据变动造成信号变化的。所以正常情况是最新k线的数据造成历史信号变化,而不是相反。我不明白的是这个。
资产问题就不说了,也是小问题。
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-4-21 17:39 | 显示全部楼层
1、这个是刷新啊,但是不是回刷历史K线。仅刷最后一根K,是在运行过程中,是不会回刷历史K线的,在最新的K线上还是刷新计算的啊,只是不会引起历史上的指标值的变化,那历史上信号就不会闪了,但是最新K线如果用c来计算,那最新K线上的信号是可能闪烁的啊。
2、回刷历史K线和在最新的K线上刷新,不是一个意思。逐K+仅刷,历史K线上是不回刷的,那历史K线上引用的值就是固定的在内存中的,就是不会变化的,只有编译或图表上刷新或重新加载,都会对历史K线上重刷刷一遍的,才可能导致了历史信号的变化啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

90

主题

279

帖子

279

积分

等级: 免费版

注册:
2022-3-20
曾用名:
 楼主| 发表于 2023-4-21 21:19 | 显示全部楼层
技术010 发表于 2023-4-21 17:39
1、这个是刷新啊,但是不是回刷历史K线。仅刷最后一根K,是在运行过程中,是不会回刷历史K线的,在最新的K ...

我知道是刷新也不是刷历史k线,历史k线数据引用过来也是固定的,我也知道,问题就在于最新k上的数据在未来函数的情况下会影响最新k包括历史k线上的信号,历史k线上的信号和历史k线数据不是一个概念,未来函数会根据最新数据去修改最新k上的信号包括历史信号,但是现在的情况是它并没有去修改,比如说在最新k上出现某个信号后本来随后数据不满足条件,该信号应该消失,但它并没有变动,跟正常情况不同,我就不明白这是什么原因,这本来不是非要编译或者人为刷新图表数据才会变动的。

补充内容 (2023-4-21 21:21):
就跟你说的例如c,本来最新k上信号是可能闪烁的,但它并没有闪烁,我就问这个。

补充内容 (2023-4-21 21:32):
未来函数修改历史信号是要对历史k线数据刷新重新计算?不是这样的吧
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-4-23 08:20 | 显示全部楼层
新版本为了提供效率,只在特定情况下才会从新刷新全部历史数据,策略只实时在最新k上进行计算。当存在未来的公式运行时,只要不重刷那么都是当时计算的结果。不会实时矫正结果。单独使用close不算未来。除非是小周期引用大周期。
你这种可以在公式编辑中,取消勾线【仅刷最后一根k】。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-25 20:29 , Processed in 0.108676 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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