MT4语法写法

 

定位到上次开多单位置

定位到上次开空单位置


这两个语句用MT4语言怎么写

 

1. 上次指的是开仓时间上最后的那次?

2. 是历史单还是持仓单?

 
Ziheng Zhuang:

1. 上次指的是开仓时间上最后的那次?

2. 是历史单还是持仓单?

指的是当前持仓的开仓位置

多单和空单分别怎么写

 
sheri_lanyue:

指的是当前持仓的开仓位置

多单和空单分别怎么写


//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int magic=0;

   datetime lastBuyOpenTime=0; double lastBuyOpenPrice=0.0;//最近开仓的多单的时间和价格
   datetime lastSellOpenTime=0;double lastSellOpenPrice=0.0;//最近开仓的空单的时间和价格

   GetLastOrderInfo(magic,OP_BUY,lastBuyOpenTime,lastBuyOpenPrice);//获取最近的多单的开仓时间和价格
   if(lastBuyOpenTime>0) //必须大于0,否则根本不存在多单
     {
      //---
     }

   GetLastOrderInfo(magic,OP_SELL,lastSellOpenTime,lastSellOpenPrice);//获取最近的空单的开仓时间和价格
   if(lastSellOpenTime>0) //必须大于0
     {
      //---
     }

  }
//+------------------------------------------------------------------+

void GetLastOrderInfo(int magic,int orderType,datetime &ot,double &op)
  {
   ot=0;
   op=0.0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         if(OrderMagicNumber()==magic && OrderSymbol()==Symbol() && OrderType()==orderType)
           {
            if(OrderOpenTime()>=ot)
              {
               ot=OrderOpenTime();
               op=OrderOpenPrice();
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
原因: