EA编程教程大全之交易函数
从自定义指标中不能调用 X9A OrderSend(), OrderClose, OrderCloseBy, OrderDelete和OrderModify eKzviM' 交易函数。 *.c9$s 1GE%5 7B(rft F 5/9?;| OrderClose ENWB|B OrderCloseBy <1+6O> OrderClosePrice d"6? OrderCloseTime wv.Ul rpx. OrderComment %)UvfXhh4 OrderCommission (g /X(3 OrderDelete vxrC&,As OrderExpiration u%1k OrderLots FNm6/_u3 OrderMagicNumber I,<54? vS OrderModify px 7If OrderOpenPrice z2Y_L8u2 OrderOpenTime +#uNQ1v OrderPrint aMvK8C%7 OrderProfit wz*A<iU OrderSelect aDl, K;GL OrderSend $J hZ'Z OrdersHistoryTotal apTCrb OrderStopLoss ,Mm4bx OrdersTotal 0%TMiVf OrderSwap nj bLUB OrderSymbol _(6B. OrderTakeProfit ;o)=XEh8P OrderTicket <p*Ydx OrderType )otu3/ bool OrderClose( int ticket, double lots, double price, int slippage, void Color) h0F0dW. 对定单进行平仓操作。如果函数成功,返回的值是真实的。如果函数失败,返回的值是假的。获得详细错误信息,请查看GetLastError()函数。 J>E9p< 参量: Mhv1K|4s ticket - 定单编号。 YN%=Oq lots - 手数。 ASKAgU"h price - 收盘价格。 .DDg%z slippage - 最高划点数。 I|gW_ Color - 图表中标记颜色。如果参量丢失,CLR_NONE值将不会在图表中画出。 ka5#<J7<p sf |oNOz 示例: 5q5 )uv" if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) yuKzIU ? G$Om OrderClose(order_id,1,Ask,3,Red); 6R1wn& 8 return(0); pqyWv; !,cQ'*<W8- ,|T*|2Gm z9)YH ex?6He,$ Nb,bu,2 &9j)3J. bool OrderCloseBy( int ticket, int opposite, void Color) q'&SR#"K 用相反定单对打开仓位进行平仓操作。如果函数成功,返回的值是真实的。如果函数失败,返回的值是假的。获得详细错误信息,请查看GetLastError()函数。 !oZQ2z 参量: BZovtm3 E ticket - 定单编号。 zP_ opposite - 相对定单编号 3jvx2 Color - 图表中标记颜色。如果参量丢失,CLR_NONE值将不会在图表中画出 ILoG: uQH%.A 示例: u?Fnln e4 if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) r?fH &u &FwYGJayz OrderCloseBy(order_id,opposite_id); ZU=,f'bU return(0); V?OuI g%=: dZPW2yf d)NPJ/ ?#d6i$ .Tc%N 9/#0?(K8 double OrderClosePrice( ) :*:T_U 对于当前选择定单返回收盘价格。 <"<Mbbp 注解:定单必须用OrderSelect()函数提前选定。 rVY?6OMkd 示例: fV 3r|Bp if(OrderSelect(ticket,SELECT_BY_POS)=true) JjQ8|En Print("对于定单 ",定单编号" = ",OrderClosePrice()的收盘价格); Bp :bHf else 5L F/5 Print("OrderSelect 失败错误代码是",GetLastError(); t#Th9G1 oYPyk9 q(78fZ *X ylu2R0 ( datetime OrderCloseTime( ) >-M :=L 对于当前选择定单返回平仓时间。如果定单时间不是0,所选定单会从账户历史重新尝试。开仓和挂单交易平仓时间必须等于 0。 +td<4oq8 注解:定单必须用OrderSelect()函数提前选定。 z Cto 示例: qe?Qeh(!X if(OrderSelect(10,SELECT_BY_POS,MODE_HISTORY)=true) F|Q H /t*YDWLg datetime ctm=OrderOpenTime(); ND5$bq Nu? if(ctm>0) Print("定单10 "开仓时间, ctm); Di>rO038 ctm=OrderCloseTime(); B8H75sz if(ctm>0) Print("定单 10 "平仓时间, ctm); pWBwf>R C -pL% xj else R(GwqHUT3 Print("OrderSelect失败错误代码是",GetLastError(); dQD$K|aUp EiWd+v,QJQ %?9Ok k$ efwJ string OrderComment( ) px=bALU 返回定单的注释。 X:'i?(yj 注解:定单必须用OrderSelect()函数提前选定。 F36 IM9/: 示例: jn JZ# =) string comment; $i#?v if(OrderSelect(10,SELECT_BY_TICKET)=false) &!hD%T/ Print("OrderSelect 失败错误代码是",GetLastError(); l +'F_a return(0); UV AJxqz% Vn, >< g comment = OrderComment(); DMn4ll| / .double OrderCommission( ) e,0-)?5R 返回定单的佣金数。 n V&cC 注解:定单必须用OrderSelect()函数提前选定。 j:,9%tg 示例: .0pW9 if(OrderSelect(10,SELECT_BY_POS)=true) ,Nm$i"Lg Print("定单10 "佣金,OrderCommission(); i | else h6:#!Rg Print("OrderSelect 失败错误代码是",GetLastError(); w-M?R sG7ur aYn)6 =r2uW9 bool OrderDelete( int ticket, void Color) 1q7tiMvV- 删除先前打开挂单。如果函数成功,返回的值是真实的。如果函数失败,返回的值是假的。获得详细错误信息,请查看GetLastError()函数。 L%"LlS g 参量: fG68c ticket - 定单编号。 pCi#9=?N Color - 图表中标记颜色。如果参量丢失,CLR_NONE值将不会在图表中画出。 > L2HET OHv! 示例: XxBYZv4 if(Ask>var1) QSL97m2M W-Hoyn>?2 OrderDelete(order_ticket); ob-_E5"? return(0); rwLAW"0Qz jq(:d) s$ENFp7P "hxN!,DEZ w'MGA sUJ%x#uFk wcamf datetime OrderExpiration( ) >gPN"S"a 返回挂单的有效日期。 i<kD 注解:定单必须用OrderSelect()函数提前选定。 y;w x?1) 示例: TxjYrzC if(OrderSelect(10, SELECT_BY_TICKET)=true) M>9-=$ 7 Print("定单 #10 有效日期为",OrderExpiration(); v16RD else DI+DN Print("OrderSelect 返回的",GetLastError()错误); cB|KhDk 0sN.H= $vC1 K5sLk |(5W86C,ju :I -V_4b double OrderLots( ) ) 0T16 返回选定定单的手数。 w(kf 注解:定单必须用OrderSelect()函数提前选定。 qmO6,T-| 示例: 4wC+S9I#E if(OrderSelect(10,SELECT_BY_POS)=true) W;bu2ym&Q Print("定单 10 "手数,OrderLots(); 7VcmVqX else z<HItX,n Print("OrderSelect 返回的 ",GetLastError()错误); dJT/g PH"nlW.T GpZ c5c =FE|+!>