以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]这个长忽闪我想不出解法,求助了 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=96196) |
-- 作者:netfox -- 发布时间:2016/4/12 23:34:06 -- [求助]这个长忽闪我想不出解法,求助了 我做了一个时间周期计数, 求X周期内持仓方向最高点距离当前的位置。 然后只要到达某个时间点没有新高新低(看持仓方向) 则立即在open平仓。 这本来没问题,然而我遇到问题, 在少部分周期下, open执行的那个K线不久又新高或者新低了,于是平仓信号就丢失了。
我想解决问题是一定在X到达open平仓,不管这个K线事后到底有否新高还是新低。
这个问题主要出在统计新高新低最后位数,如果K线出来无变化是执行平仓的,但是如果一定时间后新高新低则条件不成立了。
没想通怎么限定不管变啥一旦周期到立即执行不改变的 |
-- 作者:jinzhe -- 发布时间:2016/4/13 9:09:43 -- 要不你用走完k线吧? |
-- 作者:netfox -- 发布时间:2016/4/13 11:21:59 -- 以下是引用jinzhe在2016/4/13 9:09:43的发言:
要不你用走完k线吧? 时间周期大ref一次可以完蛋了, 问题应该就是在最后一个周期去判断新高新低了。 提前一个么不对头,减后一个么坑人。 问题已经知晓,可没啥解决方案想出来啊。 |
-- 作者:jinzhe -- 发布时间:2016/4/13 11:30:21 -- 那需要判断 l<高点 or h>低点,这样不管是不是有创新高新低都不影响了 |
-- 作者:netfox -- 发布时间:2016/4/14 9:32:51 -- 怎么与我的想法不同? 哦,你是当价格了。 我是用时间统计的
以下内容为程序代码:
1 TIMESTOP:=22; 2 3 高:if(HOLDING>0,HHVBARS(H,ENTERBARS+1),DRAWNULL),NODRAW; 4 低:if(HOLDING<0,LLVBARS(L,ENTERBARS+1),DRAWNULL),NODRAW; 5 6 if HOLDING>0 and 高>=TIMESTOP then BEGIN 7 多平:SELL(holding>0,holding,LIMITR,open); 8 end 9 10 if HOLDING<0 and 低>=TIMESTOP then BEGIN 11 空平:SELLSHORT(holding<0,holding,LIMITR,open); 12 end
我算的是当前距离持仓周期内最高或者最低的距离,距离到达则立即平常,没在判断价格。 [此贴子已经被作者于2016/4/14 9:33:26编辑过]
|
-- 作者:jinzhe -- 发布时间:2016/4/14 9:42:19 -- ((高>=TIMESTOP) or (h=hhv(h,enterbars+1))) ((低>=TIMESTOP) or ( l=llv(l,enterbars+1))) 那判断条件改成这样呢? [此贴子已经被作者于2016/4/14 9:42:29编辑过]
|
-- 作者:netfox -- 发布时间:2016/4/14 22:13:48 -- 以下是引用jinzhe在2016/4/14 9:42:19的发言:
((高>=TIMESTOP) or (h=hhv(h,enterbars+1))) ((低>=TIMESTOP) or ( l=llv(l,enterbars+1))) 那判断条件改成这样呢? [此贴子已经被作者于2016/4/14 9:42:29编辑过]
用and ,不校验高低,是校验timestop出现open ,只要open不是新高与新低,说明就可以执行,判断open就成 当根K线的open不会闪,搞定。 |