以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]公式判断条件的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=173050)

--  作者:sdjnliuxu
--  发布时间:2019/11/12 9:29:27
--  [求助]公式判断条件的问题
老师您好,我用TYPEBAR函数做为判断条件,交易没有触发,

SELLSHORT(HOLDING<0 AND TYPEBAR(1,4)<5 ,手数,THISCLOSE),ORDERQUEUE;

想法是,如果前4根K线里,有平仓信号,而理论持仓有空单,就下单平仓。
请问老师这个应该怎么写才对?谢谢!

--  作者:FireScript
--  发布时间:2019/11/12 9:39:25
--  
代码没错。
但是这个语句, 你如果只有这样的一句平空仓语句,永远也无法触发。
TYPEBAR(1,4)<5

你必须有一个最起始的平仓信号才行。因为后面平仓都依赖前面的平仓,那么很简单的问题第一个平仓是怎么触发的?第一个平仓前面必然是没有平空仓的。

--  作者:sdjnliuxu
--  发布时间:2019/11/12 9:50:40
--  
是因为信号闪烁,如用持仓同步,会频繁开平仓,所以想自己写一个判断。

我试了一下用 DD:TYPEBAR(1,4) ,可以正确的取到上个信号到当前K线的周期值,

比如前2根有平仓信号,后面1根会正确取到上次平仓周期为1,再后面1根会取到上次平仓周期为2

但是用TYPEBAR函数做为判断条件时,又不能触发下单,所以很奇怪。




--  作者:FireScript
--  发布时间:2019/11/12 10:01:53
--  
 就是能取到,函数是没有问题的。
但是你不能只有这个做平仓条件,必须有个初始的信号,也就是第一次平仓时候的问题。你这个就是鸡和鸡蛋的问题。你想要鸡蛋 前提是要有个鸡 怎样有鸡,你得有个鸡蛋。。。

你必须保证第一次平仓 是不需要考虑 TYPEBAR(1,4)<5的



--  作者:sdjnliuxu
--  发布时间:2019/11/12 10:30:39
--  
请问老师,为空怎么判断,像取到这种"##"的值。
比如 上次多平: ## 上次空平: ##

--  作者:FireScript
--  发布时间:2019/11/12 10:36:10
--  
 这样处理:

not(TYPEBAR(1,4))  返回值是1的时候 说明前面是没有一次平空信号的。