Características da linguagem mql4, sutilezas e técnicas - página 10
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
Eu não consigo entender qual é a surpresa. Há um valor int do tipo de pedido na documentação.
OP_BUY
0
Compre
OP_SELL
1
Venda
OP_BUYLIMIT
2
COMPRA LIMITAR ordem pendente
OP_SELLLIMIT
3
Pedido de LIMITE DE VENDA Pendente
OP_BUYSTOP
4
Ordem STOP Pendente de compra
OP_SELLSTOP
5
Pendente da ordem de parada da venda
#define OP_BALANCE 6
#define OP_CREDIT 7
Assim, com um conjunto de 6 células, você pode às vezes exagerar.
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Eu quero mover o comentário da EA do canto esquerdo para o direito ?
fxsaber, 2018.07.10 15:13
Aplicação
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Como selecionar corretamente a última ordem da história?
fxsaber, 2018.07.17 03:27
O histórico do comércio MT4 é ordenado pelo horário de fechamento e esta regra não mudará.
Você tem uma resposta oficial dos desenvolvedores? Até agora, só posso ver que vocês pesquisaram, pensaram e decidiram.
Você tem uma resposta oficial dos desenvolvedores? Até agora, só vejo que você pesquisou, pensou e decidiu por conta própria.
Minha conclusão sobre o nível de "auto-suficiência" não é melhor do que esta no início deste tópico
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Peculiaridades de mql4, dicas e truques
o tipo de pedido e o preço que corresponde a ele. É suficiente escrever OrderClosePrice()
Não há necessidade de sofrer de tolices/paranóia.
Minha conclusão sobre o nível de "auto-suficiência" não é maior do que esta no início deste tópico
Não há necessidade de sofrer de tolices/paranóia.
Você deve ter perdido o tempo em que a maioria daqueles que não sofrem de "paranóia" reescreveram urgentemente seus códigos quando os EAs entraram em colapso da noite para o dia. Por causa da dependência da triagem. É muito tempo atrás, mas as pessoas ainda têm lembranças. Aqueles que tiveram problemas, começaram a escrever códigos independentes de classificação. Eu não tive problemas - apenas li sobre isso no fórum e levei isso a sério.
Você deve ter perdido o tempo em que a maioria dos que não sofriam de "paranóia" estavam reescrevendo urgentemente seus códigos enquanto os EAs caíam da noite para o dia. Por causa da dependência da triagem. É muito tempo atrás, mas as pessoas ainda têm lembranças. Aqueles que tiveram problemas, começaram a escrever códigos independentes de classificação. Eu não tive problemas - apenas li no fórum e levei isso a sério.
Infelizmente, este mito não encontra apoio na história do fórum. Além disso, os desenvolvedores têm deixado clara sua posição de que tais mudanças não podem ser feitas como uma questão de princípio.
Por exemplo, você pode escrever com segurança
em vez de
Você pode se sentir livre para escrever
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Peculiaridades da linguagem mql4, dicas e truques
fxsaber, 2018.04.03 16:15
etc.
Infelizmente, este mito não encontra apoio na história do fórum. Além disso, os desenvolvedores têm deixado clara sua posição de que tais mudanças não podem ser feitas como uma questão de princípio.
Por exemplo, você pode se sentir livre para escrever da seguinte forma
Por que todas essas pseudo-optimizações, cujas nuances temos que ter constantemente em mente? É realmente tão difícil escrever um código que não depende de tais suposições (significado de uma constante nomeada)? Qual é o objetivo de tais construções, além de mostrar algum conhecimento das nuances do compilador, mas não que elas sejam de modo algum mais fáceis de entender?
Por que todas essas pseudo-optimizações, cujas nuances devem ser constantemente levadas em conta? É realmente tão difícil escrever código que não dependa de tais suposições (qual é o significado desta ou daquela constante nomeada)? De qualquer forma, qual é o objetivo de tais construções, além de mostrar algum conhecimento das nuances do compilador, mas não que elas sejam de modo algum mais fáceis de entender?
É estranho, eu não tenho nenhum problema em ler tal código. Além disso, sua leitura e compreensão é mais rápida do que a do código "canônico".
Bem, o exemplo acima com Lotes[] é um tesouro mostrando como o código pode ser super-lacônico e claro ao mesmo tempo. E lembre-se, não é nada "canônico".
Provavelmente, se você olhar para o código fonte de muitos trabalhos de Mercado/Freelanceiro, você não encontrará apenas farrapos de código "canônico", mas também encontrará uma terrível ineficiência de desempenho e não o fator menos importante - a compreensão do código enquanto lê.
O mesmo amor inextinguível de continuar é um desrespeito total pelas possibilidades do idioma. O código em 100 linhas é muito melhor percebido do que o código em 200 linhas fazendo a mesma coisa. Esta é a razão pela qual as pessoas inicialmente reclamaram da MQL5. Veja o redesenho do código MT4 no QB para MT5 - é quase impossível entender a lógica do TC (o código é muito maior). É mais fácil ir ao original do MT4 e olhar para o código.
Estranhamente, não tenho nenhum problema com a leitura de tal código. Além disso, sua leitura e compreensão é mais rápida do que a do código "canônico".
Em muitas empresas de software, esse tipo de código seria espancado com os dedos. A primeira coisa que você deve fazer sempre e em qualquer lugar é evitar "leitura desnecessária". Por exemplo, se você usar uma condição ao entrar em uma função:
if (<условие>) { }
é recomendável escrever:
Esta abordagem realmente salva o apego das condições.
Bem, o exemplo acima com Lotes[] é um verdadeiro tesouro, mostrando como o código pode ser ao mesmo tempo super-lacônico e totalmente compreensível. E, lembre-se, não é de modo algum "canônico".
Mais uma vez, é uma dor de cabeça. Afinal de contas, ninguém verificou o que a função OrderType() retornou. Ou talvez tenha retornado -1 ou 6? Este é um exemplo de colocação sobre as propriedades do compilador do qual você deve sempre se manter afastado. Você mesmo cita muitos exemplos de código de plataforma cruzada. Então, por que você está se afastando disso neste caso? Um novo compilador MQ sairá e este código não funcionará mais corretamente.
O mesmo amor inextinguível de continuar é um total desrespeito pelas possibilidades do idioma. Um código de 100 linhas é muito melhor compreendido do que um código de 200 linhas fazendo a mesma coisa. Esta é a razão pela qual as pessoas inicialmente reclamaram da MQL5. Veja o redesenho do código MT4 no QB para MT5 - é muito difícil entender a lógica do TC (o código é muitas vezes maior). É mais fácil ir ao original do MT4 e olhar para o código.
Com a continuação, é a mesma situação. Código como:
é mais difícil de ler do que:
E ainda assim, a eficiência da execução é a mesma em ambos os casos.