Erros, bugs, perguntas - página 410

 
papaklass:
Pode seguir ordens pendentes usando a função OrdersTotal(). Comparar o seu valor actual com o anterior. Se quiser evitar várias ordens pendentes, utilize a bandeira para definir uma ordem. Se esta bandeira == verdadeira, significa que já foi estabelecida uma ordem. Reiniciar esta bandeira quando a ordem é accionada, ou seja, OrderTotal() irá mudar.

Felizmente, passei por estas noções básicas há um ano atrás. Utilizei os artigos dedicados às competências iniciais de trabalho em MQL5. O Campeonato confirmado - este esquema é bom para o treino, mas não para o comércio quotidiano. Os artigos da Roche têm pontos todos os i's e cruzam todos os t's.

E esta não é a questão de como verificar o estado da encomenda. A questão é que os parâmetros comerciais que descrevi acima podem simplificar muito o trabalho com encomendas bem como posições. Do ponto de vista de um utilizador individual (isto é, eu), a pergunta"O que devo fazer? Desconhecido", bem como trabalhar com encomendas ponto a ponto em vez de através do "símbolo - OrderTotal()".

papaklass:
Tudo o que precisa de saber é o símbolo sobre o qual este evento ocorreu.

A questão é que se pusermos de lado os paradigmas de formação, é mais importante conhecer o bilhete de encomenda, e não o símbolo, para trabalhar com encomendas pendentes. Para ser mais preciso, trabalhar com um símbolo é aceitável, mas muito trabalho extra.

P.S. Esta é a primeira vez que ouço falar de "assinatura". É uma variante agradável.

 
papaklass:
Não pretendo ser a verdade em primeira instância, mas a sua declaração sobre o jardim-de-infância tresanda a arrogância.

Não o leve a peito. Corrigi essa frase antes da vossa mensagem. Sabe, por vezes escreve-se, envia-se, - e depois, quando o lê, corrige possíveis ambiguidades em frases secundárias.

Sobre o assunto. Temos abordagens exactamente opostas ao comércio: não me interessa quando e como uma posição abre/fecha, porque a EA trata desses momentos sozinha (turnos TP, trailing stop, etc.). É importante para mim que as ordens pendentes devem sempre cobrir a situação no mercado. É por isso que sublinho que uma afirmação como "apenas um parâmetro-símbolo é suficiente para OnTrade()" não reflecte todas as estratégias comuns/tipicas.

 
Interesting:

Aos criadores de

Win 2003 SP2 (em modo terminal) está constantemente a perder informação sobre a minha conta de negociação é um bug ou foi concebido para melhorar a segurança?

Mais precisamente, se eu usar alternadamente a mesma cópia de programa em modo normal e terminal com contas diferentes, os dados da conta desaparecem de tempos a tempos. Aparentemente, se trabalhar apenas em modo terminal com contas diferentes, a situação será semelhante (ainda não verifiquei isso).


Sim, é isso mesmo.

Quando outro utilizador Windows (mesmo no mesmo computador) tenta aceder ao terminal, que guardou palavras-passe de outro utilizador Windows, as palavras-passe são forçosamente reiniciadas. Isto é feito para impedir que alguém roube palavras-passe.

 
Virty:

Sim, é uma pergunta simples, e já os gurus estão a discutir. É uma chatice conseguir que o testador trabalhe correctamente. Para comprar 1 lote de EURUSD ao preço actual, é necessário efectuar 3-4 verificações. Se não o fizer, o testador trabalhará, mas não correctamente e, o que é importante, silenciosamente. Apenas um saldo negativo ou algum outro disparate resultará. E é bom se os controlos forem bem sucedidos. Mas, se o SymbolInfoTick regressar falso, não sabemos o que fazer. Devo pendurar o código de erro na parede em vez dos prémios do Campeonato?

Tentei "equidade<0,55*balanço" e "free_margin<100". Não funcionou. Não sei porque é que não funcionou. Estou realmente confuso com estas margens.

Deixei-o se(AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)<55.0). Parece funcionar.

As regras do Campeonato estão escritas de forma sucinta, no jargão dos programadores, enquanto precisam de detalhes para os manequins.

O que há para discutir ? O nível de margem = Fundos/Títulos*100%, ou em termos de MQL5:

AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)=AccountInfoDouble(ACCOUNT_EQUITY)/AccountInfoDouble(ACCOUNT_MARGIN)*100=
AccountInfoDouble(ACCOUNT_EQUITY)/(AccountInfoDouble(ACCOUNT_EQUITY)-AccountInfoDouble(ACCOUNT_FREEMARGIN))*100

Estes parâmetros são exibidos no seu terminal no separador "Comércio", pode verificá-los. Quanto à paragem, ver uma discussão semelhante em 2007.

Установка Stop Out - MQL4 форум
  • www.mql5.com
Установка Stop Out - MQL4 форум
 
papaklass:

Vyacheslav, a sua resposta é encorajadora. Alguém no fórum sugeriu, na minha opinião, uma solução aceitável - subscrição. Implementar esta subscrição semelhante à função iCustom() que tem parâmetros obrigatórios e não obrigatórios. Ao inicializar a EA, cada comerciante deve subscrever os eventos de que necessita. Não para o número total de eventos, mas apenas para aqueles que são críticos para o seu comércio. Esta abordagem (subscrição) facilitará grandemente o desenvolvimento de EAs com várias moedas e reduzirá realmente o código. Fazer uma experiência com pelo menos duas funções OnTrade() e OnTick(). Faça o mínimo - um símbolo. Depois pode aumentar o número de eventos (parâmetros). A prática é o critério da verdade. Enquanto não tentar, não compreenderá as dificuldades que podem surgir.

PS A analogia com a função GetLastError(), que retorna o valor da variável de sistema LastError, é provavelmente mais apropriada do que a analogia com a função iCustom(). Digite a variável do sistema TradeEvent e, quando OnTrade() dispara, imprima o valor desta variável.

É a primeira vez que ouço falar de subscrição, mas é uma ideia muito boa como base para uma ideia (como a subscrição de eventos domadores ou Profundidade de Mercado).

Além disso, a ideia de uma constante baseada no tipo _Error é bastante interessante.

Na minha opinião, o símbolo deve ser transferido necessariamente, em princípio, podemos começar a avançar nesta direcção agora, de modo que antes do campeonato para introduzir pelo menos alguma inovação nesta área.

Yedelkin:

A questão é que se pusermos de lado os paradigmas de formação, é mais importante conhecer o bilhete de encomenda do que o símbolo quando lidamos com encomendas pendentes. Para ser exacto, trabalhar com um símbolo é aceitável, mas é muito trabalho extra.

No início devemos implementar apenas um símbolo, depois teremos tempo para pensar sobre o que e como passar adicionalmente. Seria bom fazer a mesma coisa com OnTrade() e OnTick().

Desenvolvendo o tema da assinatura, é possível organizar a assinatura de carraças de um determinado par.

 
Yedelkin:

Não o leve a peito. Corrigi essa frase antes da vossa mensagem. Sabe, por vezes escreve, envia-o, - e depois, quando o lê, corrige possíveis ambiguidades em frases secundárias.

Sobre o assunto. Temos abordagens exactamente opostas ao comércio: não me interessa quando e como uma posição abre/fecha, porque a EA trata desses momentos sozinha (turnos TP, trailing stop, etc.). É importante para mim que as ordens pendentes devem sempre cobrir a situação no mercado. É por isso que sublinho que uma afirmação como "apenas um parâmetro-símbolo é suficiente para OnTrade()" não reflecte todas as estratégias comuns/tipicas.

Concordo que não. Mas no entanto, temos de começar pelo símbolo, e o bilhete de encomenda/comércio ou qualquer outra coisa será acrescentado mais tarde.

Renat:

Sim, é isso mesmo.

Quando outro utilizador Windows (mesmo no mesmo computador) tenta aceder a um terminal com palavras-passe armazenadas por outro utilizador Windows, as palavras-passe são reiniciadas à força. Isto é feito para impedir que alguém roube palavras-passe.

Estou a ver, obrigado (foi o que eu pensei, pensei em certificar-me).
 
Interesting:

Em primeiro lugar, apenas o símbolo deve ser implementado, e depois haverá tempo para pensar sobre o que e como passar adicionalmente.

...É o símbolo que deve ser o ponto de partida, e o bilhete de encomenda/comércio ou outra coisa que lhe será acrescentada mais tarde é uma questão diferente.

Em geral, os acentos já estão definidos, gostaria apenas de salientar que se agir de acordo com o princípio "cada um puxa o cobertor sobre si próprio" (tal como "dê-me apenas o parâmetro-símbolo" ou "apenas o parâmetro-ingresso"), então não pode conseguir nada. É por isso que a minha pergunta foi originalmente formulada com uma configuração mínima de parâmetros em mente. Exactamente "configuração mínima", como eu esperava que os utilizadores mais avançados tivessem os seus próprios desejos de expandir/clarificar a sua lista.

Assim, foi um pouco surpreendente que tenham surgido sugestões para limitar a apenas um parâmetro (parâmetro-símbolo), especialmente surpreendente no contexto da resposta do Stringo, que nada disse sobre os criadores terem problemas com o número de parâmetros para OnTrade(). O problema era que "um e o mesmo bilhete pode resultar num amontoado de mensagens". E eles virão independentemente de quantos parâmetros são introduzidos para a função.

...No ano passado, não consegui compreender durante muito tempo de que "muletas" os profissionais falavam periodicamente. Agora, com base na discussão do tópico sobre parâmetros para OnTrade() tenho uma forte associação: "muletas" == meias-medidas ao resolver esta ou aquela questão. Penso que a questão dos parâmetros para OnTrade() será resolvida sem eles. Elogios, como se costuma dizer, aos programadores pela sua complexa abordagem à resolução de problemas! :)

 

O que significa a mensagem "resultado da bomba 0" no final do teste?

 
MoneyJinn:

build 466: Os resultados do teste único diferem dos resultados da optimização realizada um minuto antes.

Qual é a razão? Que parâmetros actualizados é que o provador retira do mercado durante o novo teste?

Pode anexar os resultados?
 
Ashes:

O que significa a mensagem "resultado da bomba 0" no final do teste?

Uma mensagem de depuração aleatória. O número após o resultado da bomba corresponde ao número no momento da colocação em funcionamento
Razão: