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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 重复开仓的问题

   

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


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

主题:重复开仓的问题

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/6 13:19:56    Post IP:58.246.57.26[只看该作者]

你一直坚持的变量问题,我会从头推翻,按照金字塔的思路写一个新的出来


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
  发帖心情 Post By:2015/3/6 13:40:40    Post IP:110.84.52.125[只看该作者]

现在重复下单不是在同一周期发生,因此,估计不是信号闪烁的问题,当然,如果我的代码有信号闪烁的问题,也帮忙指出来。

 

由于在模拟下测试正常,因此那些下单手数的控制应当是对的,我跟踪过变量并分析过日志,都是正常的。

 

现在我最急需解决的就是控制标志位防止重复下单的问题,不知道贵方有没有更好的思路或做法?最好能适应多个买卖点控制一个点只能做一次买卖操作。


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/6 13:48:33    Post IP:58.246.57.26[只看该作者]

那么我问你,信号触发开仓,等行情过去之后没信号,你是做什么判断的?你的重复下单是信号闪烁导致的,怎么到现在还坚持不是信号闪烁?



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
  发帖心情 Post By:2015/3/6 14:15:20    Post IP:110.84.52.125[只看该作者]

实在抱歉,我们两个人原来一直基于不同的原因推论在讨论。

首先,信号闪烁的确造成我的程序一直在不断刷出被执行的信息,但实际可能刷10次只会真实开一单出来,因此我想金字塔可能是在后台有保护。我也加了一些防闪烁的代码,包括使用HIGH和LOW,在一开始进行一下判断,如果有好的解决方案请帮忙指导一下。。

不过我根据日志分析的结果,重复下单是不同K线触发的,比如一个价格买了后,按理不能再买了,但价格回来后又买一次,所以我才觉得这个问题可能不是信号闪烁问题,而是如您所说是全局数组的问题,而这个问题对我来说是最着急的,可能真如您所说,需要换掉。但我不知道该用什么来替换全局数组来保存多个的全局标志位?

 

我想你们应当对这种基本问题很有经验,会有一些通用的解决办法,还请指点一二。


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/3/6 14:23:04    Post IP:58.246.57.26[只看该作者]

2015-03-05 14:40:59.272 2015.03.05 14:40:59【图表】框架:TWS009 触发下单 BUYSHORT 品种 L09 下单K线 2015.03.05 14:42:00 公式:KKSS03 窗格ID:22 代码行:181

2015-03-05 14:41:59.445 2015.03.05 14:41:59【图表】框架:TWS009 触发下单 BUYSHORT 品种 L09 下单K线 2015.03.05 14:43:00 公式:KKSS03 窗格ID:22 代码行:181

日志上已经说的很清楚了,你的2次开仓是不同的K线上的,你的模型下单逻辑上存在问题,建议你能静下心来好好的学习一下调试技巧,重点学习记录变量文件部分的

参考 DEBUGFILE----使用日志方式完善您的策略

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428



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

金字塔-技术部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/6 14:25:33    Post IP:58.246.57.26[只看该作者]

你的调试方法不对,你要调试也要加一句islastbar

 

   IF ABS(HOLDING)>=MAX_hold and islastbar THEN BEGIN
        MSGOUT(TRUE,'警告:持仓达到上限,停止开空!');//NOAXIS,COLORGRAY;警告:"持仓达到上限,停止开空!";
        SENDPHONEMSG('警告:持仓达到上限,停止开空!',1);
      END

 

不加islastbar会在历史k线上也出调试信息,所以你不停的刷就是历史k线上在刷,

 

而且你不能用在开仓那一段里面,那里的循环语句形成了循环发送,放在公式最后。比如这样的,放在所有的公式代码最后。你自己再调试看看

 


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


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/6 14:26:38    Post IP:58.246.57.26[只看该作者]

你现在的推论都是基于自己的调试给的信息,所以你用我办法调试看看,是不是不停的再发


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
  发帖心情 Post By:2015/3/6 14:27:45    Post IP:110.84.52.125[只看该作者]

我写了一个简单的程序,不用数组,的确可以防止重复开单,不过对于我需要很多个买点和标志位的,写起来就很麻烦了。

另外,您刚才说的“信号触发开仓,等行情过去之后没信号,你是做什么判断的”我的确没有做判断,我只是第一时间冲进去,买完就不能再买了。

所以如果不做信号闪烁处理,的确还有您说的,实际不会开仓的问题。

不过下面这段代码,刚才也是有时能开出来,有时开不出来。虽然在盘中的时候OPEN>0是恒成立的。所以这又出来第三个问题。

 

VARIABLE:aa=0;
buycon:=OPEN>0 and aa<2;
if buycon THEN BEGIN
buyshort(1,1,MARKET);
//if aa>2 then aa:=1;
aa:=aa+1;
msgout(TRUE,'买一手');
end


持仓:holding,linethick0;
资产:asset,noaxis;
资金:cash(0),linethick0;


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


加好友 发短信
等级:论坛游侠 帖子:152 积分:0 威望:0 精华:0 注册:2015/3/2 13:11:05
  发帖心情 Post By:2015/3/6 14:28:53    Post IP:110.84.52.125[只看该作者]

如果不做信号闪烁处理,的确还有您说的,存在有可能会在信号消失后,实际开不出仓的问题。这个问题又如何解决呢?

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/3/6 14:36:34    Post IP:58.246.57.26[只看该作者]

另外,您刚才说的“信号触发开仓,等行情过去之后没信号,你是做什么判断的”我的确没有做判断,我只是第一时间冲进去,买完就不能再买了。

 

 

造成信号闪烁的原因就是条件从成立变成不成立,也就是你原来成功下单之后,做禁止下单的变量,也会变成下单之前的状态,变成了可以开仓的状态。这才是到了后面的k线会接连开仓的原因



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
总数 90 上一页 1 2 3 4 5 6 7 8 9 下一页