I'm trying to start with my first MQL4 expert advisor,
I've created a struct
to handle my orders:
struct Order
{
int pair;
int command;
double quantity;
double entry;
double stopLoss;
double profit;
int slippage;
string comment;
int magicNumber;
datetime expire;
};
but it seems I can't do this:
Order a;
Order b=a;
the compiler hangs saying:
'=' - structure have objects and cannot be copied
How can I assign a struct
?
As MQL4 documentation says:
Structures that do not contain strings or objects of dynamic arrays are called simple structures; variables of such structures can be freely copied to each other, even if they are different structures. Variables of simple structures, as well as their array can be passed as parameters to functions imported from DLL.
Order
is not a simple struct because of string
member. So you cannot copy it with =
operator. Either remove string
member or copy it member by member.