EaCode小胖李 发表于 2023-1-13 15:33:34

LastPositionOpenPrice()获得最新成交订单的开仓价

最后由 EaCode小胖李 于 2023-1-13 15:34 编辑

函数名称
double LastPositionOpenPrice(string SymbolX,int PositionTypeX,int MagicX)
函数介绍

LastPositionOpenPrice()是我开发的一个MQL5的自定义函数,可以获得最新成交订单的开仓价格

提示:在MQL5中对订单进行了更细化的划分。当前持仓的单子叫Position,挂单叫做Order;持仓的单子平仓后叫Deal,删除的未成交的订单叫HistoryOrder。
//举例:打印持仓多单最近的开仓价格。
Print("最新开仓价格是:",LastPositionOpenPrice(Symbol(),POSITION_TYPE_BUY,MAGIC));

参数介绍

SymbolX:订单筛选的交易品种,一般设置当前品种即可,也就是Symbol();“-1”代表不筛选交易品种。
PositionTypeX:订单筛选的订单类型,0代表多单,1代表空单。 POSITION_TYPE_BUY是常量0, POSITION_TYPE_SELL是常量1。-1代表不筛选订单类型。
MagicX:订单的魔术码,你的EA的魔术码是多少,这里填上即可。

函数定义

注意:本人发布的函数均为实战开发所用,低价或免费发布并不赚钱,仅限懂编程的朋友使用,不提供指导,因为人工成本巨贵,感谢朋友们海涵。
double LastPositionOpenPrice(string SymbolX,int PositionTypeX,int MagicX)
{
   double OpenPrice=0;
   for(int i=PositionsTotal()-1; i>=0; i--)
   {
      if(PositionGetTicket(i))
         if((PositionGetString(POSITION_SYMBOL)==SymbolX|| SymbolX=="-1")&&(PositionGetInteger(POSITION_MAGIC)==MagicX||MagicX==-1)&&(PositionGetInteger(POSITION_TYPE)==PositionTypeX||PositionTypeX==-1))
         {
            OpenPrice=PositionGetDouble(POSITION_PRICE_OPEN);
            break;
         }
   }
   return(OpenPrice);
}

ea12213 发表于 2023-1-14 19:26:02

看看挺好的

qwe11 发表于 2023-1-25 12:43:54

看上去完美。

dongxu64 发表于 2023-1-26 23:48:01

浏览需要1个币

ken138888 发表于 2023-2-5 20:38:21

函数超多的

ken138888 发表于 2023-4-2 21:04:04

跟楼主学习

xinhua123 发表于 2023-4-21 00:08:20

来看看学一点

ketion99 发表于 2023-5-12 07:52:07

获得最新成交订单的开仓价

anby4556 发表于 2023-5-15 07:19:11

感謝分享

tststs 发表于 2023-5-17 10:01:47

看看一下吧

tststs 发表于 2023-5-18 23:38:33

支撑分享
页: [1]
查看完整版本: LastPositionOpenPrice()获得最新成交订单的开仓价