金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1461|回复: 7

为避免开仓太多,每天最多开仓五次,请问实现代码?

[复制链接]

47

主题

96

帖子

96

积分

等级: 免费版

注册:
2024-4-8
曾用名:
发表于 2024-5-9 20:10 | 显示全部楼层 |阅读模式
为避免开仓太多,每天最多开仓五次

第一次,买入可用资金的20%
第二次,买入可用资金的25%
第三次,买入可用资金的33%
第四次,买入可用资金的50%
第五次,买入可用资金的100%

如何实现?
代码示例有吗,非常感谢

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-5-10 08:50 | 显示全部楼层
这个就是用全局变量控制了,例如:
GLOBALVARIABLE:CS=0;

IF CONKC AND CS=0 THEN BEGIN
   TBUY(1,20%,MKT),PERTRADER;
   CS:=CS+1;
END

IF CONKC AND CS=1 THEN BEGIN
   TBUY(1,25%,MKT),PERTRADER;
   CS:=CS+1;
END

IF CONKC AND CS=2 THEN BEGIN
   TBUY(1,33%,MKT),PERTRADER;
   CS:=CS+1;
END

IF CONKC AND CS=3 THEN BEGIN
   TBUY(1,50%,MKT),PERTRADER;
   CS:=CS+1;
END

IF CONKC AND CS=4 THEN BEGIN
   TBUY(1,100%,MKT),PERTRADER;
   CS:=CS+1;
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

47

主题

96

帖子

96

积分

等级: 免费版

注册:
2024-4-8
曾用名:
 楼主| 发表于 2024-5-10 10:30 | 显示全部楼层
回复

使用道具 举报

47

主题

96

帖子

96

积分

等级: 免费版

注册:
2024-4-8
曾用名:
 楼主| 发表于 2024-5-10 10:34 | 显示全部楼层
CONKC 是什么?好像不是函数,如果是其他变量,没看到这个变量的意义,请指教
回复

使用道具 举报

47

主题

96

帖子

96

积分

等级: 免费版

注册:
2024-4-8
曾用名:
 楼主| 发表于 2024-5-10 10:35 | 显示全部楼层
明白了,是用户自行决定的买入信号 ....
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-5-10 10:45 | 显示全部楼层
本帖最后由 技术010 于 2024-5-10 10:53 编辑

这个结构在日线周期上也是有一定缺陷的,稍后我们再给完善下,通过时间差180秒,避免在日线上连续开仓。GLOBALVARIABLE:CS=0,KCTIME=0;

IF CONKC AND CS=0 AND KCTIME=0 THEN BEGIN
   TBUY(1,20%,MKT),PERTRADER;
   CS:=CS+1;
   KCTIME:=DYNAINFO(207);
END

IF CONKC AND CS=1 AND TIMETOT0(DYNAINFO(207))-TIMETOT0(KCTIME)>180 THEN BEGIN
   TBUY(1,25%,MKT),PERTRADER;
   CS:=CS+1;
   KCTIME:=DYNAINFO(207);
END

IF CONKC AND CS=2 AND TIMETOT0(DYNAINFO(207))-TIMETOT0(KCTIME)>180 THEN BEGIN
   TBUY(1,33%,MKT),PERTRADER;
   CS:=CS+1;
   KCTIME:=DYNAINFO(207);
END

IF CONKC AND CS=3 AND TIMETOT0(DYNAINFO(207))-TIMETOT0(KCTIME)>180 THEN BEGIN
   TBUY(1,50%,MKT),PERTRADER;
   CS:=CS+1;
   KCTIME:=DYNAINFO(207);
END

IF CONKC AND CS=4 AND TIMETOT0(DYNAINFO(207))-TIMETOT0(KCTIME)>180 THEN BEGIN
   TBUY(1,100%,MKT),PERTRADER;
   CS:=CS+1;
   KCTIME:=DYNAINFO(207);
END

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

47

主题

96

帖子

96

积分

等级: 免费版

注册:
2024-4-8
曾用名:
 楼主| 发表于 2024-5-10 10:50 | 显示全部楼层
同一个策略,控制开仓总数,用 GLOBALVARIABLE
由于每天是多个策略运行,要控制不同策略开仓总数,如何处理?
看了说明,有这个函数 extgbdataset,但不知道如何使用,请问不同策略一起控制开仓总数,示范代码?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-5-10 10:54 | 显示全部楼层
globalvariable是作用于单个策略的,不同策略之间的globalvariable是不会互相干扰的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-2 21:43 , Processed in 0.097258 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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