欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何获取当前账户下的现有持仓

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3119人关注过本帖树形打印复制链接

主题:如何获取当前账户下的现有持仓

帅哥哟,离线,有人找我吗?
chywu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/9/5 17:29:49
如何获取当前账户下的现有持仓  发帖心情 Post By:2019/2/20 12:38:10    Post IP:121.237.168.163[只看该作者]

请教一下

5.0.2版中,使用PEL编写的交易策略
如何获取当前实际账户下的持仓品种和数量
返回函数是什么格式
可否查询某个品种是否已经有持仓,若有,它的持仓数量是多少
图表交易中能实现最好,如果不能,后台交易也行

谢谢图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/2/20 13:12:04    Post IP:180.169.30.6[只看该作者]

 后台函数可以直接获取账号实际持仓。图表不行的。
请参考:
TBUYHOLDINGEX
TSELLHOLDINGEX



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
chywu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/9/5 17:29:49
  发帖心情 Post By:2019/2/21 8:18:30    Post IP:121.237.168.163[只看该作者]

可否给个用法啊
函数帮助是这样写的

取指定帐户品种的买入持仓量(多头持仓),
用法:TBUYHOLDINGEX(AC,STOCK,N),AC为指定的帐户名,若为空表示取当前默认帐户
STOCK为指定的品种,若空表示当前品种。
N表示类型,0表示取当日可用买持(股票为可用持仓),1表示取全部可用买持(不包含未成交平多单),2表示取全部买持(包含未成交平多单),3表示取未成交单平多单.
该函数返回常数。

具体到某只股票,获取当前账户某只股票的全部持仓数量,是不是这样写:
tBuyHoldingEX('','000423',2)

感谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/2/21 8:39:37    Post IP:180.169.30.6[只看该作者]

 是这样写的没错。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
chywu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/9/5 17:29:49
  发帖心情 Post By:2019/2/22 21:25:49    Post IP:117.89.212.213[只看该作者]

再请教一下
我固定操作6个品种,对应6个公式
品种和公式一一对应
希望6个品种对应的持仓比例基本不变,满仓的话,总持仓不超过90%。

下单模块这样写,逐K线模式,用标准版作价格预警,没有显示预警信号,有什么问题吗?
如果用专业版作后台交易,能不能正确运行?

//下单数量:每根K线查询一次实际持仓
Denominator := 19;
Numerator := 4;

IF tBuyHoldingEX('','510500',2) > 999 then Denominator := Denominator - 4;  //500ETF
IF tBuyHoldingEX('','159901',2) > 999 then Denominator := Denominator - 4;  //深100ETF
IF tBuyHoldingEX('','159915',2) > 999 then Denominator := Denominator - 4;  //创业板
IF tBuyHoldingEX('','150131',2) > 999 then Denominator := Denominator - 3;  //医药B
IF tBuyHoldingEX('','159902',2) > 999 then Denominator := Denominator - 2;  //中小板
IF tBuyHoldingEX('','150019',2) > 999 then Denominator := Denominator - 2;  //银华锐进

Pecentage := 0.9 * Numerator / Denominator ;
Fund := tCash * Pecentage;

//下单:先卖后买
IF tHolding > 0 and TodayHolding = 0 then Begin
震卖:TSell(Shock_Sell,0,MKT);
趋卖:TSell(Trend_Sell,0,MKT);
止损:TSell(StopLoss_Sell,0,MKT);
end

IF tHolding = 0 then Begin
震买:TBuy(Shock_Buy,Fund/close,MKT);
趋买:TBuy(Trend_Buy,Fund/close,MKT);
end


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/2/25 9:47:00    Post IP:180.169.30.6[只看该作者]

你输出下你的开平仓条件看下。上面代码没看出来哪里有问题。你开平仓条件的定义不在上面代码里面.


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
chywu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/9/5 17:29:49
  发帖心情 Post By:2019/3/15 11:00:07    Post IP:117.89.70.167[只看该作者]

登录了专业版,做后台程序化交易,是模拟账户
还是上面的代码,注释掉了当前代码所在的行

//IF tBuyHoldingEX('','510500',2) > 999 then Denominator := Denominator - 4;  //500ETF
IF tBuyHoldingEX('','159901',2) > 999 then Denominator := Denominator - 4;  //深100ETF
IF tBuyHoldingEX('','159915',2) > 999 then Denominator := Denominator - 4;  //创业板
IF tBuyHoldingEX('','150131',2) > 999 then Denominator := Denominator - 3;  //医药B
IF tBuyHoldingEX('','159902',2) > 999 then Denominator := Denominator - 2;  //中小板
IF tBuyHoldingEX('','150019',2) > 999 then Denominator := Denominator - 2;  //银华锐进

这样买入条件可以运行,并且是准确的,但是debugfile出来的tholding和todayholding一直是0,所以按上面的逻辑,不会触发卖出条件
看成交回报是成交了的,持仓、log都是好的

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/3/15 11:11:01    Post IP:180.169.30.6[只看该作者]

 这2个函数返回的是可用持仓,你要是股票的话。那得是老仓,否则返回就是0哦。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
chywu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/9/5 17:29:49
  发帖心情 Post By:2019/3/15 14:05:38    Post IP:117.89.70.167[只看该作者]

股票的话,过了夜就应该是可用持仓了吧?
按照卖出的逻辑:
先检查总持仓数量不为0,再检查今日持仓为0,符合这两个条件就卖出,应该怎么写
图表交易这样写的,并且运行良好:
IF Holding > 0 and dayHolding = 0 then Begin
震卖:Sell(Shock_Sell,0,MarketR);
趋卖:Sell(Trend_Sell,0,MarketR);
止损:Sell(StopLoss_Sell,0,MarketR);
end
如果改成后台交易到底应该怎么写
多谢,我已经昏了

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/3/15 14:22:56    Post IP:180.169.30.6[只看该作者]

IF TBUYHOLDINGEX('','',0)=TBUYHOLDINGEX('','',1) and TBUYHOLDINGEX('','',0)<>0 then Begin
    震卖:tSell(Shock_Sell,0,MKT);
    趋卖:tSell(Trend_Sell,0,MKT);
    止损:tSell(StopLoss_Sell,0,MKT);
end

可以这样。判断时候是这样判断的:当日可用=全部可用 且当日可用不等于0.


命数如织,当如磐石。
 回到顶部
总数 17 1 2 下一页