金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4662|回复: 18

输出

[复制链接]

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-7-3 11:07 | 显示全部楼层 |阅读模式



这里只要判断当前的品种代码,if STKLABEL='RB00' THEN   P:='SQRB00' ;     
STKFROMBLK('5空' ,I)=P;  
怎么让这个P输出的就是对应的'SQRB00'   结果输出来好像是不对的···

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-3 11:13 | 显示全部楼层
你要么代码多贴点。贴那么2句谁知道这个逻辑是咋样的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 11:17 | 显示全部楼层
技术009 发表于 2023-7-3 11:13
你要么代码多贴点。贴那么2句谁知道这个逻辑是咋样的。

P:='SQRB00' ;     
测试   STKFROMBLK('5空' ,2)='SQRB00' ;不等于  STKFROMBLK('5空' ,2)=p;

P:0;
if STKLABEL='RB00' THEN   P:='SQRB00' ;  
if STKLABEL='AG00' THEN   P:='SQAG00' ;
END   {这里我罗列多个品种 取品种代码对应的 市场品种代码 }
m:STKFROMBLK('5空' ,2)=P;
我要去M=1的情况
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 11:30 | 显示全部楼层
100020061 发表于 2023-7-3 11:17
P:='SQRB00' ;     
测试   STKFROMBLK('5空' ,2)='SQRB00' ;不等于  STKFROMBLK('5空' ,2)=p;

m:STKFROMBLK('5空' ,i)=P;
这里我是要去轮询

m:STKFROMBLK('5空' ,i)='SQRB00';
当M=1, 说明该窗口下是螺纹  且满足了条件。

主要是P:='SQRB00' ;     
P1: STKFROMBLK('5空' ,2)='SQRB00' ;
P1=1的情况下
P2: STKFROMBLK('5空' ,2)=p;
P2 =0  了
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 12:49 | 显示全部楼层
技术009 发表于 2023-7-3 11:13
你要么代码多贴点。贴那么2句谁知道这个逻辑是咋样的。

这样可以解决
1:这个连续合约板块 目前这个36个品种不动的情况下,如果新加减的品种,那么它的排序是不是始终在37往后去排序,会不会把这前面的36个品种的排序打乱掉?
2:图中第一个是白银,当前窗口是白银,这个2,3,4,5,后面还会计算吗 这个36个品种后面是END控制。

IF  STKLABEL='AG00'   THEN   当前品种:=STKFROMBLK('连续合约' ,1) ;   
        IF  STKLABEL='AO00'   THEN   当前品种:=STKFROMBLK('连续合约' ,2) ;

这里看代码好像没有做到 判断当前窗口是  STKLABEL='AG00'  然后   当前品种:=STKFROMBLK('连续合约' ,1) ;   
好像图中每个 当前品种:=STKFROMBLK('连续合约'  都要计算过去吗?

截图202307031211468909.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-3 13:05 | 显示全部楼层
字符串比较的部分,用函数比较,不要直接用 = 号,会有问题。

P:'';
if STKLABEL='RB00' THEN   P:='SQRB00';  
if STKLABEL='AG00' THEN   P:='SQAG00';

m:=STKFROMBLK('自选股' ,1);
X:STRCMP(P,M);//返回0表示相等
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 13:22 | 显示全部楼层
技术009 发表于 2023-7-3 13:05
字符串比较的部分,用函数比较,不要直接用 = 号,会有问题。

P:'';

这个很棒  上面截图那个也可以达到效果     但是那个效率太差···

P:'';  这个用法好像很好
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 13:58 | 显示全部楼层
技术009 发表于 2023-7-3 13:05
字符串比较的部分,用函数比较,不要直接用 = 号,会有问题。

P:'';

        M:'';

if STKLABEL='AG00' THEN   M:='SQAG00';  

P:=0;
for I=1 to 5空 do
BEGIN
IF STRCMP(M,STKFROMBLK('5空' ,I))=0 THEN
begin
P:=I;
break;
END
END
这里这个  P:=0;  P:=I; 还需要吗?

回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 18:06 | 显示全部楼层
技术009 发表于 2023-7-3 13:05
字符串比较的部分,用函数比较,不要直接用 = 号,会有问题。

P:'';

老师  我还有个问题
我目前窗口加载了螺纹  那么它的   品种代码就是  'RB00'    板块成员代码就是 'SQRB00';
那么如果 STKFROMBLK('5空' ,1)='SQRB00';
'5空' 的第一个品种就是螺纹的意思
那为什么我要去一大堆板块成员代码里面去找这个  'SQRB00'; ??
我打开了螺纹的品种  怎么样让它默认它成员代码就是   'SQRB00'; ??
或者说有没有函数返回就是本窗口的它成员代码?

STKFROMBLK('5空' ,1)= 本窗口的品种代码
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-3 18:15 | 显示全部楼层
技术009 发表于 2023-7-3 13:05
字符串比较的部分,用函数比较,不要直接用 = 号,会有问题。

P:'';

这个可能比较难描述··

比如  STKFROMBLK('5空' ,I) 这里面有3个品种出来。其中有一个是‘SQRB00’
当前窗口也是‘SQRB00’
有没有什么函数返回的就是当前窗口能证明它就是‘SQRB00’?而不是要在一大堆列表里面去找出来它就是它···

STRCMP(    当前窗口的代码   ,STKFROMBLK('5空' ,I))=0
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 03:19 , Processed in 0.173286 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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