我也是一个止盈问题,有的指标开仓位置基本没有问题,基本都有盈利机会,但如果按它的信号平仓,在频繁波动行情中往往会造成盈利时没有平仓,亏损时却平了仓,不但赚不着钱,还搭进手续费甚至亏不少。我设想的补救思路是,出现开仓条件时,开多个仓,当盈利到达某个数值时,比如1000,就平一半的仓,然后其余的仓位按照指标给出的信号来平。这样可以保证赚出手续费甚至略有盈余,当遇到大的行情时,也不会因过早平掉全部仓位而错过大幅行情。我查到账户函数里TACOUNT(4)是返回浮动盈亏的,那在交易指标里可不可以这样加入这样两句来实现部分止盈?如果错了,请问该怎样写?
假如开仓数为6,当盈利达到1000时平3个仓:
IF TACOUNT(4)>1000 and THOLDING>0 THEN
BEGIN
TSELL(TACOUNT(4)>1000 and THOLDING>0,3,LMT,C);
END
IF TACOUNT(4)>1000 and THOLDING<0 THEN
BEGIN
TSELLSHORT(TACOUNT(4)>1000 and THOLDING<0,3,LMT,C);
END
另外,如果程序化交易监控2个以上品种,用THOLDING是不是不能让程序正确判断持仓情况而平错了商品,比如,我当前买入6个仓白糖和6个仓豆油,白糖盈利1200,豆油亏损200,整体盈利到达1000,这时用TOLDING>0作判断条件,会不会把白糖和豆油都平掉3个仓,还是在白糖到达1000盈利时只平掉白糖?如果用THOLDING是都平,那用TBUYHOLDINGEX(D,D,1)或TSELLHOLDINGEX(D,D,1)是否能改善程序对品种的判断?只平盈利到达1000的品种?另外,如果是买入6个仓白糖,卖出了6个仓豆油,那THOLDING>0作判断条件,是不是就不能正常平仓了?而必须要用TBUYHOLDINGEX(D,D,1)或TSELLHOLDINGEX(D,D,1)?