一如何抓取价格数据1如何获得本货币对的买价、卖价doubleask=Ask;//Ask是关键字,表示本货币对买价;doublebid=Bid;//Bid是关键字,表示本货币对卖价;
2如何获得任意货币对的买价、卖价doubleMarketInfo(stringsymbol,inttype);MarketInfo("EURUSD",MODE_ASK);//获得欧元的买价MarketInfo("EURUSD",MODE_BID);//获得欧元的卖价
KD指标:iStochastic;布林指标:iBands;MACD指标:iMacd;
三如何调用下单、操作订单函数1如何下市价单及挂单intOrderSend(stringsymbol,intcmd,doublevolume,doubleprice,intslippage,doublestoploss,doubletakeprofit,voidcomment,voidmagic,void
下单类型:OP_BUY0买仓OP_SELL1卖仓OP_BUYLIMIT2买挂单交易(低价买入,常规的。)OP_SELLLIMIT3卖挂单交易(高价卖出,常规的。)OP_BUYSTOP4买停挂单交易(高价买入)OP_SELLSTOP5卖停挂单交易(低价卖出)
示例://市价买入intticket;ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"my_buy",1001,0,Red);if(ticket<0){Print("OrderSend失败错误#",GetLastError());return(0);}//市价卖出intticket;ticket=OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,"my_sell",1001,0,Green);if(ticket<0){Print("OrderSend失败错误#",GetLastError());return(0);}
2如何调用订单函数boolOrderSelect(intindex,intselect,voidpool)函数选择定单。如果函数成功,返回的值为TRUE。如果函数失败,返回的值为FALSE。参数:index-定单索引(订单序列或订单编号)。select-选定模式。可以为以下的任意值:SELECT_BY_POS(按照序列)、SELECT_BY_TICKET(按照订单编号)。pool-可选择定单索引。当选择SELECT_BY_POS参量时使用。可以为以下的任意值:MODE_TRADES(default)-来自交易的定单(开单和挂单),MODE_HISTORY-来自历史的定
单(平仓和取消定单)。
3如何修改市价单和挂单的止损、止盈,以及如何修改挂单的价格boolOrderModify(intticket,doubleprice,doublestoploss,doubletakeprofit,datetimeexpiration,voidarrow_color)对于先前的开仓或挂单进行特性修改。如果
4如何市价平仓boolOrderClose(intticket,doublelots,doubleprice,intslippage,voidColor)对定单进行平仓操作。如果函数成功,返回的值是真实的。如果函数失败,返回的值
是假的。参数:ticket-订单编号。lots-平仓的手数。price-平仓的价格。slippage-最大允许滑点数。Color-图表中平仓箭头的标记颜色。
注意:OrdersTotal()函数获取的是所有的订单包括不同品种跟未成交的挂单统统包括在内;//全部平仓intcnt,total;total=OrdersTotal();for(cnt=total-1;cnt>=0;cnt--){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);if(OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);}if(OrderType()==OP_BUY){OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);}}
5如何删除挂单boolOrderDelete(intticket,voidColor)删除先前打开挂单。成功返回true,失败返回false。
//删除所有挂单inttotal=OrdersTotal();for(inti=total-1;i>=0;i--){OrderSelect(i,SELECT_BY_POS);inttype=OrderType();boolresult=false;switch(type){//ClosependingorderscaseOP_BUYLIMIT:caseOP_BUYSTOP:caseOP_SELLLIMIT:caseOP_SELLSTOP:result=OrderDelete(OrderTicket());}if(result==false){Print("Order"+OrderTicket()+"failedtoclose.Error:"+GetLastError());}}