Discussão do artigo "Como colocar um produto no mercado" - página 40

 
Konstantin Nikitin:

Rashit Ibatullin se você alterar os stops de modo que eles não sejam iguais aos atuais. Além disso, ao definir as ordens, os stops devem ser verificados estritamente. Lote mínimo e máximo, é claro. Disponibilidade de fundos para assumir uma posição.
Tudo isso precisa ser verificado, pelo menos.

Não há nenhum stop, ele entra pelo mercado. No testador de terminal, tudo está ok.
 
Rashit Ibatullin:
Não há nenhuma parada, ele entra no mercado. No testador de terminal, tudo está ok.

OrderCalcMargin
AccountFreeMarginCheck

 

Estou tentando validar um novo Ea que usa um indicador personalizado criado por outro vendedor. É isso que o relatório diz:

test on EURUSD,H1 2018.04.02 00:00:00 cannot open file 'MQL4\indicators\\Market\xxxxxxxxx.ex4' [3]

Algum conselho? Obrigado.

 

o validador automático do mercado apresenta esse erro:

failed instant sell 1.50 EURUSD at 1.16278, close #2137 buy 1.50 EURUSD 1.17211 [Modification failed due to order or position being close to market]
strategy tester report 2366 total trades

Não consigo reproduzir isso em meu terminal, tentei diferentes TFs e pares de moedas, mas não há erros no registro. Alguém pode me dizer qual é o problema? ????

 
Dmitry Melnichenko:

o validador automático do mercado apresenta esse erro:

failed instant sell 1.50 EURUSD at 1.16278, close #2137 buy 1.50 EURUSD 1.17211 [Modification failed due to order or position being close to market]
strategy tester report 2366 total trades

Não consigo reproduzir isso em meu terminal, tentei diferentes TFs e pares de moedas, mas não há erros no diário. Alguém pode me dizer qual é o problema? ????

Você não verifica o FreezeLevel - se o preço estiver muito próximo, por exemplo, do nível StopLoss, o StopLoss não poderá ser modificado. A distância de congelamento é determinada pelo nível FreezeLevel.

 
Artyom Trishkin:

Você não verifica o FreezeLevel - se o preço estiver muito próximo, por exemplo, do nível StopLoss, o StopLoss não poderá ser modificado. A distância de congelamento é determinada apenas pelo nível FreezeLevel

Agradecimentos
 

Boa tarde. Enfrentei um problema muito interessante com a validação. A coruja não passa!!! Não estou surpreso, muitos pensarão, /*** essa regra. Mas vamos analisá-la em ordem.

Vou começar com as validações que já estão em vigor, para interromper imediatamente os desejos óbvios:

1. Falta de fundos para realizar uma operação de negociação.

2. Volumes incorretos nas operações de negociação

3. limitação do número de ordens pendentes

4. limitação do número de lotes para um símbolo

Alógica da coruja pressupõe a abertura de ordens de mercado sem paradas e, em determinadas condições, ela fecha tudo sozinha.

Para excluir erros da lógica de abertura, coloquei toda a lógica da coruja no forno e o único sinal de abertura de ordens é a ausência delas. Portanto, de fato, a cada tick, recebemos um sinal para abrir uma baía e uma aldeia, se não houver nenhuma. O sinal foi resolvido. Em seguida, veio o jogo com os lotes, para simplificar também a validação do sistema, a lógica dos lotes também é empurrada para dentro do forno e eu tento abrir uma posição com o lote mínimo solicitado pelo terminal.

E acontece que em cada tick eu quero abrir compra e venda com o lote mínimo, se não houver nenhum.

O que obtenho como resultado da validação:

teste em EURUSD,H1 (cobertura)

não há operações de negociação

teste em XAUUSD,D1 (cobertura)

não há operações de negociação

teste em GBPUSD,M30 (hedging)

não há operações de negociação

teste em EURUSD,M1 (hedging)

não há operações de negociação

Qual foi o resultado dos meus experimentos. Se eu escrever sobre isso no registro ao verificar "Falta de fundos para operação de negociação", durante a validação, recebo a resposta de que o arquivo de registro é muito grande, o que é compreensível, pois tento abrir uma posição em cada tick e não há fundos suficientes. Se eu não escrever nada no registro, é claro que tudo estará bem com o registro, mas não há posições abertas no final da validação. Portanto, parece-me que há uma falha grave no algoritmo de validação, uma afirmação bastante ousada, eu concordo, mas me corrija se eu estiver errado em algum ponto.

Bem, esse EA foi validado automaticamente há três semanas, eu só precisava alterar alguns parâmetros padrão e corrigir algumas pequenas coisas que não afetam a lógica de abertura e de lote.

Agradeço antecipadamente a todos por suas orientações.

 
Sergey Kasirenko:

Bem, esse EA foi autovalidado há três semanas, foi necessário apenas alterar alguns parâmetros padrão e corrigir algumas pequenas coisas que não afetam a lógica de abertura e de loteria.

Desde já, agradeço a todos por suas orientações.

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

Erros, bugs, perguntas

Andrey Khatimlianskii, 2019.04.09 21:42

Dançando com o tamborim. As verificações no mercado são muito específicas e, às vezes, enviar o mesmo código após uma ou duas horas dá um resultado normal.


 
Dmitry Melnichenko:

o validador automático do mercado apresenta esse erro:

failed instant sell 1.50 EURUSD at 1.16278, close #2137 buy 1.50 EURUSD 1.17211 [Modification failed due to order or position being close to market]
strategy tester report 2366 total trades

Não consigo reproduzir isso em meu terminal, tentei diferentes TFs e pares de moedas, mas não há erros no diário. Alguém pode me dizer qual é o problema? ????

Artyom Trishkin:

Você não verifica o FreezeLevel - se o preço estiver muito próximo, por exemplo, do nível StopLoss, o StopLoss não poderá ser modificado. A distância de congelamento é determinada apenas pelo nível FreezeLevel


O que isso tem a ver com o assunto? Ele está tentando fechar a ordem, não modificá-la.

Tenho o mesmo erro ao usar a biblioteca padrão. Tentei atualizar as cotações, tudo lixo. Ele sempre passou no teste anterior. Eu testo tudo perfeitamente e esse erro nunca aparece.

Não sei o que fazer...

 
Evgeniy Scherbina:


O que isso tem a ver com o assunto? Ele está tentando fechar o pedido, não modificá-lo.

Tenho o mesmo erro ao usar a biblioteca padrão. Tentei atualizar as cotações, tudo sem sentido. Antes, sempre passava no teste. Eu testo tudo perfeitamente e nunca recebo esse erro.

Não sei o que fazer...

Fechamento e modificação: você não pode fazer essa operação perto do preço atual. E você não deve culpar a biblioteca padrão - você deve usá-la com sabedoria. Você não pode simplesmente receber ordens de negociação do bullet - você precisa fazer muitas, muitas verificações.