MQL: security vs opportunities - page 7

 
Renat:

It's all nonsense. It's not like you're running gigabytes around the clock.

The operating system and system processes have orders of magnitude more to do with the disk.

There was a question

komposter:

... or is there some kind of software to check?

...

And as far as I know, it's not the size, but the location of the file.

If permanently rewritable file is always in one place (you can fix swap there) - the drive will physically start to crumble in this very place.

(Weekly defragmentation on a schedule will sort it out.)

Anyway, it's not really stupid.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
 
Renat:

It's all nonsense. It's not like you're running gigabytes around the clock.

The operating system and system processes work much harder with the disk.

Hi Renat, I would like to clarify my question about the notion of a file sandbox in MT and what role is assigned to it.

File sandbox is a permission for the Expert Advisor to write or read something only in a limited place.
This is done explicitly for the purpose of computer data security.
It means we restrict the Expert Advisor to a sandbox, so that it is impossible for a Trojan to FileOpen any of the private client data outside of the sandbox.
Otherwise, it would require explicit permission of a DLL for the Expert Advisor.
OK.


And what if you allow the Expert Advisor to write not to disk, but at least to files in memory?

Does it loose security of the user / MK?

 
sergeev:


And if we allow the Expert Advisor to write not to disk, but at least to files in memory?

Does it lose user / MC security?

What is the need for this?

We have given files, pipes and global variables, all experts on one terminal can communicate with each other normally and without problems. But the task "to communicate with someone outside in a free mode" is not in front of us. On the contrary, our task is to never let information get out.

ps: look for workarounds to the method of communication between terminals - we won't do that.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 

OK. Thank you.

and more questions:

1. can you put in development plans - transferring information from EA to local agents during a test?

2. will a marketplace application that uses Pipes be certified?

 
sergeev:


1. can you put in development plans - transferring information from the expert to local agents during the test?


To begin with, please justify the need for this kind of intervention.

In our opinion, it is methodologically incorrect to pass some additional information to the tested EA besides the information provided by the tester (parameter set and data files, and even custom indicators we now provide upon request).

By the way, local agents have access to the shared folder of all client terminals on this computer.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
stringo:

To begin with, please justify the need for this kind of intervention.

In our opinion, it is methodologically incorrect to give any additional information to the tester beyond what the tester provides (parameter set and data files, and even custom indicators we now provide on request).

as an example - their GA

Forum on trading, automated trading systems and testing of trading strategies

dll and market.

joo, 2013.04.18 21:51

You're right on the money. <...> and about what has been discussed 100 times - the transfer of information to agents and "narrowness in the field" in the number of optimized parameters.

<...>

1. Limit the number of optimisable parameters.

2. Monocriterionality of optimization (sorry for the new word combination).

Impossibility of controlling the process of sand evaporation.

This is not a reproach to developers, at all. On the contrary - it's a flight of fancy for MQL5 program developers!

<...> if bilateral transferability will appear - problems are solved. There will be no need to implement all three of the above items - everything will grow on its own.



By the way, local agents have access to the shared folder of all client terminals on this computer.

yes. that's why I would like to speed up information exchange without changing the security paradigm.
 
Your GA assumes first and foremost the generation of input parameter sets. So, in this case, no additional information is needed
 
Renat:

For information - our MQL5 Cloud Network cloud servers normally generate about 5 terabytes of traffic per day , sometimes up to 10 Tb.

If to let into this network unrestricted custom traffic with a guarantee of getting to each agent, then the network won't feel very good.

1. I dare say 99.9% of traffic now consists of historical data.

2. Addressing each agent is not necessary at all. I'll show you how below.

Renat:

...

We have given files, pips and global variables,all the experts on one terminal can communicate with each other normally and without problems. But the task "to communicate with someone outside in a free mode" is not in front of us. On the contrary, our task is to never let information get out.

ps: There's no need to look for workarounds to the method of communication between terminals - we won't do that.

I don't know about anyone, but I made it very clear earlier that we need a two-way exchange of information between the programs on the chart and the agents. Outside is not necessary. That is, within only one terminal (and the agents it manages). No other running copies of the terminals (with different purposes) are involved in the information exchange.

stringo:

We believe it is methodologically incorrect to pass any additional information to an Expert Advisor under test in addition to that provided by the tester(a set of parameters and data files, and custom indicators).

By the way, local agents have access to the shared folder of all client terminals on this computer.

It is exactly upon request. That is not address address to the agent with transfer of information to it, but the agent itself will take a package addressed only to it (and accordingly just send this package by the tester to the cloud).


So, you need something like this:

#property  expert_opt_param 600


void OnTesterInit(const double &CustomData[])
{
   
}

where expert_opt_param is a standard property of programs like EA.

If CustomData turns out to be uninitialized, the pass is skipped.

Accordingly, the data packet addressed to the agent must be pre-created by the Expert Advisor on the chart so that the agent can receive it:

bool OptDataSend(double CustomData, int AgentId);

where bool OptDataSend() - standard language function

double CustomData - user data

int AgentId - agent id, in other words - pass number in "brute force" mode of optimizer.


And - how will security be broken in this case? All strictly and serially, within a single terminal sandbox.

 
sergeev:

within one EA is solved by CFastFile (in the MQH\Ctrl folder, look it up).

but as the test showed output bitmap to chart compared to objects is a waste of time. CView rules :)

I assume that the test is not very correct.

First, OpenCL did not take part in bitmap creation (debatable, of course, for large volumes it may be an advantage for small ones, but it's doubtful),

secondly write to file and read from file are much slower than accessing memory (and here with frequent recalculation, for example 24 times per second the biggest losses, write and read file 24 times per second and measure time), that's just the loss of 1-th bitmap vs 26 labels.

That's why I'm in favour of virtual files. It's a versatile solution. You can use it in many algorithms.

 

Urain:

I assume that the test is not very correct.

Writing to and reading from a file is an order of magnitude slower

There was no write to file. it was ResourceCreate.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5
Reason: