金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 105280

图表信息汇总到全局变量问题

 关闭 [复制链接]

1

主题

12

帖子

22

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-9-19 22:06 | 显示全部楼层
07老师好,作为一个已经使用金字塔有四五年的老用户,以及算是相对资深的量化交易者,本次我要认真的就这个问题提出来,也即我前面已经多少提到过的,如今面对AI工具能搭建起来的各种量化平台,金字塔有其核心优势,绝非短期之内能替代的,那就是多策略组合交易的高效性的工具项和流程链,但这么久以来,我没有看到官方文本或论坛中,就这一目的实现的哪怕粗略的框架性的描述。实践中,我与某些朋友交流中,几乎都是自己思考摸索——尽管金字塔有足够的工具和选项可以实现,但,如何实现是一条符合于金字塔原初设计的最合理准确路径?这个只有平台核心设计者才是最明白的,尤其是——多策略信号的头寸加总与联结后台交易执行的核心流程,到底如何设计才是底层代码最有效支持的,而非是交易员自我想象拼凑的结果?可以的话,我想能与核心架构师做一个简单交流,以便于我们这些使用者对工具和流程更有信心,以及使用的更加得心应手。
回复

使用道具 举报

1

主题

12

帖子

22

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-9-19 22:50 | 显示全部楼层
补充:由后台预警驱动的“前台图表策略”(仅用于生产策略信号),其信号生成机制与真正的前台图表窗口加载得到的图形信号都有哪些个机制的不同?何以两种方式,至少在我目前这几天里,前者大量丢失了后者的信号? 毕竟,我们信任前台图表信号与历史回测是一致的,没这个信任,量化的基础就缺失了。我能想到的:1、加载的K线长度不一致,但后台预警即使从860提升到1500,就不会丢信号了么,假如计算长度要求更长呢?尤其是引用大期指标,STKINDIEX函数是否就不受本期长度引用的限制了?实践中很难观测验证;2、仅刷最后K在后台预警的工作机制是怎样的?勾选与否如何影响回溯计算长度?
回复

使用道具 举报

1

主题

334

帖子

334

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-27
曾用名:
发表于 2026-9-20 11:03 | 显示全部楼层
(0)多策略组合交易,为您提供思路如下,仅为示例,要根据自己策略需要进行修改(该思路已有多个客户稳定运行5年以上):
用STKINDIEX函数获取图表的持仓汇总(上一周期持仓,避免信号闪烁导致持仓变化),
和当前账户的 持仓+未成交单比较,调整下单手数,下单委托使账户持仓和图表持仓汇总一致。
[PEL] 复制代码
//策略持仓组合
T1_HOLDING:STKINDIEX(ZSPZ,'肯特纳系统.REF_HOLDING',0,1,0,5000);   
T2_HOLDING:STKINDIEX(ZSPZ,'布林强盗系统.REF_HOLDING',0,1,0,5000);
T3_HOLDING:STKINDIEX(ZSPZ,'金肯特纳交易系统.REF_HOLDING',0,1,0,5000);

T_HOLDING:=M1*T1_HOLDING+M2*T2_HOLDING+M3*T3_HOLDING;    //图表总仓位计算

BH:=TBUYHOLDINGEX('','',2);        //多头持仓,含平多未成交单
BH1:=TBUYHOLDINGEX('','',1);        //多头可用持仓
SH:=TSELLHOLDINGEX('','',2);     //空头持仓
SH1:=TSELLHOLDINGEX('','',1);        //空头可用持仓
KD_W_S:=TGLOBALSUBMITEX(1,'','',0);//开多未成交单数量
KK_W_S:=TGLOBALSUBMITEX(3,'','',0);//开空未成交单数量
DTC:=BH+KD_W_S;                    //实际账户多头持仓数量(含开多未成交单,平多未成交单)
KTC:=SH+KK_W_S;                    //DC:=BH+KD_W_S;  实际账户空头持仓数量(含开多未成交单,平多未成交单)


使用stkindiex跨周期调用函数,需要注意的是,(1)加载调用的K线长度,要足够长。(2)主指标和调用指标,运行模式,都要用逐K线计算

(1)STKINDIEX函数里可以指定被调用品种及策略的长度。不受其它限制。
(2)逐K+仅刷最后K在后台预警的工作机制是怎样的?
勾选仅刷最后一根K线后,客户端接收到最新的tick,在历史K线上不会再次逐K执行公式,只会在最新的K线上计算返回,历史K线采用上根K的计算结果。当新K线生成后,此模式会再次逐K线计算,历史每根K都执行一次此公式。
勾选后会提高运行效率。
回复

使用道具 举报

1

主题

12

帖子

22

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-9-21 10:05 | 显示全部楼层
感谢07老师! 1、周末我用STKINDIEX确实跑通了前台信号加总,但公式一多,就会出现“50个……”的限制提示并回测无结果,估计实盘一样;2、用同周期的#公式.HOLDING#引用,结果同1,但速度会快的多;3、逐K+仅刷最后K 是否可以理解为在仅在周期K节点上进行全部回溯计算,而无仅刷最后K的逐K模式是对每个TICK都要做全回溯计算?
回复

使用道具 举报

1

主题

12

帖子

22

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-9-21 10:32 | 显示全部楼层
4、又及:当我们说到“使用逐K模式”时,是否默认的就是不勾选“仅刷最后K”?
回复

使用道具 举报

1

主题

334

帖子

334

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-27
曾用名:
发表于 2026-9-21 11:10 | 显示全部楼层
1、解除50个引用限制,参考
Setting\Option.ini文件,找到[Settings]组,增加一行
MaxCallStock=50
其中50就是限制数值,您任意更改一下即可

2、基本是您理解的。逐K+仅刷最后K,是在加载的时候,会全部回溯计算,所以效率更高。这个是专门用于提高效率的

3、“使用逐K模式”时,默认是会勾选“仅刷最后K”
回复

使用道具 举报

1

主题

12

帖子

22

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-9-21 17:09 | 显示全部楼层
上新8.0后,丢单问题解决,看来是AI所说的,新版本更新后对旧版本产生了影响。组合的净头寸执行问题收获颇多,感谢07老师!
回复

使用道具 举报

1

主题

12

帖子

22

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-9-23 14:22 | 显示全部楼层
07老师好,使用STKINDIEX/用户函数两种方式来汇集加总信号,然后形成一个总下单程序,我用前台图表交易模式测试了下,总是会出现丢单和增单问题,是否该方式只能使用后台下单方式更为稳妥,背后有什么原因么?
回复

使用道具 举报

1

主题

334

帖子

334

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-27
曾用名:
发表于 2026-9-23 14:27 | 显示全部楼层
本帖最后由 资深技术07 于 2026-9-23 14:30 编辑

只能用于后台哦。
图表需要有一个固定不变的虚拟持仓。也不能锁仓的,原理上就不符合。

请不要用于图表!!!图表就是每个指标策略,各下各的单,各平各的仓。

有新问题,请您发起一个新帖,谢谢




回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-3 06:15 , Processed in 0.113315 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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