Errors, bugs, questions - page 1657

 
Igor Karushev:

Nowhere can I find the clearly stated minimum memory requirements forthe MetaTrader 5 Strategy Tester Agent.

Is there any documentation or anywhere to look?

If you want to receive tasks from the cloud, keep in mind:

  • the way is completely closed to you if you have Windows x32
  • the way is closed for users with less than 1 Gb of RAM per agent.
  • If you have lower CPU than Intel i7 - you will get very few jobs.

 
Karputov Vladimir:

If you want to receive tasks from the cloud, bear in mind

  • the path is completely closed to you if you have Windows x32
  • the way is closed for you if you have less than 1 Gb of RAM per agent.
  • if you have lower CPU than Intel i7 - you will get very few jobs.

Is there any money to be made there at all, except for brews? )) Unless, of course, you own a farm.
 
Karputov Vladimir:

If you want to receive tasks from the cloud, bear in mind

  • the path is completely closed to you if you have Windows x32
  • the way is closed for you if you have less than 1 Gb of RAM per agent.
  • if you have lower CPU than Intel i7 - you will get very few jobs.

Are you sure about 1 gigabyte of RAM? Isn't it 2GB? And again: are there any clear numbers written anywhere in the description or documentation?
 
Igor Karushev:
Are you sure about 1 gigabyte of RAM? Isn't it 2 Gb? And I repeat: is there any clear figure written anywhere in the description or documentation?

Don't twist: the original text is mine:"if the RAM is less than 1 Gb per agent"

Added:

And you can look for answers in the topicWe're launching the MQL5 Cloud Network service!

 
Alexey Volchanskiy:
Is there any money to be made there at all, except for the brew? )) Unless, of course, you own a farm.
I don't own an i7 - so I turned off the cloud a long time ago. I use agents exclusively on my home network.
 
Slawa:

The system function Point() is actually inlined and converted into a simple access to the _Point variable

And the order parameter functions (OrderType(), OrderTicket(), etc.) are inlined after the order has been selected? If we repeatedly address, for example, the selected order type, does it make sense to store the OrderType() result in a variable, and subsequently use that variable in our code? Or it won't make any difference as compared to repeated calls of the function?

I.e., is there a difference in speed of executing, for example, such codes?

if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP)
{
   
}

и

int nType = OrderType();

if(nType == OP_BUYLIMIT || nType == OP_BUYSTOP || nType == OP_SELLLIMIT || nType == OP_SELLSTOP)
{
   
}
 
Tested it myself. The second code runs four times faster. It's all clear, the question is off the table.
 
Sergei Vladimirov:
Tested it myself. The second code runs four times faster. That's it, the question is off the table.
Four times faster. Can you provide figures? Not 4 µs, but 1 µs ?)
 

Not micro. Nano. )

"a = OrderType()" - 3.45 ns.

"a = nType" - 2.19 ns.

 
Sergei Vladimirov:

Are the order parameter functions (OrderType(), OrderTicket(), etc.) inlined after the order is selected? If we repeatedly address, for example, the selected order type, does it make sense to store the result of OrderType() in a variable, and use that variable later in the code? Or it won't make any difference as compared to repeated calls of the function?

I.e., is there a difference in speed of executing, for example, such codes?

и

Sergei Vladimirov:
Checked it myself. The second code is executed 4 times faster. All clear, your question is answered.

Regardless of the question, any function call is always slower than reference to a variable on the stack, in this case nType.

Personally, I always cache such MQL function calls like yours in the second case.

Reason: