以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  加了就没信号  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=174357)

--  作者:flyme
--  发布时间:2020/2/17 11:45:35
--  加了就没信号

and any(if(TOTALTRADE=0,1,买单buyvol<卖单sellvol),exitbars)
上次平仓以来是否存在:如果交易次数等于0,返回1,否则返回买单小于买单,
这个写法不正确吗?加了就没信号了。

本意是想:比如说开多单,其中之一条件是,判断上次平仓以来是否出现过多单量小于空单量,

[此贴子已经被作者于2020/2/17 11:46:04编辑过]

--  作者:wenarm
--  发布时间:2020/2/17 12:34:46
--  

你这段代码处理的逻辑有问题吧。

 

有没有交易次数,返回值都是0或者1 。然后统计有啥用?

any(TOTALTRADE>0 and 买单buyvol<卖单sellvol,exitbars);

 

建议你把条件都输出看下,造成没有信号的条件是哪一个。

 

或者你把完整代码贴给我们看下。

 

 

 

 


--  作者:FireScript
--  发布时间:2020/2/17 13:16:47
--  
不能这样。开仓如果是需要判断之前平仓历时,那么必须考虑初始开仓这个位置的特殊情况,第一次开仓之前的位置exitbars 肯定是-1. 如果不考虑到这个情况,后面就无法产生信号了。
--  作者:flyme
--  发布时间:2020/2/17 13:28:37
--  
本意是开仓之前判断平仓以来有无买单小于卖单的情况发生。如果没有发生,不开仓。
--  作者:FireScript
--  发布时间:2020/2/17 13:39:31
--  
你第一次开仓时候 前面是什么信号都没有的。所以肯定不存在平仓信号。 所以你必须把第一次开仓单独作为一个情况处理下。
比如这样
 (any(if(TOTALTRADE=0,1,买单buyvol<卖单sellvol),exitbars) or exitbars=-1)

--  作者:flyme
--  发布时间:2020/2/17 14:36:05
--  
谢谢!~~~~