tbuy(开多平空条件,持仓,mkt,dynainfo( 7)+滑点*mindiff);
这个语句写的不对。你这里要限价还是市价开仓?用的市价指令,后面却写了一个价格。
并且你的语句修正好之后,你上面的条件限制必须等到开仓的单子成交了才能成功限制到。
2019-06-28 11:06:19.521 【最新价】=19795.00【高位】=19955.00【低位】=19770.00【持仓】=-1
2019-06-28 11:06:19.536 【品种代码】:NI08
2019-06-28 11:06:19.536 【最新价】=101680.00【高位】=102350.00【低位】=101260.00【持仓】=-1
2019-06-28 11:06:19.536 【品种代码】:PB00
2019-06-28 11:06:19.552 【最新价】=16000.00【高位】=16060.00【低位】=16000.00【持仓】=-1
2019-06-28 11:06:19.552 【品种代码】:AU00
2019-06-28 11:06:19.552 【最新价】=319.50【高位】=320.80【低位】=315.60【持仓】=1
2019-06-28 11:06:20.250 【品种代码】:I09
2019-06-28 11:06:20.250 【最新价】=833.00【高位】=841.00【低位】=824.0
还是每秒都在不断输出,我想开仓条件成立后才输出,否则不输出
str:='【最新价】='+ NUMTOSTR( dynainfo( 7),2 )+'【高位】='+NUMTOSTR( hhh,2 )+'【低位】='+NUMTOSTR( lll,2 )+'【持仓】='+ NUMTOSTR(tholding,0);
end
//多头进场
if tsellholdingex('','',2)=0 and tbuyholdingex('','',2)=0 then begin
tbuy(开多平空条件,持仓,LMT,hhh+滑点*mindiff);
if TISREMAINEX( 1,'',STKLABEL)=0 and islastbar then begin
DEBUGFILE('D:\模拟盘测试.TXT','【品种代码】:'+STKLABEL,0);
DEBUGFILE('D:\模拟盘测试.TXT',str,1);
end
end
你这个还需要搭配全局变量做下控制。 类似下面这样。
GLOBALVARIABLE:x:=0;
if tsellholdingex('','',2)=0 and tbuyholdingex('','',2)=0 then
begin
//开仓语句
x:=0;//开仓时候重置x为0
end
if TISREMAINEX( 1,'',STKLABEL)=0 and x=0 and islastbar then
begin
DEBUGFILE('D:\se.TXT','【品种代码】:'+STKLABEL,0);
x:=1;//成交之后重置为1
end