26、为什么我的图表上的交易信号会出现白色箭头
这种情况一般是因为用户在图表交易上使用了挂单指令或者STOP指令,委托的价格超过了本次K线上的最高最低价格,导致金字塔认为该笔委托属于无效委托导致。金字塔在执行程序化交易测评时,只会根据K线的委托的价位判断是否在高低价格之间做为测评是否属于委托成交的依据,因此挂单止损止赢的交易策略用户是不应该直接使用这种方式的,通常这种方式用在后台程序化交易中,因为后台不需要担负测评任务,因此更适合做此类的精细化控制。
图表的出问题的代码范例:
if holding>0 then Sell(true,1,limitr, AVGENTERPRICE+10); // 超过入场价10点就止盈
if holding>0 then Sell(true,1,stopr, AVGENTERPRICE-5); //跌破入场价5个点就止损
这种写法在图表程序化中是会出现白色箭头的,也是没有办法进行有效历史评测的,我们应该改成下面的写法:
if holding>0 then Sell(c>=AVGENTERPRICE+10,1,limitr,c ); // 超过入场价10点就止盈
if holding>0 then Sell(c<AVGENTERPRICE-5,1,thisclose ); //跌破入场价5个点就止损
老师好,下面的写法有什么问题,麻烦帮我修改一下,,我按上面方法修改后,测试完还是用的收盘价。我要在K线没有走完就交易。
MA5:MA(C,5);
MA10:MA(C,10);
A:=CROSS( MA5, MA10) and C>=ma5; //多头开仓条件
D:=C<MA5-5*MINDIFF;//多头全平仓条件;
开多:BUY(a=1 AND HOLDING=0,1,limitr,(ma5+5*mindiff)); //开多信号
平多:SELL(D=1,1,limitr,ma5-5*mindiff);
测试是按照走完k线来测试的,一个完整的走完的k线里面的行情进行计算的
所以这个改不了,系统定好的
成交看撮合情况
报单价格是:
开仓 ma5+5跳
平仓 ma5-5跳