Há muito tempo tenho que lidar com a necessidade de trabalhar com muitos parâmetros de configuração. Sempre que possível, eu resolvo este problema criando uma caixa de diálogo especial através de uma DLL na qual os parâmetros são tabulados. Após a inicialização, esta janela é escondida e então o programa é executado como de costume.
Se ao menos fosse algo assim na MQL, para que não tivesse que olhar através de uma enorme lista de parâmetros. A própria idéia de como implementá-la é interessante. Apenas a sintaxe deve ser ligeiramente diferente:
input struct VolumeParams // Здесь название вкладки { // Содержимое вкладки double Lot1 = 0.01; double Lot2 = 0.02; double LotRatio = 1.5; };
Há muito tempo tenho que lidar com a necessidade de trabalhar com muitos parâmetros de configuração. Sempre que possível, eu resolvo este problema criando uma caixa de diálogo especial através de uma DLL na qual os parâmetros são tabulados. Após a inicialização, esta janela é escondida e então o programa é executado como de costume.
Se ao menos fosse algo assim na MQL, para que não tivesse que olhar através de uma enorme lista de parâmetros. A própria idéia de como implementá-la é interessante. Apenas a sintaxe deve ser ligeiramente diferente:
Certo, é mais curto ) e com dll não vai funcionar no Mercado, infelizmente.
e a utilização da caixa de diálogo não lhe permitirá otimizar os parâmetros no testador
é melhor assim, então:
struct VolumeParams { double lot; //название параметра double LotRatio; //название параметра int tp; //название параметра int sl; //название параметра int orders; //название параметра }; VolumeParams ParamBuf[5]; input ParamBuf[0]; // Здесь название вкладки input ParamBuf[1]; // Здесь название вкладки input ParamBuf[2]; // Здесь название вкладки input ParamBuf[3]; // Здесь название вкладки input ParamBuf[4]; // Здесь название вкладки
Imho, grande idéia, consistente com o conceito de OOP. Até agora, vejo 2 opções:
1) EstiloFrameInputs.
parameters
[out] Conjunto de cordas com descrição dos nomes e valores dos parâmetros
parâmetros_contagem
[O número de elementos na matriz deparâmetros[].
2) No estiloMqlParams.
Eu sempre utilizo a primeira abordagem.
Quando um Expert Advisor é colocado em uma negociação (seja em uma demonstração ou em uma conta real) - os parâmetros são fixos - e apenas um parâmetro - o percentual de risco - é passado para a classe do Expert Advisor. Todos os outros parâmetros estão escritos na mesma estrutura e são definidos dentro do Expert Advisor - seja no construtor ou em uma função especial.
Refiro-me à abordagem "Expert Advisor in a class" (Conselheiro Especialista em uma classe). Há um problema em passar os parâmetros de entrada para o Expert Advisor cuja classe está localizada em um arquivo .mqh separado.
Não senti o problema. Para prescrever um modelo no construtor da classe e pronto.
Não senti o problema. Você tem que prescrever um modelo no construtor da classe e é isso.
bem, você ainda não falou com os clientes)
...aqui o cliente quer 10 entradas, e cada passo tem seu próprio tp/slot/lot/trall/sinal para entrada
e que tudo isso seja otimizado no testador)
Então, como isso se relaciona com o tópico do fio?
A própria discussão de fato desviou-se um pouco do título do fio. Agora é mais sobre a segunda parte do posto da TC:
E se fizermos uma extensão da linguagem MQL e colocarmos variáveis de entrada na estrutura? De qualquer forma, não é compatível com C++ e C, por causa da imitação do ponteiro. Então, por que não ir mais longe?
Então você poderia passar a variável ivars para a classe de algoritmo, cópia, etc.

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Refiro-me à abordagem EA-in-class. Há um problema em passar parâmetros de entrada para um EA cuja classe está em um arquivo .mqh separado. Eu utilizo dois métodos
E se fizermos uma extensão MQL e colocarmos variáveis de entrada na estrutura? Não é compatível com C++ e C de qualquer forma, por causa de imitação de ponteiros. Então, por que não ir mais longe?
Então você poderia passar a variável ivars para a classe do algoritmo, copiar, etc.
Levar a idéia em um nível de brainstorming ))