以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  08.多头海龟交易系统 退出判断的问题,bug?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=167636)

--  作者:xlxl
--  发布时间:2019/1/11 9:42:06
--  08.多头海龟交易系统 退出判断的问题,bug?
研读08.多头海龟系统 发现退出止损语句:
以下内容为程序代码:

1 IF ENTERPRICE-2*N THEN SELL(L<=SELLLLV,100%,MARKET);{退出离盈利头寸}
2 ELSE
3 SELL(L<=ENTERPRICE-2*N,100%,MARKET);{退出亏损头寸}


在http://weistock.com/bbs/dispbbs.asp?BoardID=4&ID=62530&skin=0 中也有提问

这个 ENTERPRICE-2*N 应该是止损价格,  这个判断应该是现价与它比较,close 或者low

查看07.双向海龟交易系统,的离场语句:
以下内容为程序代码:

1     //建立多头止损条件
2     LONGX2 := (LOW<MYENTRYPRICE-2*N) ;
3
4     IF LONGX2 AND POSITION=1 AND BUYORDERTHISBAR=0 THEN BEGIN
5         MYEXITPRICE := IF(OPEN<MYENTRYPRICE-2*N ,OPEN ,MYENTRYPRICE-2*N ) ;        
6         MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ;    
7         SELL( _DEBUG ,0,LIMITR,MYEXITPRICE);
 

所以这个08 里的判断语句是不是有另外的解读还是一个错误?

--  作者:FireScript
--  发布时间:2019/1/11 9:52:57
--  
 那个语句其实相当于

if IF ENTERPRICE-2*N>0 THEN SELL(L<=SELLLLV,100%,MARKET);

而这个N的定义你追溯到前面代码就能找到它的定义,这个N不是代表多少个止损点位的参数。

--  作者:xlxl
--  发布时间:2019/1/11 10:01:29
--  
N:=(19*N+TR)/20;{计算N值} 

用法:
TR,求真实波幅。

--  作者:xlxl
--  发布时间:2019/1/11 10:07:58
--  
我的理解N就是20日平均真实波幅?
 不知道是不是有别的解释?
 

--  作者:FireScript
--  发布时间:2019/1/11 10:24:23
--  
 是的 代码里面有这个注释的。

--  作者:xlxl
--  发布时间:2019/1/11 10:38:45
--  

M:=MA(TR,20); //真实波幅的20周期均值

 

IF BARPOS=21 THEN        //如果从上市到现在的交易日天数等于21,那么  
  N:=M;                    //N=M

 

 

如果  ENTERPRICE-2*N>0  止盈

else

    止损,

 

这里止损不可能达到的,因为ENTERPRICE-2*N 正常情况应该永远大于0的


--  作者:FireScript
--  发布时间:2019/1/11 11:03:48
--  
 那个平仓语句的真正条件应该是
L<=SELLLLV  但是为什么加一个ENTERPRICE-2*N的判断,这个我也无法理解了,注释上也没细说。这些代码时间有点久,细节上可能存在一些问题了。所以这些代码仅供参考吧。