|
//写这个是为了当信号出现后进场的单子止损掉后,再进场的,在满足进场条件下,第二单半仓,第三单在第二单基础上再减半(变量在程序中都有声明的这里不写了) int _GetLastError = 0, _OrdersTotal = OrdersTotal(); if(是否多次开仓!=0) { for(int z=_OrdersTotal-1; z>=0; z--) { //多单止损 if(OrderType() == OP_BUY) { if(Bid<=OrderOpenPrice()-止损点数*Point) { if(Close[0] )//止损被扫掉了,但是当时不进场,等当前时间周期K线走完再进场 { i++; //为了计数,当第三次止损并且符合进场条件不进场 if(A>0&& C>0 )//这是下单条件 { if(i<=2) { if(是否开启半仓!=0) //这是一个开半仓的一个开关,关掉就是按照设定的开仓 { if(i==1) { lots=lots/2; }else{ lots=(lots/2)/2; } } printf("多单"); bool OPENBUY=OrderSend(Symbol(),OP_BUY,lots,Ask,5,0,0,"buy",_MagicNumber,0,Green); return; } } } } } //如果空单止损 if(OrderType() == OP_SELL) { if(Ask>=OrderOpenPrice()+止损点数*Point) { if(Close[0] ) { i++; if(A<0 && C<0 )//这是下单条件 { if(i<=2) { if(是否开启半仓!=0) { if(i==1) { lots=lots/2; }else{ lots=(lots/2)/2; } } printf("空单"); bool OPENSELL=OrderSend(Symbol(),OP_SELL,lots,Bid,5,0,0,"sell",_MagicNumber,0,Red); return; } } } } } } } |
mql4编程中文手册