RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
BBI:(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4;
UPR:BBI+A*STD(BBI,M); DWN:BBI-A*STD(BBI,M);
{交易系统之平多操作} SELL(CROSS(d,k))OR CROSS( BBI,CLOSE),ORDERQUEUE,TFILTER;
{/交易系统之平空操作} SELLSHORT (CROSS(k,d))OR CROSS( BBI,CLOSE),ORDERQUEUE,TFILTER;
{交易系统之开多操作} BUY(CROSS(k,d) AND (DYNAINFO(7)>BBI)OR CROSS(CLOSE,BBI)),ORDERQUEUE,TFILTER;
{交易系统之开空操作} BUYSHORT (CROSS(d,k) AND(BBI>DYNAINFO(7))OR CROSS( BBI,CLOSE)),ORDERQUEUE,TFILTER;
问题:开仓的手数远远大于资金量,导致被系统拒绝,并且手数每次都有变化。
晕,麻烦楼主先看看SELL,BUY等基本函数的用法吧,可从来没有这么用的。
建议把SELL改成EXITLONG,SELLSHORT改成EXITSHORT等,试试
另外三楼的朋友,我是想让图表中出现文字才用这些函数的,把SELL改成EXITLONG,SELLSHORT改成EXITSHORT,文字就没有了。
//多头进场
if CROSS(k,d) OR CROSS(c,BBI) then
begin
SELLSHORT (holding<0,0,thisclose,0);
BUY(c>BBI and holding=0,1,thisclose,0);
end
//空头进场
if CROSS(d,k)OR CROSS( BBI,CLOSE) then
begin
SELL(holding>0,0,thisclose,0);
BUYSHORT(BBI>c and holding=0,1,thisclose,0);
end
多谢!