MQL: segurança vs oportunidades - página 7

 
Renat:

É tudo um disparate. Não é como se estivessem a correr gigabytes a toda a hora.

O sistema operativo e os processos do sistema têm ordens de magnitude mais a ver com o disco.

Havia uma questão

komposter:

... ou há algum tipo de software a verificar?

...

E, tanto quanto sei, não é o tamanho, mas a localização do ficheiro.

Se o ficheiro permanentemente regravável estiver sempre num lugar (pode reparar a troca lá) - a unidade começará a desmoronar-se fisicamente neste mesmo lugar.

(A desfragmentação semanal num horário irá resolver o problema).

Seja como for, não é realmente estúpido.

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

É tudo um disparate. Não é como se estivessem a correr gigabytes a toda a hora.

O sistema operativo e os processos do sistema trabalham muito mais duramente com o disco.

Olá Renat, gostaria de esclarecer a minha pergunta sobre a noção de caixa de areia de arquivo em MT e qual o papel que lhe é atribuído.

File sandbox é uma permissão para o Consultor Especialista escrever ou ler algo apenas num local limitado.
Isto é feito explicitamente para efeitos de segurança de dados informáticos.
Isto significa que restringimos o Expert Advisor a uma caixa de areia, de modo a que seja impossível para um Trojan abrir qualquer um dos dados privados do cliente fora da caixa de areia.
Caso contrário, seria necessária apermissão explícita de uma DLL para o Consultor Especialista.
OK.


E se permitir que o Expert Advisor não escreva em disco, mas pelo menos em ficheiros em memória?

Perde a segurança do utilizador / MK?

 
sergeev:


E se permitirmos que o Expert Advisor não escreva em disco, mas pelo menos em ficheiros em memória?

Será que isto perde a segurança do utilizador / MC?

Qual é a necessidade disto?

Demos ficheiros, pips e variáveis globais, todos os peritos num terminal podem comunicar uns com os outros normalmente e sem problemas. Mas a tarefa "comunicar com alguém de fora num modo livre" não está à nossa frente. Pelo contrário, a nossa tarefa é nunca deixar sair a informação.

ps: procurar soluções de trabalho para o método de comunicação entre terminais - não o faremos.

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

OK. Obrigado.

e mais algumas questões:

1. pode colocar em planos de desenvolvimento - transferir informações da EA para agentes locais durante um teste?

2. Será certificada uma aplicação de mercado que utiliza Tubos?

 
sergeev:


1. pode colocar em planos de desenvolvimento - transferir informações do perito para os agentes locais durante o teste?


Para começar, justifique por favor a necessidade deste tipo de intervenção.

Na nossa opinião, é metodologicamente incorrecto passar alguma informação adicional à EA testada para além da informação fornecida pelo testador (conjunto de parâmetros e ficheiros de dados, e mesmo indicadores personalizados que agora fornecemos mediante pedido).

A propósito, os agentes locais têm acesso à pasta partilhada de todos os terminais clientes neste computador.

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

Para começar, justifique por favor a necessidade deste tipo de intervenção.

Na nossa opinião, é metodologicamente incorrecto dar qualquer informação adicional ao testador para além do que o testador fornece (conjunto de parâmetros e ficheiros de dados, e mesmo indicadores personalizados que agora fornecemos a pedido).

como exemplo - a sua AG

Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais

dll e mercado.

joo, 2013.04.18 21:51

Tem razão no que diz respeito ao dinheiro. <...> e sobre o que foi discutido 100 vezes - a transferência de informação para agentes e "estreiteza no campo" no número de parâmetros optimizados.

<...>

1. limitar o número de parâmetros optimizáveis.

2. Monocriterialidade da optimização (desculpem a nova combinação de palavras).

Impossibilidade de controlar o processo de evaporação da areia.

Isto não é, de todo, uma censura aos criadores. Pelo contrário - é um voo de fantasia para os criadores do programa MQL5!

<...> se a transferibilidade bilateral aparecer - os problemas são resolvidos. Não haverá necessidade de implementar os três itens acima referidos - tudo crescerá por si só.



A propósito, os agentes locais têm acesso à pasta partilhada de todos os terminais clientes neste computador.

sim. é por isso que gostaria de acelerar a troca de informações sem alterar o paradigma de segurança.
 
A sua AG implica, antes de mais nada, a geração de conjuntos de parâmetros de entrada. Portanto, neste caso, não é necessária qualquer informação adicional
 
Renat:

Para informação - os nossos servidores de nuvem MQL5 Cloud Network normalmente geram cerca de 5 terabytes de tráfego por dia , por vezes até 10 Tb.

Se deixar entrar nesta rede tráfego personalizado sem restrições com a garantia de chegar a cada agente, então a rede não se vai sentir muito bem.

1. Atrevo-me a dizer que 99,9% do tráfego consiste agora em dados históricos.

2. não é de todo necessário dirigir-se a cada agente. Mostrar-vos-ei como a seguir.

Renat:

...

Demos ficheiros, pips e variáveis globais,todos os peritos num terminal podem comunicar uns com os outros normalmente e sem problemas. Mas a tarefa "comunicar com alguém de fora num modo livre" não está à nossa frente. Pelo contrário, a nossa tarefa é nunca deixar sair a informação.

ps: Não há necessidade de procurar soluções de trabalho para o método de comunicação entre terminais - não o faremos.

Não sei de ninguém, mas deixei muito claro há pouco que precisamos de uma troca de informação bidireccional entre os programas do gráfico e os agentes. O exterior não é necessário. Ou seja, dentro de apenas um terminal (e os agentes que gere). Nenhuma outra cópia em funcionamento dos terminais (com objectivos diferentes) está envolvida na troca de informações.

stringo:

Acreditamos ser metodologicamente incorrecto passar qualquer informação adicional a um Consultor Especialista em teste, para além da fornecida pelo testador(um conjunto de parâmetros e ficheiros de dados, e indicadores personalizados).

A propósito, os agentes locais têm acesso à pasta partilhada de todos os terminais clientes neste computador.

É exactamente mediante pedido. Este não é o endereço do agente com transferência de informação para o mesmo, mas o próprio agente levará um pacote dirigido apenas a ele (e, por conseguinte, basta enviar este pacote pelo testador para a nuvem).


Por isso, é preciso algo do género:

#property  expert_opt_param 600


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

onde o expert_opt_param é uma propriedade padrão de programas como a EA.

Se os dados personalizados se revelarem não inicializados, o passe é ignorado.

Consequentemente, o pacote de dados dirigido ao agente deve ser pré-criado pelo Consultor Especialista no gráfico para que o agente o possa receber:

bool OptDataSend(double CustomData, int AgentId);

onde bool OptDataSend() - função de linguagem padrão

dados personalizados duplos - dados do utilizador

int AgentId - agent id, por outras palavras - número de passe em modo de optimização "força bruta".


E - como será quebrada a segurança neste caso? Tudo rigorosamente e em série, dentro de uma única caixa de areia terminal.

 
sergeev:

dentro de uma EA é resolvido pelo CFastFile (na pasta MQH\Ctrl, procure-o).

mas como o teste mostrou o bitmap de saída a cartografar em comparação com os objectos, é uma perda de tempo. Regras de visualização de CV :)

Presumo que o teste não é muito correcto.

Primeiro, o OpenCL não participou na criação do bitmap (discutível, claro, para grandes volumes pode ser uma vantagem para os pequenos, mas é duvidoso),

em segundo lugar, escrever para ficheiro e ler de ficheiro são muito mais lentos do que aceder à memória (e aqui com recálculo frequente, por exemplo 24 vezes por segundo as maiores perdas, escrever e ler ficheiro 24 vezes por segundo e medir o tempo), isto é apenas a perda de 1ª bitmap vs 26 etiquetas.

É por isso que sou a favor dos ficheiros virtuais. É uma solução versátil. Pode utilizá-lo em muitos algoritmos.

 

Urain:

Presumo que o teste não é muito correcto.

A escrita e a leitura de um ficheiro é uma ordem de grandeza mais lenta

Não houve escrita para arquivar. foi ResourceCreate.

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