金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
123
返回列表 发新帖
楼主: 啥玩意

品种代码

[复制链接]

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-10 14:20 | 显示全部楼层


你有没有补充日线数据?有没有去掉源代码里的 ISLASTBAR的限制?

这个代码 我们建议客户在完整理解和阅读后使用。你本地问题,你自己再琢磨下吧。

本帖子中包含更多资源

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

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

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-8-10 14:31 | 显示全部楼层
技术009 发表于 2023-8-10 14:20
你有没有补充日线数据?有没有去掉源代码里的 ISLASTBAR的限制?

这个代码 我们建议客户在完整理解 ...

你看下焦煤2308  输出的结果
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-8-10 14:38 | 显示全部楼层
技术009 发表于 2023-8-10 14:20
你有没有补充日线数据?有没有去掉源代码里的 ISLASTBAR的限制?

这个代码 我们建议客户在完整理解 ...

ISLASTBAR  这个不能去掉  进行调用 去掉就错了
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-10 14:39 | 显示全部楼层
焦煤 现在主力就是09  它成交量是最大的。它不是成交量次大的,次大是01合约。你本地我不知道你怎么搞的 是错误的结果。
但是我这里代码是OK的。而且我这个代码 是直接调用数据的。根本不在乎你在这个品种哪个月份上输出。





本帖子中包含更多资源

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

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

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-8-10 14:46 | 显示全部楼层
技术009 发表于 2023-8-10 14:39
焦煤 现在主力就是09  它成交量是最大的。它不是成交量次大的,次大是01合约。你本地我不知道你怎么搞的 是 ...

你要在08合约上面它就是错的 其他月份是对的
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-8-10 14:47 | 显示全部楼层
技术009 发表于 2023-8-10 14:39
焦煤 现在主力就是09  它成交量是最大的。它不是成交量次大的,次大是01合约。你本地我不知道你怎么搞的 是 ...

我是选的持仓量,每个品种都有一个月份不对!
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-8-10 14:50 | 显示全部楼层
技术009 发表于 2023-8-10 14:39
焦煤 现在主力就是09  它成交量是最大的。它不是成交量次大的,次大是01合约。你本地我不知道你怎么搞的 是 ...

我是偶尔发现有错误的情况 就试了下  发现很多品种都是这样  焦煤是08  你加载在08月份 它的月份就错了  
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-8-10 14:51 | 显示全部楼层
技术009 发表于 2023-8-10 14:39
焦煤 现在主力就是09  它成交量是最大的。它不是成交量次大的,次大是01合约。你本地我不知道你怎么搞的 是 ...

你试试
{禁止提醒}WARNING_DISABLE:11;
{逐K模式运行}RUNMODE:0;
//以下代码对非双年份合约有效(SC,AY,SRY,BUY等是双年份合约)
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

if ISLASTBAR then //将成交量填充到数组里面去. 这里可以自行调整,可以是成交量也可以是其他的什么值,自行选择处理即可。
begin
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               
end



if ISLASTBAR then //利用线性函数取最大成交量的索引(就是月份数值),每次取值完成后 可以把这个最大值重置为0,这样可以依次获取成交量最大的前几名了。
begin
for j=1 to N do
begin
index:=MFAMAX(volArr,12);
sortArr[j]:=index;
volArr[index]:=0;

end
end
if ISLASTBAR then
begin
持仓主力月:sortArr[1];//第一的月份
持仓次主力月:sortArr[2];//第二的月份




END



















END

















回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-10 15:00 | 显示全部楼层
你在一个日期上对比下结果好吧。

你一个在3号,一个在10号。这持仓量的排序结果又不是不变的。


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

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-8-10 15:08 来自手机 | 显示全部楼层
好吧,应该是08停了,我没看,我是取最后一个k的结果,没看日期,始终是最后一个k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-29 05:32 , Processed in 0.115635 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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