后台模型,我想在持有多头5分钟的情况下每隔5根k线检查一次
是否比前5根k线的价格都高,如果是的话就追加开仓10手,下面的编写是否正确?
con:=HIGH>ref(HHV(HIGH,4),1) and ENTERBARS>1;
IF tbuyholding(1)>=1 and sleep(1500000) then // 多头追仓
begin
tbuy(con,10,LMT,close),ORDERQUEUE;
end
1.ORDERQUEUE的使用有误,请参考
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=3012&page=5&star=1
2.sleep(1500000)的意思是等待1500秒,最好不要写在IF条件里
开仓时候增加以下代码:
ExtGbdataSet('kaicangpos',barpos);//表示记录你开仓位置
后面的代码就这样写:
con:=0;
if islastbar then
begin
con:=HIGH>HHV(ref(HIGH,1),4) and mod((barpos-extgbdata('kaicangpos')),5)=0 and barpos - extgbdata('kaicangpos')>0;
end;
IF tbuyholding(1)>=1 and con then // 多头追仓
begin
tbuy(1,10,LMT,close),ORDERQUEUE;
end
我是在论坛的答题板上写的回复
没有在金字塔中调试过
可能编译会存在问题,但逻辑是没问题的
希望对你有所帮助
开仓时候增加以下代码:
ExtGbdataSet('kaicangpos',barpos);//表示记录你开仓位置
后面的代码就这样写:
con:=0;
if islastbar then
begin
con:=HIGH>HHV(ref(HIGH,1),4) and mod((barpos-extgbdata('kaicangpos')),5)=0 and barpos - extgbdata('kaicangpos')>0;
end;
IF tbuyholding(1)>=1 and con then // 多头追仓
begin
tbuy(1,10,LMT,close),ORDERQUEUE;
end
谢谢你的帮助,不过这里出现了点小问题: