金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 唐某某

读取期权各档位的信息

[复制链接]

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-7 14:10 | 显示全部楼层
1.因为取的值结果是最新值,根本没必要每个K都计算。所以第一个K算一次就结果。
2. j是计数器 ,名称无所谓
3. 不是赋给每个元素  是赋到数组指定位置。数组的概念 建议自行网上查下资料了解下。有些很基础的概念,我们也没有办法直白的进行解释
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

200

帖子

200

积分

等级: 免费版

注册:
2021-6-24
曾用名:
 楼主| 发表于 2023-6-7 14:29 | 显示全部楼层
技术009 发表于 2023-6-7 14:10
1.因为取的值结果是最新值,根本没必要每个K都计算。所以第一个K算一次就结果。
2. j是计数器 ,名称无所 ...

我有另外个方法,老师帮我看一怎么实现。 我对符合条件的合约加入到自选板块,比如对50ETF的全部认购合约,加入自定义板块“50ETF认购”,并对这个板块内合约行权价做了排序。 假如程序读取到平值行权价合约为2550,排名17。那我定义排名16的是虚1档(2564A),排名15的虚2档(2600)。问题:我要如何获取到平值合约(2550)对应的排名是多少位? 如何获取到排名16的合约是2564A,排名15的合约就是2600?   只能要读取到应该也是可以定义出来虚值或者实值的。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-7 14:36 | 显示全部楼层
这个没法做。目前没有函数能对板块做这样灵活操作。

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

使用道具 举报

60

主题

200

帖子

200

积分

等级: 免费版

注册:
2021-6-24
曾用名:
 楼主| 发表于 2023-6-7 14:38 | 显示全部楼层
技术009 发表于 2023-6-7 14:36
这个没法做。目前没有函数能对板块做这样灵活操作。

好吧! 那我再研究下数组
回复

使用道具 举报

60

主题

200

帖子

200

积分

等级: 免费版

注册:
2021-6-24
曾用名:
 楼主| 发表于 2023-6-8 11:14 | 显示全部楼层
技术009 发表于 2023-5-6 14:20
至于虚一,虚二这种也只能利用循环了。

[mw_shl_code=pel,true]


数组这里有两个问题请教老师
问题一.虚值一档和二挡的写法如下。
v1:LARGE(parr,size+1,index-1);//虚一档行权价
v2:LARGE(parr,size+1,index-2);//虚二档行权价
根据V1和V2的写法,我获取平值合约行权价的方法如下,可取到的值是标的合约的价格,而不是平值合约。
平值:LARGE(parr,size+1,index);//请问老师我的写法哪里出了问题。

问题二。
SIZE:OPTIONSIZE(bcode,2306,1);//我获取到了31个元素,这个元素数量是对的。为什么我们要对“VARIABLE:pArr[SIZE+1]:=0”;“v1:LARGE(parr,size+1,index-1);”中括号内的“SIZE+1”呢?+1后反而数组元素的长度还比实际多了1个.
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-8 11:27 | 显示全部楼层
1. 你自己看下index定义。它本来就是标的合约价格在行权价排序中的位置。所以取到的自然是标的合约的价格。而且所谓平值不就是和标的合约价格相等的价格的么。

然后通过行权价获取合约,已经有函数了:OPOBYPRIRCE  你根据取到的行权价进一步取合约即可。


2.前面已经解释过了。你只塞31个元素进去,那就没办法排序出谁在标的合约价格之前,谁在标的价格之下了。  

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

使用道具 举报

60

主题

200

帖子

200

积分

等级: 免费版

注册:
2021-6-24
曾用名:
 楼主| 发表于 2023-6-8 12:26 | 显示全部楼层
技术009 发表于 2023-6-8 11:27
1. 你自己看下index定义。它本来就是标的合约价格在行权价排序中的位置。所以取到的自然是标的合约的价格。 ...


明白了。 INDEX这里的读取到的平值是标的价,具体平值对应的是哪个行权价合约,就需要用OPOBYPRIRCE这个函数去自动获取。虚值读取到的是对应档位的行权价,同样也要用OPOBYPRIRCE去自动获取行权价对应的合约。
size+1,因为size只统计了合约的数量,没有把标的统计进去,所以需要size+1,这样容器才能多塞一个元素。
首次使用数组,还不熟悉用法,见谅!
回复

使用道具 举报

60

主题

200

帖子

200

积分

等级: 免费版

注册:
2021-6-24
曾用名:
 楼主| 发表于 2023-6-8 16:02 | 显示全部楼层
技术009 发表于 2023-5-6 14:20
至于虚一,虚二这种也只能利用循环了。

[mw_shl_code=pel,true]

再请教老师:"SIZE:OPTIONSIZE(bcode,2306,1);" 这段语句的“2306”能改成变量吗?比如当月或者次月。 不然每个月都要手动改代码
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-8 16:27 | 显示全部楼层
可以改成变量的。
这样拿月份和年份组合下就行了。
Y:23;
M:5;

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

使用道具 举报

60

主题

200

帖子

200

积分

等级: 免费版

注册:
2021-6-24
曾用名:
 楼主| 发表于 2023-6-8 16:47 | 显示全部楼层
技术009 发表于 2023-6-8 16:27
可以改成变量的。
这样拿月份和年份组合下就行了。
Y:23;

这里R是变量,确实可以把“2306”改成R。 不过“ Y:23 ;”,“M:5”这个23和5 又是常量,换月时还是需要手动修改Y和M的值。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 12:56 , Processed in 0.114114 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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