以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 请教如何过滤反向开仓信号? (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=6244) |
-- 作者:nbc -- 发布时间:2011/4/20 22:08:24 -- 请教如何过滤反向开仓信号?
TFILTER能过滤同向开仓信号,但过滤不了反向开仓信号,如有多仓情况下,还没符合平多仓条件,但符合开空头条件时,系统会开空头。
{开多}ENTERLONG:HIGH>HK,TFILTER; |
-- 作者:阿火 -- 发布时间:2011/4/21 8:23:56 -- 这个不是软件问题,是你逻辑问题
用sfilter 这个函数。
SFILTER(X,COND):X满足条件后,将其后所有周期内的数据置为0,直到COND条件满足为止 [此贴子已经被作者于2011-4-21 8:25:14编辑过]
|
-- 作者:nbc -- 发布时间:2011/4/21 9:39:51 -- 这个SFILTER好像还是过滤同向反复开仓的信号。 我要解决的问题是: 如果首先出现HIGH>HK,开多仓后,在没有出现LOW<LP之前(也就是没有平多之前),过滤LOW<LK的信号,防止开空仓。 我现在进行模型测试的时候,发现在没有平多仓前,出现了开空信号。导致整个模型运行不正常。 我现在用文华,想学习金字塔。这问题在文华2009不用考虑,开平仓是默认成对出现的。holding查了一下,好像不支持历史数据测试?而且免费版不能用。
{开多}ENTERLONG:HIGH>HK,SFILTER(HIGH>HK,HIGH>HP);//这样写?但若LOW<LP平仓后,但HIGH<HP,又出现HIGH>HK,则平仓后,先出现开多信号时,好像又不正常了。 {平多}EXITLONG:LOW<LP,TFILTER; [此贴子已经被作者于2011-4-21 9:40:48编辑过]
|
-- 作者:阿火 -- 发布时间:2011/4/21 9:52:16 -- 我明白你的问题。用sflter这个函数可以解决你的问题 [此贴子已经被作者于2011-4-21 10:07:36编辑过]
|
-- 作者:nbc -- 发布时间:2011/4/21 22:49:48 --
今天试了以下四个方案,经过仔细检查测试的开仓信号,均有开仓不正常的地方(虽然概率很低,1分钟K线有时要检查几个月才发现问题): 策略测试时,已选择“出现连续信号时 不再投入” 平仓语句没用SFILTER,难道是这问题?组合太多,检查不容易。
1、 {开多}ENTERLONG:HIGH>HK,TFILTER;//有开仓信号不对 2、 {开多}ENTERLONG:SFILTER(HIGH>HK,HIGH>HP);//过滤开仓信号失败 3、 {开多}ENTERLONG:SFILTER(HIGH>HK,LOW<LP),TFILTER;//开仓信号不对
4、 {开多}ENTERLONG:SFILTER(HIGH>HK,(LOW<LP AND HIGH>HP));//开仓信号最不正常 |