Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 643
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não último na lista, mas o "mais jovem" no tempo.
Embora eu seja igualmente irreflectido. A questão é sobre modificação, e estou a escrever perto... E se simplesmente o modificar, não haverá buracos na lista de encomendas... Poderá apenas precisar de adicionar variáveis e atribuir-lhes valores, e DEVE verificar os parâmetros para evitar o erro #1. Bem, Mila pode fazê-lo ela própria.
Como pode ter a certeza de que não haverá uma dependência de classificação, e de que não falhará de todo a ordem errada?
Mais uma vez, para encontrar de forma fiável a última encomenda, é necessário identificá-la pelo seu tempo de abertura, e não pela sua posição na lista.
Tanto quanto sei, as encomendas da lista são organizadas apenas desde a mais antiga (OrdersTotal()-1) até à mais recente (0). Se não for este o caso (a lista não está ordenada por tempo) e se tiver provas, queira fornecê-las.
Se estiver a dizer que no momento em que o histórico foi solicitado utilizando a função OrdersTotal(), outra EA fez uma encomenda, então ou ela seria ignorada (em qualquer caso, porque não tinha tempo para estar no histórico de encomendas), ou tornar-se-ia também a mais recente na lista de encomendas.
É claro que nos podemos ressegurar fortemente e comparar o tempo de abertura de todas as ordens de total-1 a 0, mas dificilmente seria uma solução óptima quando temos um grande número de ordens e símbolos negociados.
Tanto quanto sei, as encomendas da lista são classificadas apenas desde a mais antiga (OrdersTotal()-1) até à mais recente (0). Se não for este o caso (a lista não está ordenada por tempo) e se tiver provas, queira fornecê-las.
Se estiver a dizer que no momento em que o histórico foi pedido utilizando a função OrdersTotal(), outra EA fez uma encomenda, então ou seria ignorado (em qualquer caso, não teria tempo de estar no histórico de encomendas), ou tornar-se-ia também o mais recente na lista de encomendas.
É claro que nos podemos ressegurar fortemente e comparar o tempo de abertura de todas as ordens do total 1 a 0, mas dificilmente seria uma solução óptima quando temos um grande número de ordens e símbolos negociados.
Jesus... Provas para eles...
Acho que não se lembra bem de tais situações serem discutidas em mql4.com durante muito tempo. Foi então que chegámos à conclusão de que seria melhor procurar uma ordem pelo tempo para determinar inequivocamente o seu tempo de abertura/fecho. Já me cansei de repetir que havia uma dependência da triagem. Depois fizemos de modo a que não fosse. As pessoas relaxaram e começaram a fazer o que lhe foi sugerido. E depois pimba... e houve novamente uma dependência da triagem. As pessoas uivavam - os robôs enlouqueceram. E depois a dependência de ordenação desapareceu novamente.
Se um dia tiver o desejo de que a suposta optimização volte a cair sob a paixoneta, então faça-o da forma como o está a fazer. Mas não sugira tais soluções a outras pessoas. Ou, ao oferecer, avisá-los da possibilidade de alguma vez perderem dinheiro devido a falhas na procura da ordem necessária, que (a procura) depende dos símbolos de ordenação na lista, que, por sua vez, não depende de si e do seu algoritmo. Pelo contrário - o seu algoritmo depende de outra pessoa...
Não lhes diga que o concessionário pode fazer batota com o tempo de abertura/fecho, essa é outra questão.
Boa sorte.
Jesus... Provas que eles querem...
Aparentemente, não se lembra bem de tais situações terem sido discutidas em mql4.com há muito tempo atrás. É quando se chega à conclusão de que é ainda melhor procurar a tempo uma ordem para determinar sem ambiguidade o seu tempo de abertura/fecho. Já me cansei de repetir que havia uma dependência da triagem. Depois fizemos de modo a que não fosse. As pessoas relaxaram e começaram a fazer o que lhe foi sugerido. E depois pimba... e houve novamente uma dependência da triagem. As pessoas uivavam - os robôs enlouqueceram. E depois a dependência de ordenação desapareceu novamente.
Se um dia tiver o desejo de que a suposta optimização volte a cair sob a paixoneta, então faça-o da forma como o está a fazer. Mas não sugira tais soluções a outras pessoas. Ou, ao oferecer, avisá-los da possibilidade de alguma vez perderem dinheiro devido a falhas na procura da ordem necessária, que (a procura) depende dos símbolos de ordenação na lista, que, por sua vez, não depende de si e do seu algoritmo. Pelo contrário - o seu algoritmo depende de outra pessoa...
Não me diga que o concessionário pode fazer batota com o tempo de abertura/fecho - isso é outra questão.
Boa sorte.
Sim, não me lembro de discussões como essa, não leio frequentemente o fórum de quatro pessoas. Talvez, em tempos, tenha havido algo do género. Mas se se construir sobre tudo o que foi "era uma vez", nenhum recurso será suficiente.
Se um dia tiver o desejo de uma suposta optimização para cair de novo debaixo da mira, então faça como se faz. Mas não sugira tais soluções a outras pessoas. Ou, ao oferecer, avisá-los da possibilidade de alguma vez perderem dinheiro devido a falhas na procura da ordem necessária, que (a procura) depende dos símbolos de ordenação na lista, que, por sua vez, não depende de si e do seu algoritmo. Pelo contrário - o seu algoritmo depende inteiramente de outra pessoa...
Como se diz, é possível "ser apanhado na mira" de várias outras maneiras. Se precisar de determinar rapidamente a última ordem, não é racional pesquisar todas elas a tempo.
Cada um deve decidir por si próprio se aceita ou não o meu método. A melhor solução é abrir muitas encomendas e ver como funciona a triagem AGORA.
Boa sorte para si também.
Tem a certeza de ter mostrado uma forma fiável de falhar a última posição na lista?
Se negociar de forma realista, não está preocupado que a classificação se possa tornar repentinamente viciante?
Ainda assim, IMHO, precisamos aqui de dois ciclos - no primeiro procuramos a posição mais fresca ao abrir a hora, no segundo modificamos todos excepto aquele cujo bilhete foi encontrado no primeiro ciclo.
Não, não tenho a certeza, mas logicamente correcto.
Leia abaixo sobre a insidiosidade dos MQs - surgiu a ansiedade. Obrigado pela atenção.
Sempre que é necessário identificar rapidamente a última ordem, não é racional passar por todas elas a tempo, e eu já disse porquê.
Porque é que deveríamos ter de os analisar sempre? Esta é exactamente a irracionalidade.
Podemos pesquisar apenas uma vez por tick para posições de mercado e para ordens fechadas e preencher todos os campos da estrutura com todos os dados necessários das duas últimas ordens - abertas e fechadas.
E utilizar os dados obtidos durante este tick. Depois de os alterar neste tick, obterá novos dados e novos campos das duas estruturas no tick seguinte. Parece-me - isto é um equilíbrio normal entre fiabilidade e velocidade. É disto que se trata a optimização. E aquilo a que chama optimalidade, IMHO, é um trabalho de machadinha;)
Porquê rever sempre? Este é exactamente o ponto em que não é racional.
Pode pesquisar uma vez por tick as posições de mercado e as ordens fechadas, e preencher todos os campos da estrutura com todos os dados necessários das duas últimas ordens - abertas e fechadas.
E utilizar os dados desse carrapato. Depois de os alterar neste tick, obterá novos dados e novos campos de duas estruturas no tick seguinte. Parece-me - isto é um equilíbrio normal entre fiabilidade e velocidade. É disto que se trata a optimização. E aquilo a que chama optimalidade, IMHO, é um trabalho de machadinha;)
Está a entrar em nuances, ninguém estava sempre a falar de todas as vezes. Eu, tal como vós, sou a favor da racionalidade, apenas temos opiniões diferentes sobre ela.
Está a entrar em nuances, ninguém estava sempre a falar de todas as vezes. Eu, tal como você, sou a favor da racionalidade, é que você e eu temos uma visão diferente da mesma.
As suas próprias palavras:
Onde quer que seja necessário determinar rapidamente a última ordem, não é racional passar por todas elas a tempo, imho...
"Em todo o lado" não é sinónimo de "sempre" neste contexto?
Foi por isso que eu disse "passar por ela uma vez por carrapato", preencher os campos da estrutura com os dados correctos e utilizá-la em todos os lugares onde seja necessário obter dados sobre a última encomenda, em vez de passar por ela em todos os lugares de cada vez.
Talvez eu o tenha entendido mal? Mas a sua expressão citada, IMHO, exclui a ambiguidade de entendimento.
As suas próprias palavras:
"Em todo o lado" não é sinónimo de "sempre" neste contexto?
É por isso que respondi - é para passar uma vez por tique, preencher os campos da estrutura com os dados certos e usá-los onde quer que seja necessário para obter dados sobre a última encomenda, em vez de passar sempre por eles.
Talvez eu tenha entendido mal? Mas a sua expressão citada, IMHO, exclui a ambiguidade de entendimento.
Não se considera que possa haver pausas/imples cálculos longos no programa, após os quais o ambiente comercial deve ser actualizado. Arrastar uma série de encomendas nem sempre é conveniente, e uma série global nem sempre é uma boa solução.
De qualquer modo, como já disse, ninguém o desencoraja, mas há casos em que a sua opção será menos preferível (sistemas multi-moeda/multi-ordem). E para se ter a certeza de que o MQ irá alterar novamente a ordem de classificação (dado que é a mesma em mql4, e em mql5), penso eu, não é necessário.
Não está a ter em conta que pode haver pausas/já cálculos longos no programa, após os quais necessita de actualizar o ambiente comercial. Arrastar uma série de ordens atrás de si nem sempre é conveniente, e uma série global nem sempre é uma boa solução.
De qualquer modo, como já disse, ninguém o desencoraja, mas há casos em que a sua opção será menos preferível (sistemas multi-moeda/multi-ordem). E para ser ressegurada que a MQ irá alterar novamente a ordem de classificação (dado que é assim em mql4, e em mql5), penso que não há necessidade.
Uma classe que lhe permite ter facilmente e sem esforço dados para quaisquer personagens e quaisquer mágicos foi feita há muito tempo. E não há necessidade de transportar nada, especialmente todo o conjunto, mas apenas DOIS ordens - a última aberta e a última fechada. Sempre que, após longos cálculos ou espera, tem de voltar a preencher os campos da estrutura, o que, a propósito, tem de fazer, ou não actualiza o seu ambiente?
OK. É um não-cérebro... Faça-o à sua maneira. Não se preocupe com a fiabilidade - esqueça...
Há muito que foi criada uma classe que lhe permite ter facilmente e sem esforço dados sobre quaisquer símbolos e quaisquer mágicos. E não há necessidade de arrastar nada, especialmente todo o conjunto, mas apenas DOIS ordens - última aberta e última fechada. Sempre que, após longos cálculos ou espera, tem de voltar a preencher os campos da estrutura, o que, a propósito, tem de fazer, ou não actualiza o ambiente?
OK. É um não-cérebro... Faça-o à sua maneira. Não se preocupe com a fiabilidade - esqueça...