1、开仓函数:OrderSend(),OrderSend(string symbol交易标的, int cmd购买方式, double volume购买手数, double price价格, int slippage滑点, double stoploss止损, double takeprofit止盈, void comment注解文本, void magic策略识别码, void expiration挂单有效时间, void arrow_color图标上箭头颜色)。对于OrderSend()函数的交易类型,有以下几种
常数 值 描述
OP_BUY 0 买仓
OP_SELL 1 卖仓
OP_BUYLIMIT 2 买挂单交易
OP_SELLLIMIT 3 卖挂单交易
OP_BUYSTOP 4 买停挂单交易
OP_SELLSTOP 5 卖停挂单交易
示例:OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green) 表示在当前窗口货币对下买单,以Ask现价买入1手,允许最大滑点3,止损现价下跌25个点,止盈现价上涨25个点,订单注释为“My order #2”,策略编号为16384,该编号为EA特有编号,用于区分是哪个EA开的单,由于是买入订单非挂单,所以expiration直接填0即可。
2、平仓函数:OrderClose(),OrderClose(int ticket订单编号, double lots手数, double price价格, int slippage滑点, void Color图表中标记颜色)。对订单进行平仓操作。如果函数成功,返回的值是真实的。如果函数失败,返回的值是假的。
示例:
OrderSelect(12345,SELECT_BY_TICKET);
OrderClose(12345,1,Ask,3,Red),表示对订单号为12345的订单进行平仓,在Ask现价平1手,允许最大滑点为3,在图表中标记为红色。请注意,买单平仓以BID价平;卖单平仓以ASK价平。
平仓万能模板:
void DelOrder()
{
int OrderCount=OrdersTotal();#查询一共有多少持仓单
for(int j=0; j<OrderCount;j++)遍历所有持仓单
{
if(OrderSelect(j,SELECT_BY_POS)==true)依次选中持仓单
{
if(OrderMagicNumber()==MagicNums && OrderSymbol()==Symbol())判断是否为EA编号MagicNums的EA开的单,当前订单的货币对是否为图表货币对
{
if(OrderType()==OP_SELL &&OrderProfit()>=0)如果是卖单且获利大于0
{
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),5,Red);平掉该笔订单,以当前买价ASK,允许最大滑点为5,在图表中标记为红色
}
else if(OrderType()==OP_BUY &&OrderProfit()>=0)如果是买单且获利大于0
{
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),5,Blue);
平掉该笔订单,以当前卖价BID,允许最大滑点为5,在图表中标记为蓝色
}
}
}
}
}
3、修改函数:OrderModify(),OrderModify( int ticket订单编号, double price价格, double stoploss止损, double takeprofit止盈, datetime expiration挂单有效时间, void arrow_color在图表中允许对止损/赢利颜色进行修改。如果参量丢失或存在CLR_NONE 值,在图表中将不会显示。) 对于先前的开仓或挂单进行特性修改。如果函数成功,返回的值为 TRUE。如果函数失败,返回的值为FALSE。 获得详细的错误信息,查看 GetLastError()函数。注解: 开价格和有效时间的改变只对挂单而言。
示例:
OrderSelect(12345,SELECT_BY_TICKET);表示选中订单编号为12345的订单,记住在关掉订单或修改订单前一般都需先查找锁定订单,即先进行OrderSelect()
OrderModify(12345,OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue);
表示将订单编号为12345的订单止损价修改为当前卖价BID下跌TrailingStop个点,止盈不变,并且在图表中标记为蓝色。
إخلاء المسؤولية: الآراء الواردة هنا تعبر فقط عن رأي الكاتب، ولا تمثل الموقف الرسمي لـ Followme. لا تتحمل Followme مسؤولية دقة أو اكتمال أو موثوقية المعلومات المُقدمة، ولا تتحمل مسؤولية أي إجراءات تُتخذ بناءً على المحتوى، ما لم يُنص على ذلك صراحةً كتابيًا.

اترك رسالتك الآن