金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2999|回复: 14

关于全局变量问题

[复制链接]

56

主题

221

帖子

231

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
发表于 2022-11-12 22:32 | 显示全部楼层 |阅读模式
由于系统内全局变量保存太多。
如果在pel公式中销毁全局变量?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-11-13 14:16 | 显示全部楼层
pel公式中无法清除的
要手工在工具-全局变量,这里进行清除
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

56

主题

221

帖子

231

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-11-14 10:07 | 显示全部楼层
资深技术02 发表于 2022-11-13 14:16
pel公式中无法清除的
要手工在工具-全局变量,这里进行清除

问题一:那为了方便清理,我是否可以把全局变量用完以后赋值为-1,比如
A:=EXTGBDATA(STKLABEL&'信号A');
if a=1 then begin
执行相应操作;
EXTGBDATASET(STKLABEL&'信号A',-1);
end
问题二:用STRINGTOFILE记录交易信号,用序列模式跑
if 买入信号 then begin
STRINGTOFILE('E:\量化交易记录.TXT','Buy&5F&'&date&STKLABEL&currenttime&close);
end
想记录成:buy5F日期 股票代码 时间 收盘价,这样写好像不会自动记录,哪里写错了?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-11-14 10:10 | 显示全部楼层
可以赋值-1

要把数字转换成字符串然后用&进行字符串叠加

a1:=numtostr(date,0);
a2:=numtostr(currenttime,0);
a3:=numtostr(close,0);
STRINGTOFILE('E:\量化交易记录.TXT','Buy5F'&'_'&a1&'_'&STKLABEL&'_'&a2&'_'&a3);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

56

主题

221

帖子

231

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-11-14 10:14 | 显示全部楼层
资深技术02 发表于 2022-11-14 10:10
可以赋值-1

要把数字转换成字符串然后用&进行字符串叠加

收到,多谢多谢
回复

使用道具 举报

56

主题

221

帖子

231

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-11-14 10:21 | 显示全部楼层
资深技术02 发表于 2022-11-14 10:10
可以赋值-1

要把数字转换成字符串然后用&进行字符串叠加

查了一下,还是用DEBUGFILE,这样写可以么?
DEBUGFILE用序列模式可以不?还是一定要用逐K?
if 买 and ISLASTBAR then BEGIN
        a1:=numtostr(date,0);
        a2:=numtostr(currenttime,0);
        a3:=numtostr(close,0);
        DEBUGFILE('E:\量化交易记录.TXT',&STKLABEL&'_''2Buy5F'&'_'&a1&'_'&a2&'_'&a3);;
        end


补充内容 (2022-11-21 04:54):
这样写,好像没有输出啊。。。是什么原因?
看了说明:
IF ISLASTBAR THEN
BEGIN
  DEBUGFILE('D:\TEST.TXT','当前资产为%.2f',1234);
END;
将在程式化交易的监控部分输出到D:\TEST.TXT文件, "当前资产为1234.00"...
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-11-14 10:24 | 显示全部楼层
可以
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

56

主题

221

帖子

231

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-11-14 12:23 | 显示全部楼层

还有个问题,我午盘要进行公式计算,是计算分钟级别的。
数据补充的说明里,当日的分钟K线是要用在收盘补充数据里用日内tick补充的。

那我中午盘跑的时候,是否需要补充日内tick数据?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-11-14 12:24 | 显示全部楼层
如果你当天软件都开着不用补充,如果早上没开漏了早上数据,那么只要补充日内tick就行了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

56

主题

221

帖子

231

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-11-21 04:54 | 显示全部楼层
这样写,DEBUGFILE好像没有输出啊。。。是什么原因?

看了说明:
IF ISLASTBAR THEN
BEGIN
  DEBUGFILE('D:\TEST.TXT','当前资产为%.2f',1234);
END;
将在程式化交易的监控部分输出到D:\TEST.TXT文件, "当前资产为1234.00"

这段是不是要加%.2f?这样写,可以不?帮我看一下:
if 买 and ISLASTBAR then BEGIN
        a1:=numtostr(date,0);
        a2:=numtostr(currenttime,0);
        a3:=numtostr(close,0);
        DEBUGFILE('E:\量化交易记录.TXT',&STKLABEL&'_''2Buy@60F%.2f'&'_'&a1&'_'&a2&'_',CONST(CLOSE));
        end
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 20:31 , Processed in 0.359025 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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