资源描述:
《多策略多账户下单阿火版_续集》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、分享金字塔多策略多账户卜•单阿火版一续集(可扩展成无人值守)上次发表了一个多策略多账户的下单方法大家知道,一根K线图一个方向只允许下单一次,如果一个K线图内,不同策略前后分别产生信号呢?举个例子:〃策略2:连续2阳,下一根开盘买入2阴下一根开盘卖出〃策略2:价格突破前1根高点即买入,前1根低点立即卖出假如以上2个策略组合,连续2个阳线条件成立,新的K线产生时开盘买入1手,之后又突破前一根K线高点,需再买1手。这个吋候,如何组合起来?用allowrepeat,允许重复下单。主要问题:1,下单后,委托单产生前,有一个小时间差的控制。tolding=0则下单。下
2、单后,tholding依然为0,还会再下单因为我们采用的是加减仓的组合手法,信号并非前后分别对应,无法用ttype举个例子解释一下加减仓手法的特点:一开始A模型多单3手,B模型出现信号〃空2手?表现在操作上就是:平仓2手。之后B模型出现信号“空单平仓2手7操作上表现就是买入开仓2手。2,下单
3、
4、舜间,网络刚好中断。后面网络恢复,也要白动补回止确的持仓。3,不管什么原因造成的重复下单(比如堵单,以为没成交再次发单成交,之后发现这个堵单也成交了),希望补回正确持仓解决方法如下:variable:ccl=0,cc2=0,cc3=0;entertime:=time
5、<150000;exittime:=time>=150000;buycondl:=ref(c,l)>ref(o,l)andref(c,2)>ref(o,2);sellcondl:=ref(c,l)[ref(hhv(h,l),l);sellcond2:=l][o,l);sellcond3:=ref(c0and(sellcondlorexittime)thenccl:=0;ifccl<0and(]
6、buycondlorexittime)thenccl:=0;讦ccl=0andbuycondlandentertimethenccl:=l;ifccl=0andsellcondlandentertimethenccl:二ifcc2>0and(sellcond2orexittime)thencc2:=0;ifcc2<0and(buycond2orexittime)thencc2:=0;ifcc2=0andbuycond2andentertimethencc2:=l;讦cc2=0andsellcond2andentertimethencc2:二ifcc3>0a
7、nd(sellcond3orexittime)thencc3:=0;ifcc3<0and(buycond3orexittime)thencc3:=0;ifcc3=0andbuycond3andentertimethencc3:=l;ifcc3=0andsellcond3andentertimethencc3:=-l;cc800043:=2*ccl+l*cc2+2*cc3;//账户的下单系数cc800167:=3*ccl+2*cc2+4*cc3;ifnot(islastbar)ordynainfo(207)<91500thenexit;///////////
8、////////////////////////////////////////以卜是账户800043的卜单语句,其他账户下单,修改800043为相应账户,接在程序后面即可Icc800043:=tbuyholdingex(,8000437,,l)-tsellholdingex('800043',,,,l);xiadan800043:=cc800043-lcc800043;讦Icc800043oextgbdata('lcc800043,)thenbegin//冇单子成交,则下单开关设为0,允许卜单extgbdataset('abb800043 );extg
9、bdataset('lcc800043'Jcc800043);endiftremainqty(0/800043',stklabel)>=lor(cc800043olcc800043andtimetotO(currenttime)・extgbdata('abb800043')>10)thenbegin〃卜•单后io秒内仍发现委托单,则允许卜•单。可能是堵单,可能是交易账户网络暂时中断extgbdataset(,abb800043',0);endifxiadan800043>0thenbeginiflcc800043<0andextgbdata('abb800
10、0431)=0andtremainqty(0/800043',st