初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1005

 

我发出这样的请求,放置一个待定的。但它不会在交易日结束时失效。我试过ORDER_TIME_SPECIFIED_DAY,但它也不起作用。有什么问题呢?

MqlTradeRequest  request = {0};
         request.action = TRADE_ACTION_PENDING;
         request.symbol = _Symbol;
         request.volume = Lot;
         request.price  = high(Quant_Bars); 
         request.sl     = sl;
         request.tp     = tp;
         request.type   = ORDER_TYPE_BUY_STOP; 
         request.expiration = ORDER_TIME_DAY;
         request.magic = magicN;
MqlTradeResult result = {0};

if (OrderSend (request,result))
    {
    Print ("Ордер успешно отправлен, ошибок нет =  ", GetLastError());
    } else
       {
        Print ("Не удалось отправить запрос, ошибка = ", GetLastError());
       }
 

TrendLineVisible函数--来自标准 CCurve--这是一条回归线吗?

我怎样才能使这条线完全出现在图表上,而不是被切断?


 

为什么这里 说...位置只能通过Select SelectByIndex方法 选择

如果 SelectByTicket方法也能工作?

 

帮助我使用ArrayPrint函数 - 我想获得一个数组的 最后100个元素,以及前100个和后100个。

               ArrayPrint(arr_P_val_X,8,NULL,Calc_XY-100,100,ARRAYPRINT_INDEX);//Ожидаю получить 100 последних элементов, выдает первые
               ArrayPrint(arr_P_val_X,ARRAYPRINT_LIMIT);//Хочу получить 100 и 100 последний - выдает весь массив - что не так?

Calc_XY - 数组中元素的数量。

 

我怎样才能得到刚刚开出的交易票据?
如果你使用CTrade类和Buy()函数。

在mt4中,OrderSend()函数 立即给出一张票。



是否有一个函数可以按职位索引给出一个职位的票据?

还是必须先选择一个位置(选择)?

 
multiplicator:

我怎样才能得到刚刚开出的交易票据?
如果你使用CTrade类和Buy()函数。

在mt4中,OrderSend()函数 立即给出一张票。



是否有一个函数可以按职位索引给出一个职位的票据?

还是必须先选择一个位置(选择)?

在交易类型为trans.type == TRADE_TRANSACTION_DEAL_AD的OnTradeTransaction中,你在trans.position结构中发现一个票据

struct MqlTradeTransaction 
  { 
   ulong                         deal;             // Тикет сделки 
   ulong                         order;            // Тикет ордера 
   string                        symbol;           // Имя торгового инструмента 
   ENUM_TRADE_TRANSACTION_TYPE   type;             // Тип торговой транзакции 
   ENUM_ORDER_TYPE               order_type;       // Тип ордера 
   ENUM_ORDER_STATE              order_state;      // Состояние ордера 
   ENUM_DEAL_TYPE                deal_type;        // Тип сделки 
   ENUM_ORDER_TYPE_TIME          time_type;        // Тип ордера по времени действия 
   datetime                      time_expiration;  // Срок истечения ордера 
   double                        price;            // Цена  
   double                        price_trigger;    // Цена срабатывания стоп-лимитного ордера 
   double                        price_sl;         // Уровень Stop Loss 
   double                        price_tp;         // Уровень Take Profit 
   double                        volume;           // Объем в лотах 
   ulong                         position;         // Тикет позиции 
   ulong                         position_by;      // Тикет встречной позиции 
  };
 
所有亲爱的论坛成员、版主、管理员等都好。
请解释如何计算MQL5中未结头寸的总利润。在MQL4中是没有问题的。我在这里不是偷懒,而是因为我不知道该怎么做。使用PositionGetDouble(POSITION_PROFIT),只计算第一次开仓的利润。

但在MQL4中 OrderProfit()显示所有订单利润。也许,我错过了什么...
对不起,我忘了指定对冲账户类型
 
Ramiz Mavludov:
对不起,我忘了说账户类型是套期保值。

你应该紧急地、不折不扣地参加扫除文盲的课程。在mql5中,以及在mql4中,在你处理一个头寸(在mql4中,一个订单)之前,你应该选择头寸。与mql4不同,在mql5中,我记得有三个函数来选择一个位置。文件中对它们有很好的描述。的方式......。不要认为这是不礼貌的。

 
Ramiz Mavludov:
对不起,忘记说明了,账户类型对冲

上一页 蜡烛分解3 的代码,函数CalculatePositions,总利润

//+------------------------------------------------------------------+
//| Calculate positions Buy and Sell                                 |
//+------------------------------------------------------------------+
void CalculatePositions(int &count_buys,int &count_sells,double &profit)
  {
   count_buys=0;
   count_sells=0;
   profit=0.0;

   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
           {
            profit+=m_position.Commission()+m_position.Swap()+m_position.Profit();
            if(m_position.PositionType()==POSITION_TYPE_BUY)
               count_buys++;

            if(m_position.PositionType()==POSITION_TYPE_SELL)
               count_sells++;
           }
//---
   return;
  }

在对这个符号和这个Magic'y的所有头寸进行遍历之后,利润 变量将显示总利润。

 
Vladimir Karputov:

上一页 蜡烛分解3 的代码,函数CalculatePositions,总利润

在对这个符号和Magic的所有头寸进行遍历之后,利润 变量将包含总的利润。

谢谢你,弗拉基米尔。