金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1565|回复: 3

两个代码问题

[复制链接]

75

主题

191

帖子

201

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2022-12-29 20:47 | 显示全部楼层 |阅读模式

VARIABLE:var7:=0,var8=0,var9=0,var10:=0;
VARIABLE:var11:=0,var12:=0,var13:=0,var14:=0;

IF         BARPOS=0 OR DATE<>REF(DATE,1) THEN BEGIN
        var7:=1;
        var8:=HIGH;
        var9:=LOW;
END
IF BARPOS>0 AND DATE=REF(DATE,1) THEN BEGIN
        var7:=var7+1;
        IF HIGH>var8 THEN var8:=HIGH;
        IF LOW<var9 THEN var9:=LOW;
END
var10:=CLOSE;
FOR I=1 TO 2 DO BEGIN
        IF I=1 THEN BEGIN
                N:=var7;
                var11:=HIGH[BARPOS-N];//////////////////////////////////////////////————————第二个问题。
                var12:=LOW[BARPOS-N];//////////////////////////////////////////////————————第二个问题。
                var13:=CLOSE[BARPOS-N];//////////////////////////////////////////////————————第二个问题。
                var14:=CLOSE[BARPOS-N];//////////////////////////////////////////////————————第二个问题。
                V11111:var12;//////////////////////////////////////////////————————第一个问题。
                END
                V122222:var12;        //////////////////////////////////////////////————————第一个问题。


第一个问题是:因为var12设定为全局变量,那V11111和V122222的数值应该是相同的,这里却不同,为什么?

第二个问题是:如果我吧最后的一部分代码改成就数据出错了,我发现每次FOR循环后内在获取数组内的数值就出错,是有问题吧?(代码如下:
                var11:=var8[BARPOS-N];
                var12:=var9[BARPOS-2];
                var13:=var10[BARPOS-N];
                var14:=var10[BARPOS-N];


回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-12-29 22:10 | 显示全部楼层
一个是if里面判断条件时候才会执行的输出
一个是没有if控制,在循环里一直执行然后输出的var12


改了出错很大概率其实就是数组越界了,你可以看下报错提示是什么
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

191

帖子

201

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-12-30 10:21 | 显示全部楼层
资深技术02 发表于 2022-12-29 22:10
一个是if里面判断条件时候才会执行的输出
一个是没有if控制,在循环里一直执行然后输出的var12

第二个问题的回复:应该如果用了FOR循环出来的数据有是一个数组了,用数组去引用数组就是二维了,那就不支持了吧?
我觉得这个需要改进下,不然TB搞得onbar这些你们没做没问题,这个二维数组这些其实可以坐下,而且有些函数可以增加些,我是还在开发,感觉这东西很有用,TB蛮多的。

第二个问题的回复:但是结果是一样的啊,你复制下面的代码试试看
VARIABLE:var8=0,var7=0,var10:=0;
VARIABLE:var11:=0,var12:=0,var13:=0,var14:=0;
var9:=0;

V8000:var8;
V9000:var9;
IF         BARPOS=0 OR DATE<>REF(DATE,1) THEN BEGIN
        var7:=1;
        var8:=HIGH;
        var9:=LOW;
//        V111:var7;
        V9111:var9;
        V8111:var8;
END
//V222:var7;
V9222:var9;
V8222:var8;
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-12-30 10:33 | 显示全部楼层
不支持二维数组的


第二个问题有什么问题呢?这段代码没看出什么问题
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 00:28 , Processed in 0.292956 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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