金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 14416|回复: 102

主力合约

[复制链接]

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2024-3-22 08:24 | 显示全部楼层 |阅读模式
软件更换主力合约是在下午收盘以后更换,还是说每个收盘节点都会按成交量和持仓量去判断 然后都有可能变更主力合约?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-3-22 08:41 | 显示全部楼层
下午盘后处理,不可能盘中处理。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-3-22 09:36 | 显示全部楼层
技术009 发表于 2024-3-22 08:41
下午盘后处理,不可能盘中处理。

INPUT:N(4,1,12,1);//需要获取的排序位数,如N=4,默认最终获取前四名的数值结果。
VARIABLE:codeArr[12]:='',volArr[12]:=0,sortArr[N]:=0;//codeArr 品种代码数组;volArr 成交量数组;sortArr 排序结果数组,默认长度是4

STR:=STRTRIMRIGHT( STKLABEL, '0123456789');
//生成每个月的合约代码 并存入到数组中。这个只在第一个K上运行下。字符串相关操作比较消耗资源,没必要每个分笔来都进行一次。
if BARPOS=1 then
begin
for i=1 to 12 do //默认按照该品种有12个月份的合约。
begin
codeArr:= STRCAT(str,STRRIGHT(NUMTOSTR(i/100,2),2));        
end
end

for j=1 to 12 do
begin
code:=codeArr[j];//code就是合约代码        
vox:=CALLSTOCK(code,vtOPENINT,6,0);
volArr[j]:=if(vox>=0,vox,0);//不活跃品种,获取到的成交量可能是负值,这里处理下确保没有负值。
end               

for j=1 to N do
begin
index:=MFAMAX(volArr,12);
sortArr[j]:=index;
volArr[index]:=0;

end
老师 以上代码在运行中会把12个月份的数据全部拿来循环选取,就会出现我昨天说的会把2502的数据选进去,而2502是2月合约,刚交割的保留的记录,那么就会让最后的结果可能出错的。
那么我如果现在在循环的月份只在当前月份往后的5个月之内。(05下个主力基本是09,我就最多在06-10合约进行选取)这个要怎么变代码  帮我写下 我最终的结果是要进行自动选取的,所以这步不能错

回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-3-22 09:41 | 显示全部楼层
这个不好实现的,您策略需要对所有月份合约都进行计算,然后计算时候还要智能的去掉交割掉的合约??
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-3-22 09:42 | 显示全部楼层
技术008 发表于 2024-3-22 09:41
这个不好实现的,您策略需要对所有月份合约都进行计算,然后计算时候还要智能的去掉交割掉的合约??

策略对当前月份往后的5个月份进行计算就好了  对当前主力月份进行计算 判断再计算
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-3-22 09:45 | 显示全部楼层
这种要对所有月份做统计的不好实现,一般还是直接用连续合约就行了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-3-22 09:49 | 显示全部楼层
技术008 发表于 2024-3-22 09:45
这种要对所有月份做统计的不好实现,一般还是直接用连续合约就行了

获取当前月份,和后面几个月份不难,难的是怎么去让他只在这几个固定的月份里面去计算?我要是在主力以外的合约的持仓量大于多少就开始跟踪了
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-3-22 10:08 | 显示全部楼层
技术008 发表于 2024-3-22 09:45
这种要对所有月份做统计的不好实现,一般还是直接用连续合约就行了

这个安装了要重启软件才行吗?安装两次都不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-3-22 10:24 | 显示全部楼层
技术009 发表于 2024-3-22 08:41
下午盘后处理,不可能盘中处理。

'1234‘ 这是否等同于‘1’&‘2’&‘3’&‘4’ 这样的写法?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-3-22 10:25 | 显示全部楼层
按照提示按照有明确提示失败?  一般不需要重启软件,如果安装成功,一般也就重新加载指标即可。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 18:52 , Processed in 0.129510 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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