金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4421|回复: 5

怎么样才能让如下语句只执行一次?

[复制链接]

6

主题

14

帖子

14

积分

Rank: 1

等级: 新手上路

注册:
2021-6-4
曾用名:
发表于 2021-6-8 15:43 | 显示全部楼层 |阅读模式
后台程序代码如下:

IF  HIGHT>=QQ THEN TBUY(THOLDING=0,1,MKT);

IF THOLDING>0 and TENTERBARS=0  THEN BEGIN //如果当前K开多
    AA:=AA+1;   //把AA的值累加1
    EXTGBDATASET('BB',AA);  //将AA的值保存到全局变量BB中
END

上面代码的目的是在程序开多仓后,把这次开多记录下来,AA就是开多的累计数量。

但上述代码执行后的结果就是在当根K没有结束前,AA就一直在加1,而不是只加1次。

要怎么写才能确保A:=AA+1只执行一次?谢谢!




补充内容 (2021-6-8 15:43):
注意是后台哦,不能等一根K线结束
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-8 16:11 | 显示全部楼层
IF  HIGHT>=QQ THEN TBUY(THOLDING=0,1,MKT);

IF THOLDING>0 and TENTERBARS=0 and barpos<>extgbdata('bar')  THEN BEGIN //如果当前K开多
    AA:=AA+1;   //把AA的值累加1
    EXTGBDATASET('BB',AA);  //将AA的值保存到全局变量BB中
    EXTGBDATASET('bar',barpos);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-6-8 16:16 | 显示全部楼层
[PEL] 复制代码


if time>extgbdata('t') then
begin
//编写你的只需要执行一次的语句
extgbdataset('t',time);//纪录下执行时候的K线时间。这样后面不会二次执行这个if下的代码了。
end


参考这个例子,你只需要把自己的控制条件放到if判断里。需要执行的语句放到下面的begin-end下就行了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

14

帖子

14

积分

Rank: 1

等级: 新手上路

注册:
2021-6-4
曾用名:
 楼主| 发表于 2021-6-8 16:29 | 显示全部楼层
非常感谢上面两位!金字塔的服务何止是好,简直就是感人

晚上开盘就测试.
回复

使用道具 举报

30

主题

163

帖子

163

积分

等级: 禁止访问

注册:
2021-6-7
曾用名:
发表于 2021-6-8 16:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-6-8 16:40 | 显示全部楼层
time函数后台也有效的。每一个K都有自己的K线时间的。就跟获取开高低收一样,是必然有的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-20 07:38 , Processed in 0.138157 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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