Por que não colocar os parâmetros de entrada na estrutura? - página 3

 
Комбинатор:
Em seguida, defina os parâmetros com um arquivo.

A propósito, sim.

Se há muitos parâmetros, em minha opinião, um arquivo INI é "exatamente o que o documento ordenou".

Você pode usar diretamente as funções prontas para uso do Windows para trabalhar com os arquivos INI. Embora eu tenha o meu próprio, autoescrito.

 
Taras Slobodyanik:

Portanto, para escrever toda aquela pilha de parâmetros, bastaria definir a estrutura e colocá-la nos parâmetros de entrada.


Sim, é isso mesmo.

 
Alexey Volchanskiy:

Sim, isso mesmo.

Você pode me mostrar um exemplo de conveniência? Eu não consigo entender do que você está falando.

 
Ihor Herasko:

Então não é surpreendente ver duas janelas para os ajustes: uma janela padrão e uma nova?

Execute a EA sem a janela padrão.

 
fxsaber:

Não é disso que se trata, pois menciona um arquivo mqh-file. E definir a estrutura é o mesmo que escrever todos os campos. Em outras palavras, é a mesma coisa.


Acho que escrevi muito claramente, mas vou repeti-lo usando um exemplo. Temos um Expert Advisor, ele tem 100 parâmetros de entrada, e temos que passar todos eles para uma instância da classe do algoritmo onde todo o trabalho acontece. Há duas maneiras:

  1. Fazer a(s) função(ões) de definição de parâmetros na classe. Agora imagine uma função com 100 parâmetros. A propósito, há um limite no número de parâmetros de função na MQL5?
  2. A classe é definida após as variáveis de entrada, ou seja, elas são visíveis a partir da EA. A desvantagem - menos flexibilidade no caso de múltiplas instâncias da classe. Mais - quantidade mínima de escrita.

    input double LotSize = 0.1;
    // другие 100 input переменных...
    
    #include <MyLib\MyClassEA.mqh>
    CMyClassEA MyEA;
Então o problema é como passar variáveis de entrada para uma instância da classe do algoritmo
 
fxsaber:

Você pode me mostrar um exemplo de conveniência? Eu não consigo entender do que estamos falando.


O que é mais fácil, passar 100 parâmetros para a função de inicialização ou uma referência a uma estrutura com parâmetros de entrada?

 
George Merts:

A propósito, sim.

Se há muitos parâmetros, eu acho que um arquivo INI é apenas "o que o documento ordenou".

Você pode usar diretamente as funções prontas para uso do Windows para trabalhar com os arquivos INI. Embora eu tenha minhas próprias, autoescritas.


O objetivo é deixar a possibilidade de uma otimização padrão. É realmente possível fazer isso com o ini?

 
Ihor Herasko:

É assim que se faz agora. Ao mesmo tempo, o Expert Advisor vem com um "Editor" de tal arquivo na forma de uma DLL, que exibe uma janela com parâmetros de abas.

Ou seja, tudo é possível. Ninguém argumenta com isso. Outra coisa é que se estivesse na forma de uma funcionalidade pronta no terminal, seria legal.


E como otimizá-lo? Não é a primeira vez que faço esta pergunta e ninguém está dizendo uma palavra.

 
Alexey Volchanskiy:

O objetivo é deixar a possibilidade de uma otimização padrão. É possível com o ini?

Isso é possível. Mas não entendo por que o ini.

 
fxsaber:

Execute a EA sem a janela padrão.


Como isso é possível? Eu realmente não entendo como isso é possível. Conheço este truque para scripts, mas não para EAs e indicadores.