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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → buy函数怎么把重复信号屏蔽掉?

   

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


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

主题:buy函数怎么把重复信号屏蔽掉?

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


加好友 发短信
等级:论坛游民 帖子:110 积分:0 威望:0 精华:0 注册:2014/11/16 9:07:23
  发帖心情 Post By:2016/5/18 11:19:58 [只看该作者]

用TBUYHOLDING(1)试了一下,还是有一些不足的问题。
1、它可以屏蔽掉最后一根K线的信号,在固定时间间隔模式下,是有用的,当然有时会连续报单,导致重复,这只能通过延长时间间隔加上市价市单的方法解决。
2、在走完一根K线模式下,它完全就没用,因为当走完一根K线变成了倒数第二根,系统会直接报单买入,走完一根K线的模式,貌似还没有解决办法。
卖出股票,还没发现问题,就是买入股票比较麻烦。

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/5/18 11:30:23 [只看该作者]

如果可以,尽量不要在图表上用这些后台用的函数,因为本身图表受历史信号影响,不建议使用。


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


加好友 发短信
等级:论坛游民 帖子:110 积分:0 威望:0 精华:0 注册:2014/11/16 9:07:23
  发帖心情 Post By:2016/5/18 11:38:53 [只看该作者]

用holding加走完一根K线模式也可以操作,就不需要后台了,但得想办法把其他当天的信号屏蔽掉,比较麻烦。

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


加好友 发短信
等级:论坛游民 帖子:110 积分:0 威望:0 精华:0 注册:2014/11/16 9:07:23
  发帖心情 Post By:2016/5/18 11:44:48 [只看该作者]

不对
[此贴子已经被作者于2016-5-18 11:45:44编辑过]

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


加好友 发短信
等级:论坛游民 帖子:110 积分:0 威望:0 精华:0 注册:2014/11/16 9:07:23
  发帖心情 Post By:2016/5/18 14:31:19 [只看该作者]

今天模拟跑,用TBUYHOLDING(1)跑固定时间间隔,10秒,1分钟线,失误了一次,多买了一手,说明也不是百分百的可靠。

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/5/18 14:39:43 [只看该作者]

那就用固定轮询,然后条件用ref(cond,1)取上一根k的条件,这样就可以用islastbar来控制了。

另外,这种使用方式本身就是自行车轮装汽车的做法,通过代码强行要控制图表历史信号的话比较麻烦,特别是逻辑上要考虑的会相比普通使用来的多得多。

 


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/5/18 15:10:30 [只看该作者]

if barpos < datacount-1 then

begin

  buy(cond and TBUYHOLDING(1)= 0,....);

end;

else

begin

  buy(cond and holding = 0,....);

end;

 

这样就能控制在最后2根K线信号内实盘交易不会出现信号

编程需要一些技巧和逻辑思维的

[此贴子已经被作者于2016-5-18 15:11:00编辑过]


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/5/18 15:12:52 [只看该作者]

另外有个东西我们不太明白,既然你是走完K线了,那么怎么还会出现信号消失,建议检查你的代码,是否存在未来数据和跨周期指标引用这样的问题



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2017/6/2 8:45:10 [只看该作者]

程序设计不好

如果是逐k线可以这样:
variable:c1=1;
variable:c2=1;

if ....and c1>0 then
begin
sellshort(1,....);
buy(........);
c1:=-1;
c2:=1;
end

iif ....and c2>0 then
begin
sell(1,....);
buyshort(........);
c2:=-1;
c1:=1;
end

这个是用于一些复杂逻辑的控制,简单情况用holding=0就可以了。

 回到顶部
总数 19 上一页 1 2