class CMyTrade { public: MqlTradeRequest m_request; MqlTradeResult m_result; double m_point; int m_digits; double m_ask; double m_bid;
public: void Post(string symbol, double volume, ENUM_ORDER_TYPE type,int sl,int tp,ulong magic) }
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CMyTrade::Post(string symbol,double volume, ENUM_ORDER_TYPE type,int sl,int tp,ulong magic) { ZeroMemory(m_request); ZeroMemory(m_result);
m_point=SymbolInfoDouble(Symbol(),SYMBOL_POINT); m_digits=(int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS);
m_ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK); m_bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
m_request.action=TRADE_ACTION_DEAL; m_request.symbol=symbol; m_request.type = type; m_request.volume =volume; m_request.deviation=50; m_request.magic=1234; m_request.comment="Post";
if(type==ORDER_TYPE_BUY) { m_request.price=NormalizeDouble(m_ask,m_digits); m_request.sl=NormalizeDouble((m_ask-slpoint10),m_digits); m_request.tp=NormalizeDouble((m_ask+tppoint10),m_digits); } else if(type==ORDER_TYPE_SELL) { m_request.price=NormalizeDouble(m_bid,m_digits); m_request.sl=NormalizeDouble((m_bid+slpoint10),m_digits); m_request.tp=NormalizeDouble((m_bid-tppoint10),m_digits); } if(!OrderSend(m_request,m_reslut)) { printf("Ordersent Error:%d",GetLastError()); } }
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。