以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  将cci指标带入海龟交易系统,测试增利B时出现问题如下  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=12684)

--  作者:zjzer
--  发布时间:2012/6/28 16:15:53
--  将cci指标带入海龟交易系统,测试增利B时出现问题如下

交易系统:

VARIABLE:dayCount=1,PositionCount=1,SellSign=0;
VARIABLE:EntAndExitSign=1,EntPoint=0,ExitPoint=0;
VARIABLE:N=0;

MA1:MA(C,5);
MA3:MA(C,10);

CCI:="CCI"(14);
M:=MA(TR,20);
BUYHHV:=cross(cci,0);
SELLLLV:=cross(0,cci);

ss:n,linethick0;

IF BARPOS>=21 THEN BEGIN
IF BARPOS=21 THEN
N:=M;
IF DayCount=6 OR BARPOS=21 THEN BEGIN{5天调整N值}
N:=(19*N+TR)/20;{计算N值}
DayCount:=2;
END
DayCount:=DayCount+1;
EntPoint:=ENTERBARS+1;
IF EntPoint=EntAndExitSign THEN BEGIN{说明STOP指令买进头寸成功}
PositionCount:=PositionCount+1;{头寸计数}
SellSign:=True;{开始以STOP卖出,如果达到指定的价格}
END
IF PositionCount=1 THEN BEGIN{第一头寸}
HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
开1:BUY(BUYHHV,HOW,MARKET);{在20日新高STOP指令买进}
END
IF PositionCount=2 THEN BEGIN{如到第二头寸}
HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
开2:BUY(h>=ENTERPRICE+0.5*N,HOW,MARKET);{在上头寸(即第一头寸)+0.5个N以STOP指令买进}
END
IF PositionCount=3 THEN BEGIN{如到第三头寸}
HOW:=CASH(0)*0.01/N;
开3:BUY(h>=ENTERPRICE+0.5*N,HOW,MARKET);{在上头寸(即第二头寸)+0.5个N以STOP指令买进}
END
IF PositionCount=4 THEN BEGIN
HOW:=CASH(0)*0.01/N;
开4:BUY(h>=ENTERPRICE+0.5*N,HOW,MARKET);
END
IF SellSign=True THEN BEGIN
    ExitPoint:=EXITBARS+1;
    IF ExitPoint=EntAndExitSign THEN BEGIN {说明卖出成功}
       PositionCount:=1;{头寸计算复原}
       SellSign:=False;
    END
    IF c>ENTERPRICE-2*N then SELL(sellllv,100%,MARKET);{退出离盈利头寸}
    ELSE
    SELL(c<=ENTERPRICE-2*N,100%,MARKET);{退出亏损头寸}
    END
END;

 

 

在测试增利B时,2012年3月29日,交易出现平仓指示,接下来一日cci指标出现开仓指标,但交易系统却未开仓,请前辈帮看看是那里出现了问题.另原公式倒数第五行‘IF c>ENTERPRICE-2*N then SELL(sellllv,100%,MARKET);{退出离盈利头寸}’原来是ENTERPRICE-2,这可以单独作为条件吗,可以的话代表什么意思呢?我改成了\'C>ENTERPRICE-2\'运行OK的。


--  作者:董小球
--  发布时间:2012/6/28 16:42:19
--  
估计是你价格设置得太低了,导致你的条件不成立了吧~
--  作者:zjzer
--  发布时间:2012/6/28 17:08:43
--  

买入条件是只要CCI由负变正,就开仓啊,和价格设置没有关系啊


--  作者:rushtaotao
--  发布时间:2012/6/28 17:23:21
--  

C>ENTERPRICE-2这个是可以的  收盘价大于开仓价-2

我觉得版主说的没错啊,应该开仓但没开仓,是不是因为你单子报出去了  但是没有成交呢,也是一种可能

http://www.weistock.com/WeisoftHelp/rjsy002.htm按照这儿自查一下

 

[此贴子已经被作者于2012-6-28 17:30:54编辑过]

--  作者:zjzer
--  发布时间:2012/6/28 17:36:51
--  
不是真实交易,是作交易系统的测试时,没有发出开仓提示。
--  作者:RogarZ
--  发布时间:2012/6/28 21:01:03
--  

您这个测试是在几分钟图表上? 我把的公式放在日线下测试,没有您说的3月29日的信号


--  作者:zjzer
--  发布时间:2012/6/28 22:19:12
--  是在日线图表下的
换了一台电脑也是一样。
--  作者:RogarZ
--  发布时间:2012/6/29 8:53:10
--  
忘了说 在什么品种?不是IF IF上没3月29日信号
--  作者:zjzer
--  发布时间:2012/6/29 9:37:05
--  

股票的 增利B 代码150045


--  作者:RogarZ
--  发布时间:2012/6/29 11:10:58
--  
根据您说的情况 我做了测试 从图表上看3月29日应该出现信号。
我做了下调试,发现当时的positioncount=5 所以未开仓

图片点击可在新窗口打开查看此主题相关图片如下:11111.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2012-6-29 11:11:22编辑过]