以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  [求助]这个长忽闪我想不出解法,求助了  (http://www.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不会闪,搞定。