研读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 里的判断语句是不是有另外的解读还是一个错误?
那个语句其实相当于
if IF ENTERPRICE-2*N>0 THEN SELL(L<=SELLLLV,100%,MARKET);
而这个N的定义你追溯到前面代码就能找到它的定义,这个N不是代表多少个止损点位的参数。
M:=MA(TR,20); //真实波幅的20周期均值
IF BARPOS=21 THEN //如果从上市到现在的交易日天数等于21,那么
N:=M; //N=M
如果 ENTERPRICE-2*N>0 止盈
else
止损,
这里止损不可能达到的,因为ENTERPRICE-2*N 正常情况应该永远大于0的
那个平仓语句的真正条件应该是
L<=SELLLLV 但是为什么加一个ENTERPRICE-2*N的判断,这个我也无法理解了,注释上也没细说。这些代码时间有点久,细节上可能存在一些问题了。所以这些代码仅供参考吧。