Bibliotecas: MT4Orders - página 14

 
Aleksey Vyazmikin:

Ela responde agora?

Privado - essa é a minha biblioteca ou outra biblioteca?

Fiz tudo de acordo com o artigo conhecido por todos, e não há nenhum indicador especial lá....

Duvido que esse código possa causar sobrecarga no kernel:

Ou é esse o motivo?

O indicador deve ser colocado no inite, mas você o faz em cada tick, o que é absolutamente errado.

int handle=iMA(symbol,timeframe,period,ma_shift,
                  ma_method,applied_price);
 
Aleksey Vyazmikin:

Ele responde agora?

É claro que não! É o que diz claramente no cabeçalho.

// Este documento aborda SOMENTE o sistema de mandado.

Privado - essa é a minha biblioteca ou outra biblioteca?

Fiz tudo de acordo com o artigo conhecido por todos, e não há indicadores especiais lá....

Duvido que esse código possa causar sobrecarga no kernel:

Ou é esse o motivo?

Infelizmente, não tenho competência para responder a essas perguntas com precisão. Nunca usei indicadores em EAs, desde a palavra TOTALMENTE.

Tente perguntar nos tópicos apropriados sobre a eficiência de sua solução no MT5.

 
Vitaly Muzichenko:

O indicador deve ser definido na inicialização, mas você o faz a cada tick, o que não está certo


Concordo - essa é minha primeira modificação - eu estava fazendo isso para essa biblioteca, mas algo deu errado....

 
fxsaber:

Claro que não! Está escrito claramente no cabeçalho.

E eu me empolguei - desculpe-me por não ter entendido.

fxsaber:

Infelizmente, não tenho competência para responder a essas perguntas com precisão. Nunca usei indicadores em EAs, desde a palavra TOTALMENTE.

Tente perguntar nos tópicos apropriados sobre a eficácia de sua solução no MT5.


Removi o indicador completamente - os freios ainda estavam lá.

Talvez o motivo seja o fato de eu usar o Expert Advisor não em Forex, mas em FORTS?

 
Aleksey Vyazmikin:

Removi o indicador completamente - os freios ainda estavam lá.

Talvez o motivo seja o fato de eu usar o Expert Advisor não no Forex, mas no FORTS?

A biblioteca funciona da mesma forma em qualquer plataforma, pois o núcleo é o mesmo - MQL5.

 
fxsaber:

A biblioteca funciona igualmente em qualquer plataforma, pois o núcleo é o mesmo: MQL5.


Isso é bom.

Portanto, devemos fazer toda a vinculação (séries temporais e indicadores e outras incompatibilidades) manualmente em MQL5 e negociar funções com a ajuda de sua biblioteca. No entanto, o objetivo de sua aplicação é perdido (apenas para mim). Tentarei refazer esse EA mais tarde, deixando apenas as funções de negociação inalteradas (se for possível) e verei o que acontece.

 
Aleksey Vyazmikin:

Portanto, precisamos fazer todos os vínculos (séries temporais, indicadores e outras incompatibilidades) manualmente na MQL5 e negociar funções usando sua biblioteca. No entanto, o objetivo de sua aplicação é perdido (apenas para mim).

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Bibliotecas: MT4Orders

fxsaber, 2016.08.09 08:35 pm.

Alguém dirá que você só precisa se acostumar com o MT5-Orders. É impossível discordar aqui. Você pode se acostumar com tudo. Ao falar sobre a conveniência do NFC, eu quis dizer algo diferente.

Quando você coloca as mãos em um consultor MQ4, é muito fácil entender pelo código o que e onde ele faz. Fazer alterações. Ajudar uma pessoa se ela perguntar sobre o código, etc. Esse é o caso de quase todos os consultores de base de dados, por exemplo. E o motivo não é o fato de quase todos eles serem escritos em estilo procedural (os consultores OOP MQ4, a propósito, são mais fáceis de entender).

Quando você pega um consultor MQ5 (veja o pobre codobase), entender suas partes de algoritmos de negociação exige um esforço mental mais sério. Eu diria até que o desconforto é sentido. E é exatamente isso que acontece com o SNF. A compreensão sempre vem, mas exige muito mais tempo e esforço.

É claro que, se você ler/editar/adicionar exclusivamente seu próprio código, não sentirá nenhuma diferença significativa entre o MT4 e o MT5-NFC: você escreveu sua própria biblioteca universal e pronto. Mas isso é apenas para seu próprio benefício. Se você encontrar o código de outra pessoa, vai tomar um banho de água fria. E, infelizmente, a biblioteca padrão dos desenvolvedores não o ajuda a sair da zona de desconforto.

Por causa disso, é extremamente difícil discutir/refinar de forma construtiva uma ideia de negociação em MQL5, como tem sido praticado há muito tempo em várias comunidades de negociação em MQL4. E o desejo de mudar para o MT5, nesse sentido, não é motivador.

Eu gostaria de acreditar que esse trabalho, como um acréscimo ao MT5-Hedge, finalmente permitirá que boas ideias de negociação sejam testadas (e discutidas) em um testador MT5 forte e reduzirá significativamente as conversas sobre as diferenças entre o MT4 e o MT5. Permitirá que o componente de negociação dos EAs recupere a liderança nas discussões sobre o componente técnico-programador.

Muitas ideias antigas que antes eram difíceis/impossíveis de testar no testador do MT4 agora podem ser facilmente ressuscitadas e exploradas de forma produtiva quase em sua forma original.

Velocidade + confiabilidade + concisão + simplicidade + plataforma cruzada.

 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Bibliotecas: TesterBenchmark

fxsaber, 2017.08.15 19:31

Os lugares foram distribuídos da seguinte forma

  1. Pure MQL5 - 100% de desempenho.
  2. MT4Orders.mqh - ~95% de desempenho.
  3. SB Trade\Trade.mqh - ~84% de desempenho.
 

Onde posso obter a biblioteca mais recente?

Porque com a que eu tenho, o conselheiro está ficando mais lento.

Com a biblioteca

2017.08.23 12:03:00.097 Core 3 Si Splice,M1: 992989 ticks, 248280 bars generated. Ambiente sincronizado em 0:00:00.078. Teste aprovado em 0:01:24.069 (incluindo o pré-processamento de ticks em 0:00:00.421).

Sem biblioteca

2017.08.23 12:06:38.022 Core 3 Si Splice,M1: 992989 ticks, 248280 bars generated. Ambiente sincronizado em 0:00:00.079. O teste foi aprovado em 0:01:09.186 (incluindo o pré-processamento de ticks em 0:00:00.421).

A única diferença está na classe que funciona durante a desinicialização, passando por ordens fechadas - ela foi escrita no MT4.