仅供参考
m5:=MA(c,5);
if c>m5 then
begin
TSELLSHORT( THOLDING<0, 0,LMT,C );
TBUY(THOLDING=0,1,LMT,C);
end
if c<m5 then
begin
TSELL( THOLDING>0, 0,LMT,C );
TBUYSHORT(THOLDING=0,1,LMT,C);
end
aa:STKINDI('IF00' ,'TEST1.CC',0 ,6);
通过这个函数例子可以调用跨周期和品种的数据,剩下的可以参考楼上
15、有关后台自动交易THOLDING的使用
初学者在使用后台自动交易时,通常认为将函数前简单加T就可以,但实际不行的,比如:
tSELL(bp and THOLDING>0,0,LMT,C);
tSELLSHORT(sp and THOLDING<0,0,LMT,C);
tBUY(bk and THOLDING=0,1,LMT,C);
tBUYSHORT(sk and THOLDING=0, 1,LMT,C);
在图表交易系统上这样改过来的代码
THOLDING与图表HOLDING最大的不同在于,THOLDING是与你真实持仓一致的函数,只有当我们的委托下单成交后才会有所变化,而HOLDING是虚拟持仓,BUY执行过后立即变化。
由于我们前面的代码在执行了平仓操作后,THOLDING不会马上变成0,故会导致TBUY的THOLDING=0条件不被成立,导致没有反手信号。
正确的反手写法
if bp > 0 and THOLDING>0 then
begin
tSELL(1,0,MKT),ORDERQUEUE;
tBUYSHORT(1, 1,MKT),ORDERQUEUE;
end
if sp > 0 and THOLDING<0 then
begin
tSELLSHORT(1,0,MKT),ORDERQUEUE;
tBUY(1,1,MKT),ORDERQUEUE;
end