Desejos para Meta Trader 4/5

 

1) Faça um construtor de estratégia intuitivo, arrastando e soltando a la Gordago (ou melhor ainda, construtores de estratégia mais complexos). Isto certamente atrairá novos usuários que querem negociar mais ou menos sistematicamente, mas não querem gastar muito tempo estudando e bisbilhotando em MQL. O negócio do comerciante é pensar sobre o mercado e tentar opções, não sobre onde um bug se infiltrou no código do programa.

2) Histórico de testes. Você terá que fazer "para todos" mais cedo ou mais tarde de qualquer forma devido à competição e às mudanças que estão ocorrendo, e as pessoas com conhecimento e "longa experiência" sabem como abordar os testes no MT4 de qualquer forma.

Faça estas coisas e MT será o número 1 por muito tempo sem dúvida. E se você não o fizer, outros o farão (e já o fazem). Mas você já tem um produto de qualidade suficientemente alta e adequado para a superestrutura destas coisas necessárias.

Com a esperança de compreensão.

 
Muito ingênuo.

Poucas pessoas podem resistir ao sonho de "Vou jogar os dados visualmente e depois está feito". A dura realidade e a prática a longo prazo provam que nunca funcionou, nunca funcionou, e é improvável que funcione dessa forma. Estamos nos movendo exatamente na direção oposta - concentrando-nos nos programadores e fornecendo-lhes ferramentas completas de desenvolvimento.
 
Prezado Renat.

É possível na nova versão do Meta Trader 4
no testador de estratégia na página "Log"
através do menu que aparece após clicar com o botão direito do mouse
junto com o item "Auto-scrolling" adicionar itens
"Desabilitar saída de mensagens do testador".
"Desabilitar saída de log".

Assim, os logs mostrarão apenas os resultados do Expert Advisor e nenhuma mensagem:

2007.09.04 22:49:44 Expert: carregado com sucesso
2007.09.04 22:55:37 2006.01.02 07:00 Expert: EURUSD,M1: aberto #1 comprar 0,50 EURUSD a 1.1832 sl: 1.1732 tp: 1.1882 ok
2007.09.04 22:55:38 2006.01.03 06:03 Tester: tirar lucro #1 a 1.1882 (1.1883 / 1.1886)

e mensagens similares.
Quando um Expert Advisor envia muitos pedidos dentro de um período de teste
é quase impossível encontrar as mensagens do próprio Expert Advisor
e isso torna a depuração muito difícil.
Não é conveniente procurar algo nos logs do disco.

Agradecemos antecipadamente.
 
1)Capacidade total de brincar com a história.
2) Capacidade de olhar toda a forma do espaço de duas variáveis durante a otimização
e não apenas o melhor resultado, quando todos os outros valores são fixos.
3) Capacidade de realizar WFA automático.
4) Capacidade de testar e otimizar EAs em múltiplas moedas (carteira).
 
Renat:
Muito ingênuo.

Poucas pessoas podem resistir ao sonho de um tipo de "agora vou jogar os dados e pronto". A dura realidade e a longa prática provam que não funcionou, não funciona e é pouco provável que funcione dessa forma. Estamos nos movendo exatamente na direção oposta - concentrando-nos nos programadores e fornecendo-lhes ferramentas completas de desenvolvimento.


Essa é uma resposta estranha. "Políticas", como, aliás, são muitas outras respostas. Não estou falando de um "sonho de cachimbo", mas de uma interface de fato. E não vou perder meu tempo em discussões sobre o quê, quem o tem e como exatamente "funciona", por assim dizer. Em vez disso, proponho que você mantenha e desenvolva uma programação complexa, e acrescente a isso um designer visual intuitivo para outra parte da plataforma CA. Se você o torna funcionalmente idêntico à programação (mesmo que não imediatamente), e ainda melhor, tem a capacidade de combinar estes dois métodos, então que diferença faz como o usuário formará a estratégia - por código, "dados", ou resumidamente?

Aparentemente, você me dirá que "não temos recursos para fazer todo esse absurdo. Passaremos o resto de nossas vidas cantando a mesma música". É isso mesmo?

 
ADI:


Aparentemente, você me dirá que "não temos recursos para fazer todo esse absurdo. Vamos passar o resto de nossas vidas cantando a mesma música". É isso mesmo?

A teoria é boa, mas nós somos praticantes. Tentativas de "fazer uma solução simples para os comerciantes" já foram feitas antes (MQL, MQL2). Eu já escrevi sobre isso muitas vezes.

Mas trabalharemos com o construtor/visitante - tentaremos fazer esqueletos básicos simples (não programas completos) automaticamente.
 
Além da habitual declaração de variáveis, eu realmente gostaria de criar variáveis similares por nome de string, que atua como um parâmetro que pode ser alterado durante a operação de um indicador ou de um Expert Advisor. Isto é semelhante às variáveis globais! Por exemplo, assim:
CreatIntVariable("Variable_Name");
 

Renat, sugiro que você pense sobre o protótipo da função iCustom em versões futuras. Agora você tem que escrever a lista de parâmetros explicitamente no código, e não pode chamar um indicador arbitrário pelo nome, por exemplo, dado por um usuário, porque o número de argumentos de qualquer indicador é desconhecido antecipadamente. Restringe severamente o uso do iCustom. Além disso, há dois parâmetros de chamada (modo int, int shift) no final da lista de argumentos iCustom, ou seja, os parâmetros indicadores "quebram" os parâmetros do próprio iCustom no protótipo.

Posso propor um protótipo desse tipo:

double iCustom( string symbol, int timeframe, string name, int mode, int shift, object[] indicatorParams)

Isto é, todos os parâmetros obrigatórios do próprio iCustom estão no início, e o último argumento da função é um array dos argumentos indicadores de um novo tipo de objeto arbitrário (na verdade, eles são int, bool, double, datetime e outros tipos de MQL incorporados) com um número variável no array. Embora a idéia em si não seja realista - cerca de 5 anos atrás um homem me disse que os programadores são uma classe extinta de pessoas, que é uma camada desnecessária entre profissionais e computadores. Com o passar do tempo, o prognóstico torna-se verdadeiro - o número e a complexidade das soluções de TI está apenas aumentando.

E seria bom ter funções para enumerar seus argumentos para os indicadores: IndicatorArgsCount(), ArgsItemName[i] retornará o nome do parâmetro, etc.
E o mais importante - é um depurador na MQL 5.

 

Para chv - ainda é possível utilizar parâmetros padrão no iCustom - ver https://docs.mql4.com/ru/indicators/iCustom.

Em princípio a MQL4 representa tudo agora, mas ainda mais é possível. Aqui está minha lista:

1.) É possível determinar se um pedido StopLoss ou TakeProfit acabou de ser fechado. Isto pode ser feito agora, mas é bastante complicado:

3 funções

int OrderJustClosedCount() - devolve o número de pedidos fechados em paradas

int OrderJustClosed(int pos) - número do bilhete

OrderJustClosedClear() - limpa o buffer - imediatamente após OrderJustClosedCount retornar 0 - se o processamento tiver demorado muito tempo.

2.) Para alguns objetos (por exemplo, um canal de regressão linear), você não pode ler alguns valores após o desenho (por exemplo, o preço no final de um canal).

3.) Adicionando mais MathArcTan2 - pelo menos MathArcTan2 - é claro que muito já foi implementado na MQL4, mas ainda assim - por que não integrá-los?

E sobre o depurador - creio que você já está trabalhando nisso ;-)

 
Itso:

1.) A possibilidade de determinar se as ordens StopLoss ou TakeProfit acabam de ser fechadas. Isto pode ser feito agora, mas é bastante complicado.

Depois há também uma lista de ordens pendentes acionadas.

Em geral, devemos apenas introduzir o conceito de "evento", e todas essas situações podem ser tratadas.
Por exemplo, o evento "ordem disparada", "SL disparado", ou "ordem apagada por tempo de expiração".
 
Itso:

Para chv - a possibilidade de usar parâmetros padrão no iCustom ainda existe - veja https://docs.mql4.com/ru/indicators/iCustom


Sabe, já li o protótipo da função iCustom ;). Os "parâmetros padrão" não me permitem fazer o que eu preciso. Aqui está a tarefa mais simples - o Expert Advisor toma como argumento em uma cadeia o nome de um indicador arbitrário e, por exemplo, uma lista de valores separados por vírgulas de seus parâmetros em um arquivo de texto. O consultor especializado precisa chamar o indicador pelo nome com os valores dos argumentos especificados e receber seus valores e imprimi-los na revista, digamos, a descrição do iCustom contém uma frase:

...   -   Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных  пользовательского индикатора.

Agora não podemos fazer isso por um indicador arbitrário - escreva o que não sabemos. Na fase de compilação do Expert Advisor, o número e tipo de argumentos indicadores é desconhecido. É determinado somente em tempo de execução. Nas linguagens de programação, isto é chamado de "encadernação tardia". Ela não existe na MQL no momento.

Razão: