金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5671|回复: 20

螺纹期货主力合约要在商品指数au30有持仓的前提下才能同方向开仓。

[复制链接]

4

主题

27

帖子

27

积分

Rank: 1

等级: 新手上路

注册:
2021-6-25
曾用名:
发表于 2021-6-25 00:50 | 显示全部楼层 |阅读模式
各位老师好,框架交易模式下想完成以下逻辑:螺纹期货主力合约要在商品指数au30有持仓的前提下才能同方向开仓。尝试用extgbdataset指令,但是始终不能返回au30的持仓状态。请问是为什么?谢谢!
回复

使用道具 举报

0

主题

2237

帖子

2247

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-25 09:00 | 显示全部楼层
不需要用全局变量去记,直接用引用函数去获取下 au30 上的虚拟持仓即可,螺纹的开平仓条件里加上引用后的结果,可以看下STKINDI这个函数

可以看下STKINDI函数的案例:http://www.weistock.com/bbs/disp ... p;page=1&star=1
回复

使用道具 举报

4

主题

27

帖子

27

积分

Rank: 1

等级: 新手上路

注册:
2021-6-25
曾用名:
 楼主| 发表于 2021-6-25 09:14 | 显示全部楼层
单单使用stkindi引用函数是不够的,因为au30也有止损和止盈的问题,所以必须让它单独运行在一个图表程序化框架下,我最终要取得的是au30经过止盈止损以后的持仓方向,谢谢!
回复

使用道具 举报

0

主题

2237

帖子

2247

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-25 09:21 | 显示全部楼层
extgbdataset 返回的持仓数量不对还是根本未去记录呢? 发下关于全局变量控制的几行代码看下
回复

使用道具 举报

4

主题

27

帖子

27

积分

Rank: 1

等级: 新手上路

注册:
2021-6-25
曾用名:
 楼主| 发表于 2021-6-25 09:39 | 显示全部楼层
设参数,
WARNING_DISABLE:4;
EXTGBDATASET(STKNAME(),HOLDING);

取参数的
WARNING_DISABLE:4;
SSZ1:=EXTGBDATA('AU30');
回复

使用道具 举报

0

主题

2237

帖子

2247

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-25 09:59 | 显示全部楼层
菜单栏工具 》 数据管理 》 全局变量里,这个变量设置了吗? 然后AU30策略的虚拟持仓变化时,有没有给这个全局变量赋值呢?
EXTGBDATASET 是放在策略下的开平仓后面的吗? 你发下完整设置和取值代码
回复

使用道具 举报

4

主题

27

帖子

27

积分

Rank: 1

等级: 新手上路

注册:
2021-6-25
曾用名:
 楼主| 发表于 2021-6-25 10:09 | 显示全部楼层
在全局变量数值管理里面,可以看见已经导出的au30数值变化,现在的问题是取值的时候取不到au30的状态,始终都是0,谢谢!
回复

使用道具 举报

4

主题

27

帖子

27

积分

Rank: 1

等级: 新手上路

注册:
2021-6-25
曾用名:
 楼主| 发表于 2021-6-25 10:14 | 显示全部楼层
Au30的取值是放在程序的最末端,

WARNING_DISABLE:4;
EXTGBDATASET(STKNAME(),HOLDING);


仓:holding,NODRAW,COLORYELLOW;
盈:INTPART( BCYLZF),NODRAW,COLORRED;
量:Vm,NODRAW,COLORGREEN;
权:INTPART(ASSET),NOAXIS,COLORGRAY,linethick2;
//输出当前资产,但不影响坐标最高最低值

回复

使用道具 举报

4

主题

27

帖子

27

积分

Rank: 1

等级: 新手上路

注册:
2021-6-25
曾用名:
 楼主| 发表于 2021-6-25 10:16 | 显示全部楼层
提起au30是放在程序的最前端,

KCSJ:=STKINDIEX('','CROWNNP1.KCNP',1,17,-1,120);
M:=STKINDIEX('','CROWNNP1.M',1,5,-1,60);
KN:=1;
JN:=1;
SN:=120;
VN:=STKINDIEX('','CROWNNP1.VN',1,5,-1,60);
PN:=STKINDIEX('','CROWNNP1.PN',1,5,-1,60);  
HJSJ:=1;


KCYZ:=0;
KDYZ:=0;
KKYZ:=0;
WARNING_DISABLE:4;
SSZ1:=EXTGBDATA('AU30');
SSZ2:=EXTGBDATA('AU31');
IF (SSZ1)<>0 THEN BEGIN
KCYZ:=1;
END
IF (SSZ1)>0 THEN BEGIN
KDYZ:=1;
END
IF (SSZ1)<0 THEN BEGIN
KKYZ:=1;
END
回复

使用道具 举报

0

主题

2237

帖子

2247

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-25 10:16 | 显示全部楼层
这些写不行的,你看下这个帖子中的第二个案例 ,需要根据条件去赋值:http://www.weistock.com/WeisoftHelp/zbgs003.htm
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 13:58 , Processed in 0.201764 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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