金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 856|回复: 9

股票仓位的问题

[复制链接]

22

主题

47

帖子

57

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2024-4-2 15:17 | 显示全部楼层 |阅读模式
请问下,怎么实现,昨天我开的5成仓,今天能卖,今天上午只能开总资金的5成,
如果,我想在早上用下面的代码时,在昨天的5成仓没卖时,仓位5成了,导致不能开仓,也就是说我想控制当日开仓开总资金的5成,怎么处理?谢谢!!
TACCOUNT(28)/TACCOUNT( 6)<0.5
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-4-2 15:31 | 显示全部楼层
本帖最后由 资深技术05 于 2024-4-2 15:35 编辑

你是要每天开仓都只能占用今天初始的可用资金的一半?还是说始终保持总资产在权益的一半?   你最好重新整理下文字描述,你那个文字描述 没太理解清楚。
回复

使用道具 举报

22

主题

47

帖子

57

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2024-4-2 15:37 | 显示全部楼层
不是,我是想在周末开仓只能占总资金的一半,可以早上开占总资金的全仓,白天可以平仓昨天买的股,降到5成仓,平时可以开全仓
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-4-2 15:49 | 显示全部楼层
资金占用:ss*c;//根据手数计算下资金,ss是100整数倍


con:(taccount(28)+资金占用)/taccount( 6)<0.5 and 资金占用<taccount(19);

if weekday=5 and con then //如果是周五且满足上述条件
begin
//买入语句
end

if weekday<>5 then //非周五
begin
//买入语句
end

先预算下本次开仓大概的资金占用 和当前市值汇总后是否小于总权益50%的占比,然后再看下可用资金是否足够。 最后判断下当前是否是周五。

非周五的下单 就不判断资金情况了。

回复

使用道具 举报

22

主题

47

帖子

57

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2024-4-2 16:22 | 显示全部楼层
还是周五的问题,比如昨日开仓的是5成仓,可以今天卖,今天只可以买总仓的5成,也就是最高时可以满仓,但今天买的股只能是5成,要在昨天买的5成仓卖了后不再开仓,谢谢!
回复

使用道具 举报

22

主题

47

帖子

57

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2024-4-2 16:37 | 显示全部楼层
也就是说能不能区分股票今日开仓和老仓?这样好实现想法
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-4-2 16:37 | 显示全部楼层
本帖最后由 资深技术05 于 2024-4-2 16:40 编辑

那你这个其实就是平仓后不能再重复买入的嘛。

if weekday=5 and texitbars(0)>todaybar  then //如果是周五且满足还没有平仓
begin
//正常的买入语句
end

但是这个方案对单品种比较合适。如果是多品种,那这个问题可能就无法解决了。因为多品种,你平仓时间可能不是一致的,而且也无法跨品种判断平仓信号。

也就是说能不能区分股票今日开仓和老仓?这样好实现想法” 这个肯定可以啊。

TBUYHOLDINGEX('','',0) 老仓
TBUYHOLDINGEX('','',2)-TBUYHOLDINGEX('','',0) 今仓


你也可以直接判断 老仓,有老仓,才能开今仓,没有老仓也就不开今仓了。和前面那个方案效果上应该差不多。
回复

使用道具 举报

22

主题

47

帖子

57

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2024-4-2 16:44 | 显示全部楼层
谢谢!
回复

使用道具 举报

22

主题

47

帖子

57

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2024-4-2 16:48 | 显示全部楼层
不好意思,还能再问下,还能有办法实现今日开仓总金额?
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-4-2 17:16 | 显示全部楼层
计算今仓的开仓时候的总额?  那就需要今日持仓的均价,但是这个如果有今老仓情况下,均价即汇总了,无法进行区分了。 大概率需要在开仓前,先记录下老仓的持仓均价

这段代码在你当天第一次运行时候  就必须运行到,否则就无法有效记录老仓的情况了。


globalvariable:p1:=0,t1:=0;
//开新仓之前,记录下来,老仓的持仓均价
if tbuyholdingex('','',0)  and  tbuyholdingex('','',2)=tbuyholdingex('','',0)  then
begin
p1:=tavgenterpriceex2('','',0);
t1:=tbuyholdingex('','',1);
end

//(总均价*总手数-老仓均价*老仓手数)
r:tbuyholdingex('','',2)*tavgenterpriceex2('','',2)-p1*t1;

这个r也就是实际成交的今仓的金额了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 13:54 , Processed in 0.225059 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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