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
Que noite frutífera eu tive esta noite! Tive tantas coisas interessantes jogadas em mim enquanto dormia, pelas quais sou eternamente grato! E suas manhãs foram mais sábias do que as tardes também!
Uma rápida olhada em todas as coisas sugeridas ainda levanta questões como sempre, mas por enquanto só quero descobrir se é possível fazer a última expressão com apenas uma Ação(), pois é bastante extensa:
Parece-me que poderia ser mais rápido. É verdade, não exclui a verificação de todas as condições se apenas a última for executada, ou eu estou errado, o que seria melhor para mim.
O que você acha?
Quem não gosta da "porra da MQL4" pode muito bem ir correr, correr. Porque não está claro o que ele está fazendo aqui, apesar de todos os méritos e antiguidade da conta.
Em geral, a opção mais rápida seria esta:
Entretanto,caso contrário, resultado=linha falsa deve ser melhor combinado com a primeira, não afetará a velocidade.Em geral, se A, B, C e D contiverem condições simples (com aritmética mínima, sem chamar todas as funções matemáticas e outras coisas), então você não terá muito ganho de desempenho com tal otimização (a menos que esta construção funcione dezenas de milhões de vezes, é claro). Mas a sobrecarga de código pode ser significativa.
Por alguma razão, parece-me que seu código está cheio de lugares mais importantes, cuja otimização realmente daria um enorme ganho de desempenho. Você deve começar com o algoritmo básico. A maioria dos novatos tem uma verificação idiota de todas as condições referentes a TS ou pedidos em aberto a cada tick. Mas na maioria dos casos, basta verificar apenas as condições de contorno, por exemplo, quando o lanço ou baixa atinge um determinado valor, ou quando aparece uma nova barra. Só depois disso é possível realizar outras verificações.
Bem, além disso, com cálculos intensivos em recursos você precisa pensar em mover estes cálculos para uma DLL. Caso contrário, sentar e esperar 13 minutos na porra do MQL4 (enquanto você pode obter o mesmo resultado por 2-3 minutos) parece ser uma infelicidade :)
embora eu concorde absolutamente com a primeira parte.
É ainda mais rápido desse modo.
Um conto me vem à mente:
"Houve duas perguntas em uma reunião de diretoria da empresa:
1. A decisão de construir o synchrophasotron.
2. A decisão de construir um estacionamento de bicicletas para os funcionários.
Na primeira edição, a discussão durou 1 minuto,
no dia 2, o debate durou mais de 2 horas".
Que noite frutífera eu tive esta noite! Tive tantas coisas interessantes jogadas em mim enquanto dormia, pelas quais sou eternamente grato! E suas manhãs foram mais sábias do que as tardes também!
Uma rápida olhada em todas as coisas sugeridas ainda levanta questões como sempre, mas por enquanto só quero descobrir se é possível fazer a última expressão com apenas uma Ação(), pois é bastante extensa:
Parece-me que poderia ser mais rápido. É verdade, não exclui a verificação de todas as condições se apenas a última for executada, ou eu estou errado, o que seria melhor para mim.
O que você acha?
Não, isso não funciona assim. Primeiramente, deve haver algo depois de se(), pelo menos um ponto-e-vírgula (ou seja, um operador vazio). Em segundo lugar, a qual dos if's seu outro operador pretende pertencer? Se se referir apenas à última (como você a escreveu), então a Ação só será executada se a condição D for verdadeira, desde que A, B e C sejam falsas. É sempre recomendável colocar suportes encaracolados para ver a lógica de forma clara.
Obrigado! Por enquanto estou evitando o uso de DLL e outras coisas pró-MCLogo.
Vou aproveitar esta oportunidade para responder a Alexey (Meat) que todas as vagas são feitas em um novo bar, embora na M1, mas tudo o resto funciona em cada carrapato. Eu também uso muitas funções necessárias (se eu verificar tudo na inicialização todas as vezes, então o código seria realmente pesado). Há até mesmo um MathPow(), que vou tentar substituir pelo expoente sugerido pelo Matemático. Quanto ao resto, todos os excessos necessários para modificações e fechamentos. Como passar sem ele?
Não, não funciona dessa forma. Primeiro, deve haver algo depois de se(), pelo menos um ponto-e-vírgula (ou seja, um operador vazio). Em segundo lugar, a qual dos "se" seu outro operador está destinado a pertencer? Se se referir apenas à última (como você a escreveu), então a Ação só será executada se a condição D for verdadeira, desde que A, B e C sejam falsas. É sempre desejável colocar suportes encaracolados para ver a lógica de forma clara.
Obrigado! Mas só preciso de uma Ação(); mas não sei como! Você pode me dar uma dica?
Preste atenção no controle e no recálculo de pedidos. isto é o que os conselheiros geralmente fazem mais.
Em meus programas, se houver muitos "se", eu uso esta construção, colocando condições que na maioria das vezes darão falso em primeiro lugar:
E se for necessário verificar muitos "ses", então é assim