学习系统自带的海龟,出现一个问题
10日和2N退出,要是出现在同一天的话,会选择10日退出
比如,2N退出亏一万,10日退出亏二万。按标准止损2N那里就该出了。
出现这样的问题,是因为这是模拟盘吗?那么实盘会不会这样
还有,我在代码里调整了一下2N和10日退出的代码顺序
原来是10日排在上面,2N在下
我改为2N在上,10日在下,一下就正常了
你用的是哪一个海龟?系统自带的是2个海龟系统。我没找到你描述的这段代码。
SHORTX1 := H > T10HI ;
IF SHORTX1 AND BUYORDERTHISBAR=0 THEN BEGIN
MYEXITPRICE := IF(OPEN>T10HI+MINDIFF ,OPEN ,T10HI+MINDIFF ) ;
SELLSHORT( _DEBUG,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
//建立空头止损条件
SHORTX2 := HIGH > MYENTRYPRICE + 2*N ;
IF SHORTX2 AND POSITION = -1 AND BUYORDERTHISBAR=0 THEN BEGIN
MYEXITPRICE := IF(OPEN>MYENTRYPRICE+2*N ,OPEN ,MYENTRYPRICE+2*N ) ;
MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ;
SELLSHORT( _DEBUG,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
就是这段了
我以为是模拟的时候,从上往下执行。
执行到第一个条件时,当天的K线满足,就执行了。
以下是引用FireScript在2018/1/30 13:19:11的发言:
你用的是哪一个海龟?系统自带的是2个海龟系统。我没找到你描述的这段代码。
你看看
这2个条件 首先按照代码执行顺序 谁先触发谁先平仓。这样才出现你说的情况。你可能需要计算 T10HI和 MYENTRYPRICE + 2*N 之间的大小关系。再执行止损。这是你需要的吗?