MT4-Tester VS MT5-Tester - página 4

 
fxsaber:

Eu não vou discutir. Peço aos usuários do fórum familiarizados com a MQL4 que olhem para este pequeno código fonte e expliquem o que Renat significa.


Devo estar enganado, mas não consigo ver onde a história é tratada no MT4. Por favor, ajude.

Não é grave.

E esquemáticas. Um "mal-entendido" total de uma explicação clara (qualquer função de escalada da OrderXXX para dados de comércio é completa em chamadas de histórico MT4/MT5) e um loop burro de centenas de bilhões de chamadas inúteis indicam claramente que.

 
fxsaber :

Não vou discutir. Peço aos membros do fórum que estão familiarizados com a MQL4 que observem este pequeno código fonte e expliquem o que se entende por Renat.


Talvez eu esteja errado, mas não vejo de perto, onde estamos trabalhando com a história na MT4. Por favor, ajude.

Renat é perfeitamente clara e correta. Escreva seu mql5 EA sem a biblioteca "mql4" e você verá a enorme diferença. Há problemas reais suficientes com o mql5/MT5 sem inventar novos.

Tradução:

Renat é bastante clara e correta. Escreva um mql5 EA sem "biblioteca mql4" e você verá uma enorme diferença. Existem problemas reais o suficiente com mql5 / MT5 sem inventar novos problemas.

 
Renat Fatkhullin:

Isto não é grave.

E por isso é um esboço. Um completo "mal-entendido" da explicação clara (qualquer função da OrderXXX escalando os dados das negociações é uma referência à história do MT4/MT5 por completo) e o loop idiota de centenas de bilhões de chamadas inúteis indicam claramente isso.

A partir da documentação

EncomendasTotal

Devolve o número total de ordens em aberto e pendentes.

intOrdensTotal();

Valor retornado

Quantidade total de pedidos em aberto e pendentes.

OrdensHistóriaTotal

Retorna o número de pedidos fechados e excluídos no histórico da conta corrente, carregados no terminal do cliente.

intOrdensHistóriaTotal();

Valor retornado

O número de pedidos fechados e excluídos no histórico da conta, carregados no terminal do cliente. O tamanho da lista do histórico depende das configurações atuais da guia "Histórico de contas" do terminal.

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 
fxsaber:
A partir da documentação.

Por que você está empatando?

Você tem mais de uma dúzia de funções OrderSelect, OrderProfit, etc. Você não entende o que éOrderSelect?

Há mais de 200.000 negócios no banco de dados e você faz SelectOrderFromAllBase 200.000 vezes em cada tick. Há 1.800.000 carrapatos de uma só vez.

Portanto, este teste é apenas sobre o estúpido escaneamento da história dos negócios.


E outra coisa - no testador, o histórico está disponível em profundidade total, independentemente das configurações do terminal.
 
Você tem mais de uma dúzia de funções OrderSelect, OrderProfit, etc. Você não entende o que é aOrderSelect de todo o banco de dados? Há mais de 200 000 negócios no banco de dados e você está fazendo OrderSelect 200 000 vezes por tick. Há 1.800.000 carrapatos de uma só vez. Portanto, o teste é puramente sobre a digitalização idiota do histórico do negócio.
E outra coisa - no testador, o histórico está disponível em profundidade total, independentemente das configurações do próprio terminal.

Eu entendo Renat. O algoritmo escrito de forma ideal não deve entrar na história a cada tique. Especialmente divertido será se a história contiver milhares ou mesmo centenas de negócios. É suficiente verificar o histórico uma vez no início, você pode usar o OnInit, e depois apenas rastrear o pequeno reenchimento do histórico.

 
Renat Fatkhullin:

Por que você está empatando?

Você tem mais de uma dúzia de funções OrderSelect, OrderProfit, etc. Você não entende o que éOrderSelect?

Sinto que uma proibição está ao virar da esquina. Todos são silenciosos...

Aqui está outra citação da documentação

OrderSelect

Seleciona uma ordem para continuar trabalhando com ela.

boolOrderSelect(
índice int,// índice ou bilhete do pedido
intselect,// bandeira do método de seleção
intpool=MODE_TRADES// fonte de dados para seleção
);

Parâmetros

bilhete

[em] Índice do pedido ou número do pedido, dependendo do segundo parâmetro.

selecione

[em] Bandeira do método de seleção. Pode ser um dos seguintes valores:

SELECT_BY_POS - o parâmetro de índice contém o número do índice da ordem na lista,
SELECT_BY_TICKET - o parâmetro do índice contém o número do bilhete.

pool=MODE_TRADES

[em] A fonte dos dados a serem selecionados. Usado quando o parâmetro selecionado é igual a SELECT_BY_POS. Pode ser um dos seguintes valores:

MODE_TRADES (padrão) - a ordem é selecionada entre ordens abertas e pendentes,
MODE_HISTÓRIA - o pedido é selecionado entre os pedidos fechados e excluídos.

OrderSelect - Торговые функции - Справочник MQL4
OrderSelect - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSelect - Торговые функции - Справочник MQL4
 
Yuriy Zaytsev:

Eu entendo Renat. Um algoritmo bem escrito não deveria ter que passar pela história em cada tique.

Em que momento?
 

Certo, acontece que somente as ordens abertas estão sendo verificadas. Eu não entrei na biblioteca e pensei que era história de escaneamento.

Portanto, minha declaração sobre as varreduras de um bilhão de dólares de história está errada. Precisamos olhar mais fundo, embora seja claro que se trata de centenas de milhares de ofícios.

Desculpe por olhar através.
 
Renat Fatkhullin:

Certo, acontece que somente as ordens abertas estão sendo verificadas. Eu não entrei na biblioteca e pensei que era história de escaneamento.

Esta é a MQL4, que muitas pessoas esqueceram. Não estou usando-o para o aspecto de plataforma cruzada, é apenas muito conveniente quando o uso no MT5 (quase nunca uso o MT4).

Devo repetir, não estou interessado em esboços. Quero ter uma discussão construtiva. Até agora

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

MT4-Tester VS MT5-Tester

fxsaber, 2017.05.08 09:13

1598 funciona muito mais rápido do que 1596. E funciona mesmo em lugares onde as funções da História não são utilizadas de forma alguma. Aparentemente, o próprio terminal causou estas funções anteriormente lentas em suas tripas durante a corrida.

Corrigido e bom. Será muito bom se o já grande testador MT5 ficar ainda melhor, cobrindo as capacidades do MT4+TDS

Tais configurações de testadores são de fato às vezes solicitadas. E seria ótimo se a MT5 permitisse isso em um futuro não muito distante.


ZS Entretanto, um bônus da comparação foi recebido quase imediatamente. Parece que outro está amadurecendo.

 
fxsaber:
Em que lugar?

Não se trata de você, trata-se do fato de que um algoritmo devidamente escrito não tem que entrar na história em cada carrapato.

Razão: