Desejos para MQL5 - página 3

 
alexnau:
wellx:
Eu já escrevi antes, mas vou dizer novamente:
- funções de chamada de retorno para trabalhar com o próprio terminal
- Conexão break/restore
- gerenciamento da fila de vários EAs (mutexes, seções críticas....)
- debugger (qualquer)
- suporte direto de numeração de barras (do mais antigo ao mais recente) com mensagens sobre mudanças do número de barras
- criar dll a partir de funções MQL (ajudará a criar bibliotecas, o que reduzirá o código geral com um grande número de indicadores)


Resolva os problemas com incerteza, é improvável que melhore o MQL atualizado. Por que precisamos de alguns alertas para calcular o número da barra atual (barra zero)?

Apesar da "contagem regressiva", a lógica para determinar a barra necessária é clara e simples, na minha opinião.

Não estou pedindo para mudar a variante atual, mas apenas para acrescentar apoio. O que isto fará não é recalcular o histórico em cada novo bar, você só precisa verificar a mudança no número de bares. Como resultado, a carga no terminal é reduzida e o paging in não é tão freqüente.
 
O número de barras ainda pode ser controlado. É para isso que serve o Bars.
 
alexnau:
wellx:
- suporte para numeração direta de barras (da mais antiga para a mais recente) com notificação de mudança no número de barras


para resolver os problemas de incerteza, é improvável que melhore o MQL atualizado. Por que precisamos de alertas para calcular posteriormente o número da barra atual (barra zero)?

Apesar da "contagem regressiva", a lógica de determinar a barra necessária é clara e simples, na minha opinião.


Isto reduziria o problema de encontrar a barra certa na história para especificar seu índice "para trás" e seria muito mais econômico.

Eh, o entusiasmo e o otimismo anteriores se foram :), mas eu acrescentarei meus 5 kopecks:

No modo de teste, em vez do modo "pontos de verificação", adicionar o parâmetro "todos os ticks" "número de partidas do Expert Advisor por barra". A modalidade "por preços abertos" não deve ser cancelada de qualquer forma, já que para ela é utilizado um fxt mais compacto. No entanto, não, é melhor substituí-lo pelo modo "a preços próximos" :)

E novamente:

-Adicionar ligação de variáveis globais para programar variáveis no init.

-Fazer um arquivo exe para o testador.

-Adicionar a buffers indicadores ( para cada tipo de variável) - para o intercâmbio efetivo de dados com o Expert Advisor.

 
Também: adicionar a capacidade de testar um determinado arquivo fxt com um nome arbitrário. Por que a atual relação rígida entre o nome do arquivo fxt e o caráter?
 
Aqui estão meus desejos para o novo sistema até agora que me vêm à mente (em ordem decrescente):

Idioma
----

Converter duplo em fio com a máxima precisão (> 8)

Compilação condicional (#ifdef, #ifndef, #define, #undefine)

Capacidade de substituir as palavras-chave por #define (para compilação condicional). O valor pode estar vazio.
exemplo:
//#define EXTERN externo // normal
#define EXTERN // concurso
EXTERN int opt = 0;

Comentários aninhados /* */.
Não o ANSI, mas implementado em quase todos os lugares (e deficientes). Permite que um grande pedaço de código seja comentado rapidamente com comentários de texto normais.

Estruturas (prometidas)

Arrays multidimensionais, melhor gerenciamento do jantar.

Depurador (prometido?)

Eventos

Exceções

API

Ponteiros ou similares, para listas, decks, ...

Interface com o banco de dados (SQL ou ODBC). O banco de dados não deve ser um servidor.

Funções em linha

Sobrecarga de funções

Obfuscante (difícil de descompilar).
Criptografia de cordas com decodificação única na inicialização da EA, mudança de fluxo de código, mistura de código, não excluir código não utilizado,
adicionar código de lixo e dados...
Controlando tudo isso com #pragma.


Terminal
--------
Nas configurações, especificar programa ou script MQL com opções (e metavariáveis) a serem chamadas antes (e depois?) da compilação (para pré-processamento personalizado).


Editor
--------
Operações de comentário/descomentário (por botão e/ou tecla de atalho)
 
1. Faça o testador em um programa separado (como editor e terminal MQL).
2. Fazer um algoritmo genético mais poderoso (para poder testar em número de variantes de 10 até a 20ª potência).
3. Acelerar o processo de testes. (Dificilmente esperarei de 15 a 30 horas, e será uma tarefa mortal!
4. Introduzir a função de inversão de posição (ou seja, se você tem uma posição de compra com 5 lotes, você pode convertê-la para vender 5 lotes).
Isso é tudo por enquanto.
 

Outro desejo para o téeter totter. Seria bom se, além do período de otimização, pudéssemos especificar o período de verificação cruzada dos parâmetros encontrados. Esta característica poupa um pouco de reconversão do sistema comercial (ou reconversão do NS).

 
Eu quero uma função. Os dados de entrada são os dados de otimização mais uma faixa de valores retornados. O resultado é, naturalmente, os valores otimizados.
 
klot:

Outro desejo para o téeter totter. Seria bom se, além do período de otimização, pudéssemos especificar o período de verificação cruzada dos parâmetros encontrados. Esta característica poupa um pouco de reconversão do sistema comercial (ou reconversão do NS).

Isto é o que realmente precisamos.
 
Integer:
drknn:
Bem, tenho uma sugestão modesta. Proponho introduzir uma função no idioma, que retornará o número de células da matriz, onde se encontra o valor dado (ou no caso de não retornar menos uma). Caso contrário, temos que organizar um loop cada vez. A função ArrayBsearch() não é adequada - ela retorna o valor errado.

O valor retornado por esta função ainda será verificado quanto à igualdade -1, para que você possa verificar o valor com índice retornado pela ArrayBsearch quanto à igualdade para o valor desejado. Não há uma grande diferença

Para citar a referência.

int ArrayBsearch(...)
Retorna o índice do primeiro elemento encontrado na primeira dimensão da matriz.
Se não houver nenhum elemento com o valor especificado na matriz, a função retornará o índice do elemento mais próximo (por valor).

Bem, quando você está procurando o índice não apenas de um número na matriz, mas de um bilhete da ordem, esta função não se adequa de forma alguma - por que eu preciso do índice do bilhete semelhante mais próximo, quando eu preciso exatamente deste bilhete, e se ele estiver ausente, a ordem não está entre as do mercado - ela está fechada e nós devemos encontrá-la na história! Quando se trabalha com matrizes deslocadas sincronizadamente, o índice é uma coisa muito importante, e deve ser preciso ou não disponível.