A desaceleração linear é um erro de programação ou uma característica do MT4?

 

Não sou um programador, mas como todos aqui inclinados à análise, estou a tentar compreender as razões da travagem da EA, nomeadamente o que no caso de a alterar levou a consequências prejudiciais, e o mais importante se é possível corrigi-la.

Antecedentes

Tendo decidido testar a minha ideia, encomendei Kamikadze_MA_V_01 https://www.mql5.com/ru/job/10296 na secção "Trabalhos" e a mesma foi executada.

Depois de o ter testado decidi melhorá-lo, de facto as melhorias não são muito substanciais - tempo de vida das ordens abertas e pendentes, limitação do número de ordens abertas por tendência e possibilidade de bloquear a abertura/fecho das ordens incluindo o seu fecho - Kamikadze_MA_V_02 https://www.mql5.com/ru/job/10359, o trabalho foi concluído de acordo com o algoritmo.

Agora encomendei mais uma adição sob a forma de filtro oscilador que exclui o trabalho em gamas definidas pelo utilizador Kamikadze_MA_V_03 https://www.mql5.com/ru/job/10720 .

Realidade

Uma vez que o trabalho de qualquer (meu) Expert Advisor começa com a sua configuração (todos os símbolos têm volatilidade e preferências diferentes para os parâmetros indicadores), a velocidade de optimização é criticamente importante.

Velocidade de processamento assim estimada - 23 passagens de 2000 a 2013 no período de uma hora, através da abertura dos preços:

1. Kamikadze_MA_V_01 - 5 minutos

2. Kamikadze_MA_V_02 - 15 minutos.

3. Kamikadze_MA_V_03 - mais de 30 minutos

Este tipo de trabalho apenas mata a possibilidade de configuração rápida da EA.

A questão é

É possível aumentar a velocidade do Kamikadze_MA_V_02 optimizando o código e diminuindo o tempo de processamento para a versão Kamikadze_MA_V_01 sem perder a capacidade de negociar numa conta real?

MQL5 работа: Kamikadze_MA_V_01
MQL5 работа: Kamikadze_MA_V_01
  • www.mql5.com
Название советника: Kamikadze_MA_V_01 Данный советник состоит из 3 MA которые настраиваются по всем параметрам и которые могут быть изменены на пользовательский индикатор. Важно - советник может работать на текущем тайм фрейме(15минут), но по данным с верхнего тайм фрейма(1час). Настраиваемые переменные: lot - размер начального лота lotM - вариант изменения размера лота при повторном открытии отложенного ордера до достижения maT TF - тайм фрейм по которому будут рассчитываться МА, если "0" то на...
Arquivos anexados:
 

-Aleks-:

Pergunta

É possível aumentar a velocidade do Kamikadze_MA_V_02 optimizando o código e diminuindo o tempo de processamento para a versão Kamikadze_MA_V_01 sem perder a capacidade de negociar numa conta real?

É possível.

Penso que pode ser 10 vezes mais rápido. Talvez, a EA possa não ter nada a ver com isso.

O que quer receber por 30 créditos?

 

Serj_Che:
Возможно. 

Isso é encorajador! O que precisa de ser alterado globalmente no código para o fazer?

 
Serj_Che:

O que queria por 30 créditos?

Aqui vamos nós.

ele está a humilhar-se a si próprio. isso está na moda?

 
-Aleks-:

Isso é encorajador! O que precisa de ser alterado globalmente no código para que isto funcione?

Quando se escreve inicialmente uma coisa e depois se acrescentam condições que quebram a lógica e a estrutura do programa, obtém-se muletas.

O bom é que tem de reescrever tudo de novo.

 
Serj_Che:

Quando inicialmente se escreve uma coisa e depois se acrescentam condições que quebram a lógica e a estrutura do programa, obtém-se muletas.

O bom é que tem de reescrever tudo de novo.

A questão é que 4 dos meus EAs (que eu próprio desenvolvi) estão constantemente a ser melhorados, e parece-me que se trata de um fenómeno normal. Claro que o desempenho por vezes cai, mas isso é cerca de 10%-15%, enquanto que neste caso é 3 vezes entre duas versões. Penso apenas que há algo no código que atrasa significativamente a EA.

E então, o programador não está interessado em finalizar o seu trabalho, obter um TDR consistente e um rendimento estável, compreender o seu código e descobrir a lógica do Expert Advisor, em vez de tentar escrever um novo TDR a partir do zero, participando num concurso?

 
Ofereci-me para acelerar e optimizar o seu desempenho para o testador e dei-lhe uma espécie de custo aceitável. Inicialmente, a tarefa de acelerar a EA no testador, ao executar a EA em 15 anos, não era um problema).
 
zfs:
Ofereci-lhe para acelerar e optimizar o teste e dei-lhe um custo aceitável. Inicialmente, a tarefa de acelerar a EA no testador quando se executava a EA durante 15 anos não era um problema).

Não quero discutir publicamente a minha atitude em relação ao resultado do trabalho neste momento.

Estou a pedir ajuda para encontrar possíveis erros e corrigi-los.

Estou pronto a considerar a sua proposta se me disser quantas vezes o ganho de desempenho será e qual é o erro.

A variante de adicionar um indicador personalizado ao código do Expert Advisor não dará o ganho de desempenho esperado, e de que outra forma irá melhorar o desempenho? Substituir "Preço" por "Aberto"?

 
sergeev:

a começar.

ele está a humilhar-se a si próprio. isso está na moda?

Não compreendo a sua frase, quem humilha quem?
 
sergeev:

ele está a humilhar-se a si próprio. isso está na moda?

Ou talvez ele esteja apenas a ser honesto e a admitir que é um merdoso :)
 
TheXpert:
Ou talvez apenas admita honestamente que está cheio de merda :)

Há outro espertalhão.

Não tenho absolutamente nada a ver com este trabalho.

És tu que estás a falar merda.

Estou apenas a salientar que ambos estão errados. O programador escreveu um código de má qualidade e o cliente caiu pela barateza.

Poderia ter resolvido esta questão íntima entre eles (cliente e empreiteiro), mas como queria discuti-la publicamente - dei a minha opinião (delicadamente).