金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4986|回复: 15

开始手数求整数

[复制链接]

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
发表于 2021-11-21 22:34 | 显示全部楼层 |阅读模式
请问一下老师,股票开仓手数如何求整数,

例如:100000/C 为开仓手数,但是开仓的时候因为股价不一样,开仓后可能手数为8652股

这样平仓策略平仓的时候容易出现问题

请问一下老师,有没有办法 ,求(开仓金额/开仓价格)后的整数,例如8000、8100、或者8500这样的整数
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-22 08:40 | 显示全部楼层
INTPART(资金/(c*100))*100

这样。

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

使用道具 举报

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
 楼主| 发表于 2021-11-22 09:17 | 显示全部楼层
技术009 发表于 2021-11-22 08:40
INTPART(资金/(c*100))*100

这样。

C:\Users\Administrator\Desktop

补充内容 (2021-11-22 09:18):
我也是这样写的,但是有时候能够是整百位数,有时候又不是,不知道是为什么
回复

使用道具 举报

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
 楼主| 发表于 2021-11-22 09:20 | 显示全部楼层
我也是这样写的,但是有时候能够是整百位数,有时候又不是,不知道是为什么
截图202111220920155073.png
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-22 09:27 | 显示全部楼层
你代码里用的资金量参数是多少呢。

比如有的股票价格比较高,1万可能买不到100股。然后上面那个计算就算成0 了

而0在参数里面又有特殊含义,就是按照全部资金量去买。所以会导致出现这种不是整数的。做个调整试下:

temp:INTPART(资金/(c*100))*100;
ss:if(temp>0,temp,100);//最低100股
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
 楼主| 发表于 2021-11-22 09:28 | 显示全部楼层
谢谢老师!
回复

使用道具 举报

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
 楼主| 发表于 2021-11-22 09:41 | 显示全部楼层
老师您好!还是一样的,TEMP和SS都是显示整数,但是下面执行有时候显示在百位整数,有时候还有十位数
截图202111220939421568.png
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-22 09:43 | 显示全部楼层
涉及到的下单语句你提供下。应该是下单语句写的有点问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
 楼主| 发表于 2021-11-22 09:47 | 显示全部楼层
BKJ:=REF(C,ENTERBARS+1);

temp:INTPART(NNN/(c*100))*100;
ss:if(temp>0,temp,100);//最低100股

BBB:C>O ;
IF BBB AND HOLDING=0  THEN /////开仓条件
BEGIN
SELLSHORT(1,HOLDING,MARKET);
BUY(HOLDING=0,SS,MARKET); ////开仓金额除以收盘,等于开仓手数         
END

IF C<BKJ-BKJ/1000*ZS AND HOLDING>0 AND REF(HOLDING,XX)>0 AND ENTERBARS>XX THEN 多止损:SELL(1,HOLDING,MARKET);
IF C>BKJ+BKJ/1000*ZY AND HOLDING>0 AND REF(HOLDING,XX)>0 AND ENTERBARS>XX THEN 多止盈:SELL(1,HOLDING,MARKET);
回复

使用道具 举报

14

主题

55

帖子

55

积分

等级: 免费版

注册:
2021-7-22
曾用名:
 楼主| 发表于 2021-11-22 09:50 | 显示全部楼层
XX:=BARSLAST(DATE<>REF(DATE,1))+1;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 13:33 , Processed in 0.210321 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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