金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2889|回复: 1

代码问题

[复制链接]

45

主题

106

帖子

106

积分

等级: 免费版

注册:
2022-1-8
曾用名:
发表于 2022-2-10 15:26 | 显示全部楼层 |阅读模式
//下单数量控制:

NN0:=10000;//1万元资金

NN1:=IF(REF(close,1)<50, FLOOR(NN0/S2/100)*100,0);
//买进的单个股票价值为1万元,整合成:手数=FLOOR(NN0/S2/100)手,即FLOOR(NN0/S2/100)*100股。

NN2:=IF(REF(close,1)>100,100,0);
//但如果昨天收盘价超过100元的,仅仅买进一手100股。

NN3:=IF(REF(close,1)>=50   AND  REF(close,1)<100 ,200,0);
//但如果昨天收盘价超过50元的且小于100元的,仅仅买进2手200股。

NN:=NN1  OR  NN2  OR  NN3 ;  //???
NN:=NN1  AND  NN2  AND  NN3 ; //??   
上面哪一个NN是正确的?
tbuy(cond=1,NN,mkt);//条件如果成立,就执行指令下单,买进。

回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-2-10 15:32 | 显示全部楼层
没有一个是正确的。

and  和 or的含义注定了他们的结果不是0 就是1. 而不是你前面计算的手数值。

你应该用嵌套if去处理:
NN:IF(REF(close,1)<50,FLOOR(NN0/S2/100)*100,IF(REF(close,1)>=50   AND  REF(close,1)<100,200,100));

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-9 04:21 , Processed in 0.218814 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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