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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如果控制股票的买入次数

   

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


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

主题:如果控制股票的买入次数

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


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
如果控制股票的买入次数  发帖心情 Post By:2017/11/8 19:13:17    Post IP:39.155.215.251[只看该作者]

我在研究股票的程序化操作,清问,如何控制今天的买入次数,比如买入一次以后就不再下单。例子里大多是期货的。如下
IF THOLDING<0 THEN BEGIN
TSELLSHORT(MACD>0 and THOLDING<0, THOLDING, mkt, 0,0,'16801'); //平空
TSELLSHORT(MACD>0,10, mkt, 0,0, '16802'); //平空
END
IF THOLDING=0 THEN  BEGIN
TBUY(MACD>0 and THOLDING=0,10,mkt, 0,0, '16801');//开多
TBUY(MACD>0,10,mkt, 0,0, '16802');//开多
END
请问股票里也是这样写吗?THOLDING是得到当前帐户持可用仓量,因为期货是T+0,所以这样写可以,但是股票是T+1,如果按照字面理解,THOLDING是昨天买入的数量,而我想控制的是今天如果发现已经买入,今天买入的数量不为0,就不再做买入操作,请问如果写呢?不是期货,只是股票程序户

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


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2017/11/8 21:55:03    Post IP:61.173.56.62[只看该作者]

到当前帐户的买入持仓量(多头持仓),

用法:TBUYHOLDING(N)
N表示类型,0表示取当日买持(股票为可用持仓),1表示取全部买持.
该函数返回常数,并且只有在非IB外盘品种下有效

例如:
1、当某品种当前无持仓或空仓时,该函数返回值为0
2、当某品种当前持有5手多仓时,该函数返回值为5.

注意:
在图表交易的ENTERLONG或者BUY等的开平仓条件中使用该后台的常数函数时应该慎重,使用不当会导致严重的漏单事故。
所属函数组:后台程式化交易(专业版)


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


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2017/11/8 21:56:20    Post IP:61.173.56.62[只看该作者]

参数设为1即可,但是要注意后台用的实际持仓,如果你是固定轮询模式,请保证轮询时间尽量不要小于3秒一次,因为报单从委托到成交会有时间差,过快轮询会导致多下单

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


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2017/11/12 0:51:54    Post IP:106.39.82.99[只看该作者]

谢谢解答,另外还有个问题,我想控制的是,下了委托以后,不管是否成交,都不要继续下委托。用你说的TBUYHOLDING只能控制成交后不再继续下单。但是如果没成交的情况下,买入信号如果多次触发,会不会不停的下委托单呢?那样如果最后成交了,成交的就不是我期望的一次委托,而是多次。
而我只想当日只下一次委托,之后不管是否成交,都不再下委托。请问这个如何控制?

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


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2017/11/12 1:00:33    Post IP:106.39.82.99[只看该作者]

举个例子,比如价格小于10元,我会下单9.8买入。因为如果信号发现小于9.8,再买入,可能价格又瞬间回到10元。所以提前在9.8下单。但是这种情况下,代码里如何避免在没有成交的情况下,由于价格小于10元,不停的触发信号,执行9.8元的买入委托单。我只希望下单一次。之后无论是否成交,今天都不再下单。

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


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2017/11/12 15:19:42    Post IP:36.102.226.112[只看该作者]

http://www.weistock.com/WeisoftHelp/index.html
我在这个地址看到的帮助手册里,TBUYHOLDING的语法介绍

TBUYHOLDING(N),N表示类型,0表示取当日买持,1表示取全部买持.

该函数返回常数,并且只有在国内期货品种下有效


而你说是

N表示类型,0表示取当日买持(股票为可用持仓),1表示取全部买持.
该函数返回常数,并且只有在非IB外盘品种下有效


有一些差别,最开始我看见过这个函数,但是语法说只在期货下有效,所以以为在股票里不能用,请问你们的函数更新了吗?最新版的函数介绍地址在哪?



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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/11/13 8:51:44    Post IP:180.169.30.6[只看该作者]

1.函数说明你可以在软件中的公式编辑界面中查看。


图片点击可在新窗口打开查看此主题相关图片如下:7.jpg
图片点击可在新窗口打开查看

2.使用未成交单函数进行限制,只有在空仓并且没有未成交单的时候才开仓。

 

确定指定委托是否有未成交的(当日有效)

用法:TISREMAIN(N),N为委托方向.0所有方向;1开多;2平多;3开空;4平空
该函数返回常数

注意:
1.该函数只有在后台程式化交易运行中有效。该函数依赖TBUY等交易语句或者在交易监控中的手工干预的成交记录。
2.对于单策略多品种监控,只针对监控品种的发单有效,若想获取精确的品种请使用TISREMAINEX函数.
所属函数组:后台程式化交易(专业版)

[此贴子已经被作者于2017/11/13 8:52:56编辑过]


编程无捷径,技巧靠积累。
 回到顶部