if ccfx<>0 then
BEGIN
if ccfx=1 then
TSELLSHORT(ktc>0,ktc)
TBUY(dtcc>0,dtcc)
TSELL(dtcc<0,abs(dtcc))
else
TSELL(dtc>0,dtc)
TBUYSHORT(ktcc>0,ktcc)
TSELLSHORT(ktcc<0,abs(ktcc))
END
else
BEGIN
TSELLSHORT(ktc>0,ktc)
TSELL(dtc>0,dtc)
END
在尾部提示“在else前面缺少if”??
内容没有什么问题,请教高手帮忙看看结构是不是有问题。
jc:dc-kc,LINETHICK0;{净持仓=多仓-空仓,这个多仓空仓根据个人策略控制仓位而得到的}
ccfx:if(jc>0,1,IF(jc<0,-1,0)),LINETHICK0;{判断多空方向}
{取得账户多头持仓和空头持仓}
dtc:TBUYHOLDING(1),LINETHICK0;
ktc:TSELLHOLDING(1),LINETHICK0;
{获取盘面持仓和账户持仓差额}
dtcc:jc-dtc,LINETHICK0;
ktcc:abs(jc)-ktc,LINETHICK0;
if ccfx<>0 then
BEGIN
if ccfx=1 then{多头处理}
BEGIN
TSELLSHORT(ktc>0,ktc);
TBUY(dtcc>0,dtcc);
TSELL(dtcc<0,abs(dtcc));
END
else {空头处理}
BEGIN
TSELL(dtc>0,dtc);
TBUYSHORT(ktcc>0,ktcc);
TSELLSHORT(ktcc<0,abs(ktcc));
END
END
else {0持仓处理}
BEGIN
TSELLSHORT(ktc>0,ktc);
TSELL(dtc>0,dtc);
END
提示:是根据盘面交易系统算出应该持有的净持仓,然后获得账户里的持仓情况,对比后,通过买卖指令调整账户里的持仓。
好,顶!
这帖要顶啊!!
以后写的每个程序都需要加这么一段控制系统风险...
大家应该细心看下这段程序具体的用途...
一个受益者顶帖留言...
jc:dc-kc,LINETHICK0;{净持仓=多仓-空仓,这个多仓空仓根据个人策略控制仓位而得到的}
就是说,这里的多仓和空仓,用户要根据自己的系统策略计算得出.
楼主只是给大家提供了一个控制风险的办法.
系统策略 有没有个模板?怎么计算呢?一头雾水了