金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

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

VARIABLE 变量问题

[复制链接]

1

主题

124

帖子

124

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-27
曾用名:
发表于 2026-6-12 09:41 | 显示全部楼层
如果您想获得“清理逻辑是否有遗漏或错误”,要厘清你逻辑的漏洞及给出建议,没有那么快,需要您耐心等待
回复

使用道具 举报

9

主题

38

帖子

38

积分

Rank: 4

等级: 专业版

注册:
2025-12-17
曾用名:
 楼主| 发表于 2026-6-12 09:54 | 显示全部楼层
那是不是这个意思:
VARIABLE: PIERCE_LO=99999, PIERCE_HI=0;

  // 追踪
   IF HIGH >= BB_UPPER AND HIGH > PIERCE_HI THEN PIERCE_HI := HIGH;
   IF LOW <= BB_LOWER AND LOW < PIERCE_LO THEN PIERCE_LO := LOW;

    // 清理:只在死叉/金叉时写入重置值,否则全局变量保持不动
    EXTGBDATASET('G_PIERCE_LO', 99999, REF(SICHA,1));
    EXTGBDATASET('G_PIERCE_HI', 0, REF(JINCHA,1));

    // 开仓时用 EXTGBDATA 读
    kd := ... AND EXTGBDATA('G_PIERCE_LO') < 99999 AND EXTGBDATA('G_PIERCE_LO') < CLOSE;

那 EXTGBDATASET 只在条件触发时写入,条件不触发时值保持不变,这跟GLOBALVARIABLE + IF...THEN 在逻辑上是不是等价的??如果 REF(SICHA,1) 那行没跑到,换 EXTGBDATASET 一样跑不到? 那还是没解决问题啊? 这个能说的详细点吗?
回复

使用道具 举报

1

主题

124

帖子

124

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-27
曾用名:
发表于 2026-6-12 10:20 | 显示全部楼层
本帖最后由 资深技术07 于 2026-6-12 10:36 编辑

EXTGBDATASET是赋值函数,在满足条件时,会写全局变量。这个写,可以是赋值新高,也可以是写0.    是根据您的策略逻辑决定的。没有历史值,只记录最新值。
如果您需要记录多个状态,就定义多个EXTGBDATASET定义的全局变量。
GLOBALVARIABLE会在启动后台程序化的时候,第一根K线上初始化。是有特定的使用场景的(见5楼)。但EXTGBDATASET这个全局变量不会,它就是很客观,运行下来是什么值,就会实时记录保存下来,不会因为后台程序化重启,或者您修改了代码,而有所改变。很灵活,适应所有场景。

对编写代码人员的要求是:要理清策略的逻辑思路,该赋值赋值,该清0就清0(开启新一轮)。


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-13 12:07 , Processed in 0.190089 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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