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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 不用K线结束做判断真的就不行吗?

   

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


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

主题:不用K线结束做判断真的就不行吗?

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


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

(1)第一次显示图标“开多”后,Done置为1,下次轮询来临时,开仓条件不成立才对。为什么Done又变成0导致反复开仓呢? Done可是全局变量,只初始化一次才对!问题出在哪?

 

就是针对你的这个描述讲的,为什么又变成0导致反复开仓,就是因为公式又刷新一次后,全局变量又变了回去,1根k线之内,每刷新计算一次公式,变量就又变会原来的状态了,当根k线变量的最终值,是要等k线走完之后的最终数据,一个k线中间值的变化,是不会被记录的,就好比你讲的条件满足了变量变回1了为什么又变回0了,因为变为1是k线中间值,当信号闪烁之后,条件不满足,不计算,那么先前一根k线中的计算,是不会被记录的

 

而你一直强调的公式计算一次20ms,而一个tick是500ms,这个和变量的变化方式没有关系,除非你的公式计算太复杂超过1s一次,那么1秒轮询时系统会舍弃掉一次轮询的计算。变量的最终结果看的是一根k线,一根k线没有走完,那么当根k线的变量计算,一直是 新数据来了之后先变回上根k线的值----计算公式,通过公式计算出新的结果----然后新数据又来了这时变量又变回上根k线的值----再计算,得出一个新的结果

[此贴子已经被作者于2016/1/12 10:12:36编辑过]


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

客户服务部

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

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

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


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

我并没有认为你的结论是正确的,我一直在从我的角度排查问题,其中包括发现了有触发信号但是没有下的情况,所以才一直追问帐号

让你误会了真实不好意思



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2016/1/4 10:41:26
  发帖心情 Post By:2016/1/12 11:49:23    Post IP:111.202.249.9[只看该作者]

谢谢大师的耐心解答!:)

好吧,我就先试着理解大师的观点。

一个k线中间值的变化,是不会被记录的”。

1.    以前日志中有不少成功开仓的历史记录,所以账号问题基本可以排除。
2。 如果说的是在图表中的显示问题,最后当然是以K线结束后的条件决定了,盘中的显示是动态的。我完全同意。
3。 盘中闪烁引起的语句执行问题,分两种情况:
    (1)当轮询满足条件执行时只是瞬间的事,所用时间应该远远小于两个Tick之间的空隙,在没有下一个Tick数据过来干扰的前提下,语句执行瞬间时的H和C应该是保持固定的(尽管这种固定的时间可能很短,会被后面的数据刷新,但这个很短的固定时间应该是足够的!),信号如何闪烁呢?从日志上看,整个程序执行一遍,所需时间为14MS,远小于一个TICK的500MS。所以新的TICK数据刷新一说难以成立! 退一步讲,当盘中不断创新高时,比方说,C有100次变成H时,即使运气不好轮询执行时漏掉50%的信号(漏掉和不漏掉的概率应该各占50%吧?),可只要有一次执行时被正好“撞”上了,那就应该执行相关语句才对!不会运气这么差满足条件的信号全部被漏掉???!
          我尝试着把C>=H 换成C>=H-1 以减少被”闪烁漏掉“的几率,结果一样!由此可以判断:盘中显示”开多“之后,说明触发条件成立并执行buy、done 等相关语句,但随后相关语句”执行后“又被”闪烁掉“的元凶并不是当时瞬间不稳定的微小价格波动引起的”再确认“,而是该级别K线的收盘价格引起的”闪烁”判断
    (2)既然盘中K线内的条件无效,需要K线的收盘的条件最后进行”闪烁“或者确认,哪问题又来了,我们如何理解:
            (A)论坛中大量的帖子中,有K线内提前N秒N分钟下单的实例,哪又如何理解?难道都是自己骗自己其实电脑根本没有提前执行的代码吗?
            (B)图表程序化运行模式中有两个选项:固定时间间隔和走完一根K线以后。既然有这样两种独立的处理模式,就说明固定时间间隔模式即K线内处理下单模式,并不需要后者K线收盘条件进行验证!也就是说,盘中K线内的条件可以及时处理,而无需等到K线的收盘的时候!!!

       逻辑上的理解有处于两难,互相矛盾!所以,我大声问:

   不用K线结束做判断真的就不行吗?金字塔K线内的判断处理机制是怎样的啊???——— 这个问题有点牛角尖,但对我们来说很重要,能否让研发设计人员给我们透个底?万分感谢啊!!!


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


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

1.这是你把系统不下单的原因理解错:你的逻辑是,没有下单,但是有信号触发,所以认为信号满足之后变量变了为什么过了一会信号没了之后又有信号了,这个前面讲过是信号闪烁的原因。后面又讲了出信号不下单的,这是一个新问题,但是我感觉你好像把两个问题混在一起了。不下单触发有好多原因,我看你的日志所以一直再问你账号问题,你的日志里面记录了几条信号触发但是却没有下单,不下单的原因有很多,要一个一个排查,最基本的就是看你帐号登录了没。

2.

A.条件不是一定会闪烁的,明白吗?你的条件闪烁了但是其他代码不一样会闪烁

B.轮询是有风险的,但是能够及时抓住实际;走完k线是稳妥的,但是要等到一根k线走完之后才确认信号下单。你可以自由选择任何一个,并承担随之而来的风险,我们不强迫用户使用哪一个



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2016/1/4 10:41:26
  发帖心情 Post By:2016/1/12 14:49:14    Post IP:111.202.249.9[只看该作者]

谢谢大师!

可能是楼歪了,我们的关注点有些错位。我关注的不是开不开单的问题,而是程序运行的逻辑问题。

If  Done=0   then  //空仓时   
    begin 
      if  C>=Roof then
          begin
             BUY(1,1,market);                       //开多
             Done:=1;
           多头成交变化:Done,linethick0;             
          end

当条件满足时, BUY(1,1,market); Done:=1; 被依次执行。 用你的话说“后来闪烁了,语句又恢复执行之前的值”——这很让人生疑?

我把条件换成C>=H-1,按理说没闪烁了吧?但执行结果一样,下次轮询时Done又从1变成了0! 

现在的分歧是:不是关注因为闪烁而漏掉信号的不稳定性问题,而是非常稳定、稳定地漏掉所有信号的问题,所以我想知道金字塔处理的逻辑,否则写任何程序心里都没底!

有可能表达得不够清晰,大师抽空把我贴的程序走一走吧,谢谢!

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


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

1.当条件满足时, BUY(1,1,market); Done:=1; 被依次执行。 用你的话说“后来闪烁了,语句又恢复执行之前的值”——这很让人生疑?
那么就再重复一遍,一根k线结束之前,公式里面的变量都是这样的:新数据来了之后先变回上根k线的值----计算公式,通过公式计算变量得出新的结果----然后新数据又来了这时变量又变回上根k线的值----再计算,变量得出一个新的结果。
 所以,done的变化结果是这样的:上跟k线的值是0----新数据来了,done先变回上根k线的值0,然后进行公式计算,假如满足条件,done变成1----新数据又来了,done先变回上根k线的值0,然后进行公式金酸,假如条件不满足,done的值不变,仍然是0-----就这样循环往复,直到当根k线最后一笔数据,才确定这根k线上,done的最终值。
2.我把条件换成C>=H-1,按理说没闪烁了吧?但执行结果一样,下次轮询时Done又从1变成了0! 
莫名的自信,这是典型的会闪烁的条件,close是可大可小的,H-1只会变大不会变小,两者结合判断就是一个有变化的结果,假设当前close是100,H是100.2,那么当前是成立的;但是随着行情发展,当根k线的H值如果要变那么只会:变大,而close则会变大变小,当close 值变小时,就有可能导致条件不成立,比如close值是99,而h的值是101,那么条件就不成立了。
3.漏掉信号就如同之前说过,是下单问题,我在日志里面看到了有信号不触发,所以才从最基本的帐号是否登陆开始,检查下单问题。而你把下单问题和闪烁问题一起递进理解了,搅合到了一起。
4所以综上所述,你听不进我的解释,还是认为下单问题和闪烁问题是一回事。


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2016/1/4 10:41:26
  发帖心情 Post By:2016/1/18 0:51:24    Post IP:111.161.77.200[只看该作者]

多谢大师,理解了几天,好像是明白了,惭愧!哈哈

 回到顶部
总数 27 上一页 1 2 3