这个函数返回的是单号,中文文档翻译的有问题。
直接看英文文档 https://www.mql5.com/en/docs/trading/positiongetticket
价格是double类型,获取价格用函数 PositionGetDouble

Documentation on MQL5: Trade Functions / PositionGetTicket
- www.mql5.com
PositionGetTicket - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
不曉得你看到的是哪部分 我看到的說明很清楚的
你要的東西 裡面應該都有
void OnStart() { //--- 订单属性返回值的变量 ulong ticket; double open_price; double initial_volume; datetime time_setup; string symbol; string type; long order_magic; //--- 当前挂单量 uint total=OrdersTotal(); //--- 反复检查通过订单 for(uint i=0;i<total;i++) { //--- 通过列表中的仓位返回订单报价 if(ticket=OrderGetTicket(i)) { //--- 返回订单属性 open_price =OrderGetDouble(ORDER_PRICE_OPEN); time_setup =(datetime)OrderGetInteger(ORDER_TIME_SETUP); symbol =OrderGetString(ORDER_SYMBOL); order_magic =OrderGetInteger(ORDER_MAGIC); positionID =OrderGetInteger(ORDER_POSITION_ID); initial_volume=OrderGetDouble(ORDER_VOLUME_INITIAL); type =EnumToString(ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE))); //--- 准备和显示订单信息 printf("#ticket %d %s %G %s at %G was set up at %s", ticket, // 订单报价 type, // 类型 initial_volume, // 已下交易量 symbol, // 交易品种 open_price, // 规定的开盘价 TimeToString(time_setup)// 下订单时间 ); } } //--- }
ulong position_ticket=PositionGetTicket(i);// 持仓价格
问题:
看到说明文档, PositionGetTicket()返回的是持仓价格,但是我打印 position_ticket时却显示是交易单号,而不是持仓价格,请问怎么获取持仓价格呢