我想要走完k线模式,本周期有信号的话,就在下周期开盘时用本周期的收盘价报单,下面的一组是在下周期开盘时以买一价或卖一价报单,语句是否正确?是该用limit还是limitr
if done then begin
sellshort(1,0,limitr,c), ORDERQUEUE;
buy(holding=0,ss,limitr,c);
end
if done then begin
sell(1,0,limitr,c), ORDERQUEUE;
buyshort(holding=0,ss,limitr);
end
------------------------------------------------------------------------------
if done then begin
sellshort(1,0,limitr, DYNAINFO( 28)), ORDERQUEUE;
buy(holding=0,ss,limitr, DYNAINFO( 28));
end
if done then begin
sell(1,0,limitr, DYNAINFO( 34)), ORDERQUEUE;
buyshort(holding=0,ss,limitr, DYNAINFO( 34));
end
1、limit 和limitr 只在回测时有区别,实盘交易中都是限价交易;在第一组代码中都是次周期按最新价报单
2、DYNAINFO 这类动态函数只有最新值,对历史信号会有影响,不建议刚上手的用户进行使用
建议你把历史和现在的情况进行一下区分,比如这样:
ss:=1;
done2:cross(ma(c,10),ma(c,5));
done1:cross(ma(c,5),ma(c,10));
price1:if(ISLASTBAR, DYNAINFO( 28),c);
price2:if(ISLASTBAR, DYNAINFO( 34),c);
if done1 then begin
sellshort(1,0,limitr, price1), ORDERQUEUE;
buy(holding=0,ss,limitr, price1);
end
if done2 then begin
sell(1,0,limitr, price2), ORDERQUEUE;
buyshort(holding=0,ss,limitr,price2);
end
红色部分就是如果是当前最新K 也就是实际下单 使用买一价或卖一价 如果是历史的K,那么选择收盘价作为历史K的下单价格。
学习了,这样很完善。还想问,如果我不管历史数据的回测问题,我的那几句是否稳定能用?
可以使用,建议您可以先申请模拟账号做下测试,看下是否满足您的需求;