Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:这个条件过滤如何表达?

1楼
新手上路啊 发表于:2014/2/2 17:14:22
 老师,我想在日内模型中加入一个这样的条件过滤:
连续两次开多(或开空)被止损后(如果是开多的话,中间有开多赢利的话就不算),下一次开多(有可能是当天或不是当天了,或是1、2天后的)的价格必须大于上一次开多时的开仓价格。
请教应如何表达?先谢了!
2楼
新手上路啊 发表于:2014/2/3 10:51:08
 这条件看似简单,难度却不了,难点在于:
一是连续两次的统计表达;
二是日内模型,却有可能要调用昨天甚至前几天的相关数据,包括开平仓信息、上次被止损平仓的开仓价;
以开多为例:前天有1次开多是达到止损条件而平仓出场的,昨天也有1次开多是达到止损条件而平仓出场的,
中间无论是否出现N次开空的止赢止损都不影响条件成立,但如果有出现开多的,只要它是止赢或是正常收盘平仓等(只要不是被止损出场)的,
那止条件就不成立了。
恳请老师和各位高手指教!!!
3楼
jinzhe 发表于:2014/2/7 9:15:45

variable:n=0;

if holding>0 and 多仓止损条件 then begin

    sell(1,0,market);

    n:=n+1;

end

if holding>0 and 其他平仓条件 then begin

    sell(1,0,market);

    n:=0;

end

 

n=2就表示你的连续两次了,用全局变量来记录止损的次数,如果非止损平仓的那么就把全局变量重置为0

4楼
新手上路啊 发表于:2014/2/7 14:45:39
 新年好!感谢老师指点!虽然我的平仓条件较多,但这个确实也是解决思路来的。另外,我想加入一个时间限制:三日内,连续有连续两次开多被止损的,这个“三日内”如何表示好一点?谢了
5楼
jinzhe 发表于:2014/2/7 14:56:58

variable:n=0;

if holding>0 and 多仓止损条件 then begin

    sell(1,0,market);

    n:=n+1;

end

if holding>0 and 其他平仓条件 then begin

    sell(1,0,market);

    n:=0;

end

d1:valuewhen(n=1 and ref(n=0,1),date);

d2:date;

d2-d1<3

d1是第一次止损平仓的日期,d2是当前日期,相减后判断是否小于3就行

共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.