金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 849|回复: 19

同周期引用没有信号出现。

[复制链接]

59

主题

226

帖子

236

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2025-6-14 08:19 | 显示全部楼层 |阅读模式
F8公式:
MACD0 :=C,NODRAW;
T10:=ZIG(MACD0,X/10);
运行公式采用:T10:="F8.T10";short: (CROSS(MACD8,T10)),NODRAW;//&&MACD>=RMACD;
long:(CROSS(T10,MACD8)),NODRAW;//&&MACD<RMACD;

if holding>=0 and short=1 then begin//LONGEND||
   ac:='';//下单账户
         buyhold:=tbuyholdingex(ac,平代码,1);
         sellhold:=tsellholdingex(ac,开代码,1);
   Tsell(holding>0&&buyhold<>0,Lots,mkt,平代码);
   sell(holding>0,Lots,MARKET);
   Tbuyshort(holding=0&&sellhold=0,Lots,mkt,开代码);
   buyshort(holding=0,Lots,MARKET);
end
if holding<=0 and long=1 then begin//SHORTEND||
   ac:='88897558';//下单账户
         buyhold:=tbuyholdingex(ac,开代码,1);
         sellhold:=tsellholdingex(ac,平代码,1);
   Tsellshort(holding<0&&sellhold<>0,Lots,mkt,平代码);
   sellshort(holding<0,Lots,MARKET);
   Tbuy(holding=0&&buyhold=0,Lots,mkt,开代码);
   buy(holding=0,Lots,MARKET);
end


问题:1、有的策略有信号,有没没有。2、运行过程有时候有,有时候没有。3、后台回测也一样。





回复

使用道具 举报

37

主题

9998

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2025-6-15 19:31 | 显示全部楼层
后台引用图表的理论持仓这种混合使用,很容易造成信号闪烁。
图表k线图中运行的公式和后台引用的这个公式,虽然代码一样,但是属于2个策略副本。
副本和副本之间是独立的。他们之间没有任何关联,运行结果受数据量、运行机制等因素的影响,都可能造成结果的差异。

另外后台策略中还使用了zig这类未来函数同样会增加信号闪烁的情况。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

59

主题

226

帖子

236

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2025-6-17 03:29 | 显示全部楼层
技术006 发表于 2025-6-15 19:31
后台引用图表的理论持仓这种混合使用,很容易造成信号闪烁。
图表k线图中运行的公式和后台引用的这个公式 ...

不管我用啥,回测都应该有开仓平仓我。而不是没有数据喔。

补充内容 (2025-6-17 03:31):
K走完模式,回测计算一定会有开平仓。但是没有,这说明回测机制有问题。
回复

使用道具 举报

3

主题

804

帖子

845

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2025-6-17 08:40 | 显示全部楼层
105019 发表于 2025-6-17 03:29
不管我用啥,回测都应该有开仓平仓我。而不是没有数据喔。

补充内容 (2025-6-17 03:31):

条件不成立,就不会有开平仓动作。回测只是基于一段静态的数据计算罢了。

你可以通过msgout或者debugfile2这类函数。在回测中调试相关条件结果,做进一步的定位。
回复

使用道具 举报

59

主题

226

帖子

236

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2025-6-17 10:13 | 显示全部楼层
admin 发表于 2025-6-17 08:40
条件不成立,就不会有开平仓动作。回测只是基于一段静态的数据计算罢了。

你可以通过msgout或者debugf ...

问题是同一数据段有时候有,有时候没有。有时可以回测。

补充内容 (2025-6-17 10:16):
请告知后台回测机制:K走完模式,是不是就拿每根k的静态值,从第一根K开始计算。又有无信号闪烁不重要,关键是它出现信号就开平仓就好了。

补充内容 (2025-6-17 10:19):
我的另一个帖子《 后台精细化回测问题》,老师说信号闪烁不重要。
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-6-17 10:58 | 显示全部楼层
1、你的意思是同一个回测设置,没有做过任何设置变动,两次回测的结果不同?一次是有交易记录,一次是没有?
2、后台中使用走完K线的模式来回测,只是决定了在回测的交易明细中,信号是在下根K线触发。回测都是用固定的静态K线来回测计算的。如果回测报告中没有交易明细,那可以先看下委托明细中是否有记录。如果委托明细中都没有记录,那说明策略在回测中没有满足策略的开平仓条件,那就需要借助debugfile或debugfile2调试函数,在策略中加上输出语句,这样在回测的计算过程中,会输出条件的值,以此可以判断是什么条件不满足导致的没有委托记录。
3、另外需要指出下,你1楼的F8公式,如果你要引用F8公式中的T10指标,这个T10是不能加=号的,否则会引用不到这个值的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

59

主题

226

帖子

236

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2025-6-17 11:30 | 显示全部楼层
技术010 发表于 2025-6-17 10:58
1、你的意思是同一个回测设置,没有做过任何设置变动,两次回测的结果不同?一次是有交易记录,一次是没有 ...

逐条:
1、对的,不同电脑都不同。
2、后台中使用走完K线的模式来回测,只是决定……。我要确认的问题是回测机制是从第一根开始吧?如果是,意味我无论用不用未来函数,只要前面开的仓,即使后来信号消失,再次出现相同信号,如果没有buyhold:=tbuyholdingex(ac,平代码,1);结果就是多开一手而已,而有了则不会开,因此测试是准确的。
3、谢谢提醒,是笔误。
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-6-17 13:11 | 显示全部楼层
本帖最后由 技术010 于 2025-6-17 13:18 编辑

1、不同电脑之间,那可能性就很大了啊,数据原因,设置的原因。你这种问题如果要想知道回测是为什么没有结果,其实也很简单,直接加debugfile就只能知道原因的。如果要我们协助,那你需要把你的后台程序化的设置,回测的设置和完整的公式发我们,我们才可能进一步的排除的。单看你的这段代码,是分析不出原因的。我们唯一能确定的,没有回测结果,那就是在回测时没有计算出信号,至于为什么,那要调试之后才知道,大概率的原因还是和数据有关。
2、回测过程中,自然不会有信号消失一说。从K线的第一根到最后一根,从前到后只计算一遍。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

59

主题

226

帖子

236

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2025-6-17 15:08 | 显示全部楼层
技术010 发表于 2025-6-17 13:11
1、不同电脑之间,那可能性就很大了啊,数据原因,设置的原因。你这种问题如果要想知道回测是为什么没有结 ...

针对第2点,从前到后计算一遍,这对ZIG函数来说,实时与回测完全一致?这样理解对不?

补充内容 (2025-6-17 15:09):
第1点,我已经规避了数据不一致的问题,结果一样的。

补充内容 (2025-6-17 15:11):
是不是回测有要选公式的只刷最后K的问题?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-6-17 15:38 | 显示全部楼层
1、实际运行和回测的机制还是有区别的,无法保证回测的结果和实际运行的结果是一样的。更何况你的这个策略结构里有设计到引用,还有图表和后台函数的混搭使用,更无法保证了。
2、逐K+仅刷最后一根K线是一种策略运行模式,是逐K模式中的一种,该模式和回测无关啊。你的策略因为涉及到BUY,SELL这类图表函数,策略只能使用逐K模式。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 15:11 , Processed in 0.143244 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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