求助一个交易开仓,平仓的代码,思路如下:
当A条件成立,以委买一价减一跳的价格下多单委托单。下单50秒后没有成交,就撤单,等待下一次A条件成立。
如果50秒内成交了,就以成交价加5跳下多平委托单,至到成交,如果期间一直没有成交,市场价格低于成交价的5跳了,就撤掉之前的多平委托单,再以市价下多平的委托单。
当B条件成立,以委卖一价加一跳的价格下空单委托单。下单50秒后没有成交,就撤单,等待下一次B条件成立。
如果50秒内成交了,就以成交价减5跳下空平委托单,至到成交,如果期间一直没有成交,市场价格高于成交价的5跳了,就撤掉之前的空平委托单,再以市价下空平的委托单。
图表中无法你的精细化控制需求,只能完成前半部分开仓动作。
委买委买价需要用动态行情函数获得,但是不建议用DYNAINFO动态行情函数在图表上处理,建议你的下单价格改成其他的。
buy(condA,1,LIMIT,DYNAINFO( 28)-MINDIFF),IGNORECHECKPRICE
撤单追单图表中只能通过设置实现,在交易--下单设置---程序化交易中开平仓追撤单设置
http://www.weistock.com/WeisoftHelp/chengshihuajiaoyi.htm
[此贴子已经被作者于2017/9/11 19:15:22编辑过]
逻辑参考范例代码如下
GLOBALVARIABLE:flag=0;
if c>o then BEGIN
tbuy(1,1,LMT,DYNAINFO( 28)-MINDIFF);
flag:=0;
end
if TSUBMIT(1) >=50 AND flag=0 then
begin
TCANCEL( 1, 1);
flag:=1;
end
else if TISPRVREMAIN(1)=0 and flag=0 then begin
tsell(1,1,LMT,TENTERPRICE+5*MINDIFF);
EXTGBDATASET('MY_TENTERPRICE' ,TENTERPRICE );
flag:=0;
end
if EXTGBDATA('MY_TENTERPRICE')-DYNAINFO(7)>5*MINDIFF then
begin
TCANCEL( 1,2);
tsell(1,1,MKT);
end