以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  海龟策略流程控制没怎么弄明白。  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=161369)

--  作者:qq代人发帖
--  发布时间:2018/1/30 12:33:20
--  海龟策略流程控制没怎么弄明白。
学习系统自带的海龟,出现一个问题
10日和2N退出,要是出现在同一天的话,会选择10日退出
比如,2N退出亏一万,10日退出亏二万。按标准止损2N那里就该出了。

出现这样的问题,是因为这是模拟盘吗?那么实盘会不会这样

还有,我在代码里调整了一下2N和10日退出的代码顺序 

原来是10日排在上面,2N在下
我改为2N在上,10日在下,一下就正常了

 


--  作者:FireScript
--  发布时间:2018/1/30 13:19:11
--  
你用的是哪一个海龟?系统自带的是2个海龟系统。我没找到你描述的这段代码。
--  作者:一点2015
--  发布时间:2018/1/30 14:33:37
--  
 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线满足,就执行了。

--  作者:一点2015
--  发布时间:2018/1/30 14:34:52
--  
以下是引用FireScript在2018/1/30 13:19:11的发言:
你用的是哪一个海龟?系统自带的是2个海龟系统。我没找到你描述的这段代码。
 你看看


--  作者:FireScript
--  发布时间:2018/1/30 16:46:13
--  

这2个条件 首先按照代码执行顺序 谁先触发谁先平仓。这样才出现你说的情况。你可能需要计算 T10HI和  MYENTRYPRICE + 2*N  之间的大小关系。再执行止损。这是你需要的吗?


--  作者:一点2015
--  发布时间:2018/1/30 17:26:22
--  
 模拟盘已经解决这个问题,我调整了一下顺序就成了。
实盘不会出现 我描述的问题。
你说的方法是个思路。