Como posso fixar este erro? parameter passed as reference, variable expected

 

'CSymbolInfo' - parameter passed as reference, variable expected LimitTakeProfit.mqh 57 56

'CArrayLong' - parameter passed as reference, variable expected LimitTakeProfit.mqh 58 56

'CArrayDouble' - parameter passed as reference, variable expected LimitTakeProfit.mqh 59 56


Eu sei que precisa ter parâmetros, mas sou iniciante mql5, gostaria de saber que parâmetros são esses?

//+------------------------------------------------------------------+
//|                                              LimitTakeProfit.mqh |
//|                                             Copyright 2018, DNG® |
//|                                 http://www.mql5.com/ru/users/dng |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, DNG®"
#property link      "http://www.mql5.com/ru/users/dng"
#property version   "1.00"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#include "SymbolInfo.mqh"
#include <Arrays\ArrayDouble.mqh>
#include <Arrays\ArrayLong.mqh>
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class CLimitTakeProfit : public CObject
  {
private:
   static CSymbolInfo       c_Symbol;
   static CArrayLong        i_TakeProfit; //fixed take profit
   static CArrayDouble      d_TakeProfit; //percent to close at take profit
   
   
public:
                     CLimitTakeProfit();
                    ~CLimitTakeProfit();
//---
   static void       Magic(int value)  {  i_Magic=value; }
   static int        Magic(void)       {  return i_Magic;}
//---
   static void       OnlyOneSymbol(bool value)  {  b_OnlyOneSymbol=value;  }
   static bool       OnlyOneSymbol(void)        {  return b_OnlyOneSymbol; }
//---
   static bool       OrderSend(const MqlTradeRequest &request, MqlTradeResult &result);
   static bool       OnTrade(void);
   static bool       AddTakeProfit(uint point, double percent);
   static bool       DeleteTakeProfit(uint point);
   
protected:
   static int        i_Magic;          //Magic number to control
   static bool       b_OnlyOneSymbol;  //Only position of one symbol under control
//---
   static bool       SetTakeProfits(ulong position_ticket, double new_tp=0);
   static bool       SetTakeProfits(string symbol, double new_tp=0);
   static bool       CheckLimitOrder(MqlTradeRequest &request);
   static void       CheckLimitOrder(void);
   static bool       CheckOrderInHistory(ulong position_id, string comment, ENUM_ORDER_TYPE type, double &volume, ulong call_position=0);
   static double     GetLimitOrderPriceByComment(string comment);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+


CSymbolInfo    CLimitTakeProfit::c_Symbol       =  new CSymbolInfo();
CArrayLong     CLimitTakeProfit::i_TakeProfit   =  new CArrayLong();
CArrayDouble   CLimitTakeProfit::d_TakeProfit   =  new CArrayDouble();
int            CLimitTakeProfit::i_Magic        =  -1;
bool           CLimitTakeProfit::b_OnlyOneSymbol=  false;


Arquivos anexados:
Sem_Tstulo-2.jpg  722 kb