以文本方式查看主题

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

--  作者:渴望知识
--  发布时间:2015/2/16 16:22:54
--  求教交易机制信号过滤

老师,请教一下。

我如何在已经开仓后,如果没有进行平仓,那就不再执行开仓信号。

我没找到这个应用的语句。

文华里用的是信号过滤机制,咱们不知道有没有这样的:

 

AUTOFILTER 启用信号过滤机制。

用法:模型中含有AUTOFILTER函数,则启用信号过滤机制。

过滤模型的过滤规则:
1、连续的同方向指令只有第一个有效,其他的将被过滤;
2、交易指令必须先开仓后平仓,一开一平配对出现:
出现BK指令,下一个指令只允许出现SP指令;
出现SK指令,下一个指令只允许出现BP指令;
出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个;
反手指令SPK和BPK交叉出现。

 


--  作者:jinzhe
--  发布时间:2015/2/16 16:30:45
--  
一般用holding=0
--  作者:jinzhe
--  发布时间:2015/2/16 16:31:01
--  
if holding=0 and 开多条件 then buy.....;
--  作者:渴望知识
--  发布时间:2015/2/16 21:27:39
--  

是这样的,我也想是同方向的只开一次,也要等待这个开仓被平仓后再开仓,也就是说白了,我手中就始终只有一单1手,不去进行加仓减仓的动作,用HOLDING如何实现?

您上面写的,是指无单的情况下吧,不是我想要的啊。

我目的就是在有单的情况下过滤掉再次出现开仓信号的情况。

[此贴子已经被作者于2015/2/16 21:28:42编辑过]

--  作者:渴望知识
--  发布时间:2015/2/16 21:32:51
--  

是这样的,我也想是同方向的只开一次,也要等待这个开仓被平仓后再开仓,也就是说白了,我手中就始终只有一单1手,不去进行加仓减仓的动作,而只有平仓或反手的动作,用HOLDING如何实现?

您上面写的,是指无单的情况下吧,不是我想要的啊。

我目的就是在有单的情况下过滤掉再次出现开仓信号的情况。

是不是可以这样写:

if holding <>o then ......

 

这个 then 后面应该写什么呢?

[此贴子已经被作者于2015/2/16 21:33:31编辑过]

--  作者:渴望知识
--  发布时间:2015/2/16 21:42:54
--  
这个我刚才也查了一下,我个人感觉好像不能使用exit这个语句吧,就直接停止了,当平仓后就不再出现开仓了。
--  作者:jinzhe
--  发布时间:2015/2/17 8:51:03
--  
就是holding=0,你看看用了之后还会出现开仓吗?
--  作者:渴望知识
--  发布时间:2015/2/17 14:24:46
--  

谢谢,知道在哪里去写这个了,谢谢。


--  作者:渴望知识
--  发布时间:2015/2/17 15:11:00
--  

老师,还得请教啊,这个语句他说控制符不对:

zd:=dkqz>ref(dkqz,1) and CROSS(dkqz,bfbg);//开多条件
zk:=dkqz<ref(dkqz,1) and cross(bfbg,dkqz);//开空条件

 

KD:if holding=0 and zd then BUY(zd,1,THISCLOSE); //开多
KK:if holding=0 and zk then BUYSHORT(zk,1,THISCLOSE);//开空

 

说THISCLOSE这个只能用在交易系统里面,我现在就是编辑的图表交易,不知道为什么?


--  作者:渴望知识
--  发布时间:2015/2/17 15:16:51
--  

哦了,我知道了,把IF后的语句添加到BUY里面。

明白了。