金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2943|回复: 10

代码问题

[复制链接]

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
发表于 2023-7-28 08:16 | 显示全部楼层 |阅读模式
本帖最后由 技术009 于 2023-7-28 11:02 编辑

老师:
         你好!
有两个问题咨询
1,一个10236的整数,在金字塔软件可以取到尾数6这个数字吗?,
2,在写策略中如何建立一个列表和元组,
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-28 08:47 | 显示全部楼层
1. 转到字符串,截取最后一位 后再转为数值。
NUMTOSTR( , )
STRLEFT( , )
STRTONUM( )
利用这三个函数即可
2. PEL里不支持列表和元组。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-28 08:59 | 显示全部楼层
KPJ:=CALLSTOCK('',VTOPEN,6,0);//当日开盘价
NUMTOSTR(KPJ,1)
STRLEFT(KPJ,4)
STRTONUM('KPJ')


比如现在当日开盘价为5606,我想取尾数6这个数字,是不是这样写?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-28 09:28 | 显示全部楼层

KPJ:CALLSTOCK('',VTOPEN,6,0);//当日开盘价
v1:NUMTOSTR(KPJ,0);
v2:STRRIGHT(v1,1);
v3:STRTONUM(v2);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-28 09:57 | 显示全部楼层
tcd:=(time>=010000 and time<185700);

KPJ:CALLSTOCK('',VTOPEN,6,0);//当日开盘价
v1:NUMTOSTR(KPJ,0);
v2:STRRIGHT(v1,1);
v3:STRTONUM(v2);

KD:=V3 AND (0 OR 2 );   //开多条件
KK:=V3 AND (8 OR 6);          //开空条件

SS:=1;

开多:BUY(KD AND HOLDING=0,SS,limitr,close);          //开多信号
开空:BUYSHORT(KK AND HOLDING=0,SS,limitr,close);     //开空信号

//指定时间平仓
if time=185700 then begin
收盘a:sell(1,ss,limitr,close)coloryellow;//平多
收盘:sellshort(1,ss,limitr,close)colorgreen;//平空
end


老师,为什么出现这样的情况?

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-28 10:47 | 显示全部楼层
你自己信号条件有问题。你开多开空信号 的条件是永远相等的。。



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

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-28 10:53 | 显示全部楼层
如何解决?
KPJ:CALLSTOCK('',VTOPEN,6,0);//当日开盘价
v1:NUMTOSTR(KPJ,0);
v2:STRRIGHT(v1,1);
v3:STRTONUM(v2);

KD:=V3 AND (0 OR 2 );   //开多条件
KK:=V3 AND (8 OR 6);          //开空条件

以这样的条件判断开仓,开多开空条件,不可能同时发生,只能满足条件之一,要不就是多空条件都不满足,出现当天观望情况
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-28 10:59 | 显示全部楼层
本帖最后由 技术009 于 2023-7-28 11:01 编辑

你这个是基本运算逻辑没理清。

KD:=V3 AND (0 OR 2 );  
KK:=V3 AND (8 OR 6);   

v3 是一样的,后面括号内的结果恒为1.   
然后开多语句在前面,永远只会触发开多的

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

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-28 11:12 | 显示全部楼层
当V3满足0或2就开多,不是用OR表示吗?
如果当V3满足0或2就开多,是不是要把括号去掉?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-28 11:24 | 显示全部楼层
当然不是你这个写法了呀。。

你要判断 v3值情况,就正常就等号判断就行了。 判断的结果 再用or运算符。你那个写法是想当然的写法,不符合运算符基本规则
KD:=V3=0 OR v3=2 ;  
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 21:18 , Processed in 0.086385 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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