• Nenhum resultado encontrado

MQL4

N/A
N/A
Protected

Academic year: 2021

Share "MQL4"

Copied!
305
0
0

Texto

(1)

No MQL4 linguagem de programação algorítmica

Curso Introdutório

Atualmente, um computador pessoal se tornou indispensável para todos. O rápido desenvolvimento da Internet e do

desempenho dos computadores modernos abriu novos horizontes em vários campos da atividade humana. Logo em

dez anos atrás, o mercado financeiro comércio estava disponível apenas para os bancos e para uma comunidade

limitada de especialistas. Hoje em dia, qualquer pessoa pode participar do mundo dos comerciantes e profissionais

independentes iniciar negociação em qualquer momento.

Centenas de milhares de comerciantes no mundo inteiro já julgada Metatrader 4 Terminal Client pelos seus méritos.

O uso de sua linguagem de programação embutida, MQL4, elevadores comerciantes a um novo nível de negociação

- a negociação automática. Agora, um comerciante pode executar as suas ideias, como um programa aplicativo -

escrever um indicador personalizado, um script para executar operações simples, ou criar um Expert Advisor - um

sistema automatizado negociação (trading robot). Um Expert Advisor (EA) pode trabalhar em um 24 / 7, sem

qualquer intervenção - faixa de segurança preços, enviar mensagens eletrônicas, SMS de seu telefone celular, assim

como fazem muitas outras coisas úteis.

A principal vantagem das aplicações é a possibilidade de fazer rotas de acordo com o algoritmo fixado pelo

comerciante. Qualquer idéias que podem ser descritos em uma linguagem algorítmica (intersecção de duas médias

móveis ou de processamento digital de sinais, três telas por Elder Peters ou «análise fractal, uma rede neural ou

construções geométricas) pode ser codificado em um aplicativo e depois utilizadas na prática negociação.

Desenvolvimento de aplicações para Metatrader 4 Terminal Client requer o conhecimento de MQL4. O presente

livro didático vai ajudá-lo a criar seu próprio Expert Advisors, scripts e indicadores e encarnar-los em suas idéias -

o seu rentável algoritmos de negociação. O manual é destinado a um grande número de leitores sem experiência em

programação que querem aprender a desenvolver aplicações comerciais automatizados para Metatrader Cliente

Terminal 4. O livro didático é concebido de tal modo que, para tornar o aprendizado MQL4 como convenientes e

conseqüente possível.

Prefácio

É uma espécie de dificuldade para começar a escrever um livro sobre programação para iniciantes, porque a área de

conhecimento em apreço envolve alguns novos conceitos que não são baseados em qualquer coisa previamente

conhecida

ou

costume.

De modo geral, um problema deste tipo pode ocorrer em qualquer outro campo do conhecimento. Por exemplo, o

ponto é conhecido na matemática como infinitesimal círculo, que o círculo em si é definida como um conjunto de

pontos ordenados de uma certa forma. Como é fácil de ver, esses termos são definidos através de cada uma das

outras. Ao mesmo tempo, este "descuido" não se tornou um obstáculo para a matemática. Ambos os círculos,

pontos, bem como outros termos aprovados em matemática ir bem em conjunto. Além disso, toda a gente percebe

pela

visão

que

é

um

ponto

eo

que

é

um

círculo.

É fácil descobrir que a grande maioria dos termos ordinários têm fronteiras indeterminadas. Alguns desses limites

são tão nebulosos que estas auxiliem algumas dúvidas sobre a existência do próprio fenômeno ou objeto definido

pela expressão. No entanto, a natureza do homem é que este estranho (em termos de lógica normal) situação não

vem entre um homem e de sua fecunda existência e actividades. Após um termo tem sido utilizado por um

determinado período de tempo, leva-se em completar o seu sentido para nós. É difícil responder à pergunta de como

e por que isso acontece por aqui. Mas ela faz. Nós apenas sabemos que várias referência a um prazo desempenha

um

papel

importante

em

termos

do

processo

de

aprendizagem

notável.

(2)

Foram

estabelecidas

as

seguintes

tarefas

presentes

neste

trabalho:

desdobra

o

sentimento

de

novo

usando

termos

bem

conhecidos

analogias;

tornando o significado de cada termo intuitivamente claro quando ele ocorre pela primeira vez;

fornecendo os leitores com a quantidade de informação necessária para caracterizar programas e programação.

Para este efeito, o livro contém muitos exemplos e figuras. O texto inclui referências cruzadas que permitem ao

leitor

a

obter

informações

sobre

temas

afins.

Algumas palavras sobre a apresentação dos materiais. Alguns livros didáticos sobre programação convidar os seus

leitores sobre as primeiras páginas para imprimir "Olá, mundo!" usando um programa simples. Seus autores

consideram que, logo que os seus leitores início da aprendizagem de programação, deve remeter ao programa textos

e gradualmente se acostumar com a forma como os programas podem olhar, que mais tarde irão facilitar a sua

aprendizagem. No entanto, esta abordagem resulta em que o leitor tenha de lidar com vários desconhecidos termos,

ao mesmo tempo, e só para adivinhar o conteúdo e as propriedades de algumas linhas do programa. Isso pode

resultar

em

um

equívoco

e,

consecutivamente,

na

vaga

no

conhecimento

do

leitor.

A meu ver, seria mais eficaz a utilização de um método em que o leitor vai para a próxima seção do livro didático

só depois que ele ou ela teve uma profunda compreensão das matérias anteriores. No âmbito deste método, o

primeiro programa será oferecido ao leitor apenas depois que ele ou ela tem dominado todas as condições

necessárias e ganhou alguns insights sobre os princípios básicos da codificação. Este é o método atual é baseada no

livro

didático.

Para dominar o conhecimento dado no livro, o leitor tem de ser um usuário PC e ter uma certa experiência em

trabalhar com Metatrader 4 produzidos pela MetaQuotes Software Corp.

Introdução à Programação MQL4

Antes de começar a estudar MQL4 programação, iremos definir o escopo de nosso estudo. Em primeiro lugar

deve-se notar que os programas discutidos neste livro pode deve-ser usado apenas como aplicações para trabalhar em

Metatrader Cliente Terminal 4. Fig. 1 abaixo mostra o papel do comércio na gestão destes programas. Para uma

(3)

Se você está interessado em MQL4 programação, você deve ter conseguido familiarizar com o cliente terminal.

Cliente terminal é uma parte do sistema de comércio on-line. Este sistema também inclui um servidor instalado em

um centro lidar. O centro que tratam, por seu turno, está relacionada com outros participantes do mercado - os

bancos e instituições financeiras.

O cliente terminal inclui ambiente informacional - um conjunto de parâmetros que informam sobre o estado do

mercado e das relações entre um profissional e de lidar center. Contém informações sobre preços correntes,

limitações em relação aos máximos e mínimos para tamanho, distância mínima de ordens stop, abono / proibição do

comércio automatizado e muitos outros parâmetros úteis caracterizando o estado atual. O ambiente informacional

são atualizados quando novas carrapatos são recebidos pelo terminal (linha verde na fig. 1).

Built-in ferramentas

O cliente terminal built-in contém ferramentas que permitem realizar uma análise técnica do mercado e executar

manual de gestão comercial. Para uma análise do mercado podem utilizar técnicas diferentes indicadores e estudos

linha - suporte / resistência linhas de tendência canais, etc níveis Fibonacci

Manual de gestão para a negociação da ordem de ferramentas de gestão é utilizado. Usando esta barra um

comerciante pode abrir, fechar e modificar ordens. Além disso, o terminal tem a opção de parar de modo

automatizado de gestão de posição. Um comerciante ações do built-in com ferramentas de gestão comercial resulta

a formação do comércio encomenda, que são enviadas para um servidor.

Para obter mais informações sobre o cliente terminal por favor consulte o "UserGuide" (ClientTerminal_folder \

Terminal.chm).

(4)

Análise do mercado e do comércio na gestão Metatrader 4 Terminal Client é implementado com a ajuda de

ferramentas de programação. MQL4 linguagem permite a criação de tais programas. Existem três tipos de

aplicações criadas em MQL4 e destinados a trabalhar no terminal do cliente:

personalizado indicador - um programa para visualização gráfica de mercado, de acordo com regularidades escrito

um algoritmo do autor;

Consultor Especialista - um programa que permite automatizar uma grande parte das operações comerciais e torna

possível automatizar totalmente a negociação;

script - um programa para executar um tempo de execução das acções, incluindo as operações comerciais.

Fig. 1 revela que o pedido tem a mesma via de acesso ao cliente terminal ambiente informacional como built-in

para ferramentas manuais negociação (setas azuis). Ele também pode formar gestora influências (setas vermelhas),

passaram para o cliente de terminal. Programas de diferentes tipos podem ser utilizados simultaneamente e

intercâmbio de dados. Usando esses aplicativos um programador pode automatizar uma grande parte das operações

comerciais ou criar um robô que será um comércio sem interferência do operador.

Os pedidos e manuais dos instrumentos de gestão podem ser utilizadas em simultâneo o cliente terminal

complementando-se mutuamente.

A característica fundamental técnicas de negociação on-line utilizando o sistema de comércio Metatrader é que

todas as acções de gestão são produzidas no terminal cliente e, em seguida, enviada para um servidor. Programas

aplicativos (Expert Advisor, script, indicador) pode trabalhar apenas como parte do cliente terminal, desde que

esteja conectado a um servidor (que tratam centro). Nenhum dos programas aplicativos estão instalados no

servidor.

O servidor permite apenas para processar sinais provenientes de um cliente de terminal. Se um cliente terminal está

desconectado da Internet ou de um programa aplicativo (Expert Advisor ou script) em execução em que não geram

qualquer gerir as acções, nada irá acontecer no servidor.

O escopo de nosso estudo inclui programas (Expert Advisors, scripts personalizados e indicadores) que permitam a

realização parcial ou totalmente automatizada alargar significativamente o comércio e manutenção de trocas

informativas (ver fig. 1). Neste livro você encontrará a descrição do programa e os componentes principais regras

de criação e utilizando programas. Também vamos considerar em detalhes exemplos de programas e parâmetros do

ambiente informacional do cliente terminal, que estão disponíveis para um programa durante a sua execução.

Programas para a negociação automática possuem potencial muito mais possibilidades do que ferramentas manuais

de gestão comercial.

Na maioria dos casos, um programa permite fazer um trabalho mais fácil do comerciante eliminando a necessidade

de um monitoramento constante da situação no mercado antes da sessão um computador por um longo período de

tempo. Poderá também contribuir para aliviar a tensão nervosa e diminuir o número de erros que aparecem nos

períodos de extrema tensão emocional. Mas o principal é que a utilização do programa de comércio método permite

desenvolver uma gestão própria do idéias e testá-las em dados históricos, escolha óptima parâmetros de aplicação

dessas idéias e, finalmente, para implementar uma estratégia comercial bem articulada.

Noções básicas de MQL4

Esta seção representa termos básicos subjacentes MQL4 linguagem de programação:

§

Alguns conceitos básicos

Expressões como 'carrapato' (uma alteração de preços), «controlo» em algoritmos, 'comentário'

nos programas são descritos. O principal evento quando negociação em mercados financeiros é a

mudança de preço. Esta é a razão por carrapato é um importante acontecimento que torna os

mecanismos básicos de MQL4 programas veiculados. O que fazer quando um novo carrapato

(5)

rendimentos? Quais as acções a tomar? Este controle é que se muda para a frente aqui. Mas não

se esqueça de comentar o seu código.

§

Constantes e Variáveis

Os termos de constantes e variáveis são introduzidas, a diferença entre esses termos são

explicados. Como o termo sugere, é uma coisa constante, contínua, definir de uma vez por

todas. Ao contrário da constante, uma variável é um objeto que o código de programação pode

modificar o seu conteúdo. É impossível escrever um programa sem utilizar objetos imutáveis

(constantes) e / ou objetos que podem ser modificados durante a execução do programa

(variáveis).

§

Tipos de dados

Certos tipos de dados são usados em qualquer linguagem de programação. O tipo de uma

variável é escolhido de acordo com a sua finalidade. Como é que podemos declarar uma variável,

como podemos inicializá-lo (preset seu valor inicial)? Uma má escolha do tipo de uma variável

pode abrandar o programa ou mesmo resultar na sua acção errada.

§

Operações e Expressões

Operações operar sobre operandos. Quais são os tipos de operações que existem? O que é

utilizada para typecasting?Quais são as características especiais das operações sobre

inteiros? Porque é importante lembrar que cerca de precedences de dados de diferentes

tipos? Sem saber sobre as características de algumas operações, você pode fazer erros sutis.

§

Operadores

Simples e compostos operadores. Uma ação necessária não deve ser executado por um simples

operador. Se for necessário que um grupo de operadores é executado como um grande operador,

este grupo deve ser incluído em um composto operador. Requisitos específicos e exemplos de

utilização de operadores estão dadas.

§

Funções

A necessidade de se obter um simples código remete-nos para o prazo de Função. Para utilizar a

função de locais diferentes no programa, é necessário prestar-lhe-Function Parameters. Iremos

considerar o processo de criação da função personalizada. Os exemplos de utilização de funções

normalizadas são dadas.

§

Tipos de Programas

Scripts, indicadores e Expert Advisors são os tipos de MQL4 programas que lhe permitem cobrir

praticamente toda a classe dos problemas relativos à negociação em mercados fincancial. É

necessário compreender os efeitos de cada tipo de programas, a fim de utilizar Metatrader Cliente

Terminal 4, da melhor forma.

Alguns conceitos básicos

Assim, o tema do nosso interesse, é um programa escrito em MQL4. Antes de darmos início a uma

apresentação detalhada das regras de escrever programas, é necessário descrever os conceitos básicos

que caracterizam um programa e de suas interrelações com informação ambiental. O Metatrader 4

Terminal Client for conhecida a trabalhar on-line. A situação dos mercados financeiros muda

(6)

continuamente, o que afecta os símbolos gráficos no cliente de terminal. Carrapatos terminal fornecer ao

cliente, com informações sobre a evolução dos preços no mercado.

A noção de carrapato

Assinale-se de um evento que se caracteriza por um novo preço do símbolo em algum instante.

Carrapatos são entregues a cada cliente através de um terminal instalado em um servidor central que

tratam. Conforme adequado à situação actual dos mercados, carrapatos podem ser recebidas mais ou

menos freqüentes, mas cada um deles traz uma nova citação - o custo de uma moeda expresso em

termos de outra moeda.

Um pedido que operam com o cliente terminal pode funcionar dentro de um período longo de tempo,

por exemplo, vários dias ou semanas. Cada pedido é executado de acordo com as regras estabelecidas

para os programas de um certo tipo. Por exemplo, uma Expert Advisor (EA) não funciona continuamente

o tempo todo. Um Expert Advisor é normalmente lançado no momento em que surge um novo

carrapato. Por este motivo, não se caracterizar como apenas um carrapato nova citação, mas sim como

um evento para ser processado pelo cliente terminal.

A duração do Expert Advisor da operação depende de qual programa está incluído no código-la. Normal

EAs completar um ciclo de processamento de informação durante alguns décimos ou centésimos de

segundo. Dentro desse prazo, o EA pode ter processado alguns parâmetros, fazer uma decisão

comercial, forneça o profissional com algumas informações úteis, etc Após ter terminado esta parte do

seu trabalho, a EA vai para o modo de espera até que um novo carrapato vem. Este novo carrapato

lança o Expert Advisor novamente, o programa faz o seu adequado funcionamento novamente e volta ao

modo de espera. A descrição detalhada de como o aparecimento de um novo programa carrapato

influências operação segue abaixo.

A noção de controle

Falando sobre o código em execução um programa de fluxo, bem como sua interação com o cliente

terminal, vamos usar o termo de «controlo».

O controle é um processo de realização de ações predeterminadas pelo programa algoritmo eo cliente

terminal funcionalidades. Controle pode ser transferida dentro do programa a partir de um código de

linha para um outro, bem como o programa de terminal para o cliente.

O controle é transferido de uma forma semelhante à de alguém que dá a palavra para falar numa

reunião. Tal como oradores abordar uma reunião e, em seguida, dar a palavra a outros, o programa

cliente do terminal e transferência de controle entre si.Pelo que, o cliente terminal domina. Seu estado é

maior do que a do programa, como a autoridade do presidente de uma reunião, é maior do que as de

um vulgar coluna.

Antes do programa é lançado, o controle está sob a supervisão do cliente terminal. Quando um novo

carrapato é recebida, o terminal cliente transfere o controle para o programa. O código do programa

começa a ser executado neste momento.

O cliente terminal, depois de ter transferido o controle para o programa, não pode parar o seu

funcionamento. Ela continua trabalhando com o máximo desempenho durante todo o período de tempo

que é lançado no PC. O programa só poderá começar a funcionar no momento em que o cliente tenha

transferido o controlo terminal para ele (como o presidente de uma reunião a reunião controla o tempo

(7)

todo que está acontecendo, enquanto que o atual orador toma a palavra por apenas um período limitado

de tempo ).

Depois de ter completado o seu funcionamento, o programa retorna controle para o cliente terminal e

não pode ser lançado por sua própria iniciativa. No entanto, quando o controlo já foi transferida para o

programa, ele retorna controle para o cliente terminal, por si só. Em outras palavras, o cliente terminal

não poderá retornar controle a partir do programa, por si só. Dynamic ações do usuário (por exemplo,

forçou o encerramento do programa) são uma isenção.

Ao discutir os assuntos de desempenho dos programas e estruturas internas, estamos interessados

principalmente na parte do controle que são transferidos dentro de um programa. Deixe a Fig's

referem. 2 mostra que a natureza global da transferência de controle para, a partir e dentro de um

programa. Círculos apresentados na figura caracterizar algumas pequenas, logicamente concluído

fragmentos de um programa, enquanto que as setas entre os círculos mostram como controle é

transferido de um fragmento para outro.

Fig. 2. Transferindo o controle de um programa

Um programa que aceitou o controle do cliente terminal (executando o programa) começa a fazer

algumas ações de acordo com a sua inerente algoritmo. O programa contém linhas programa; geral

ordem de execução programa consiste na transferência do controle seqüencial a partir de uma linha

para outra na direção de cima para baixo. O que, segundo as quais as regras podem ser escritos nestas

linhas serão consideradas inferiores, em todos os detalhes.

Aqui, é importante apenas para enfatizar que cada fragmento é executado logicamente concluído - por

exemplo, alguns cálculos matemáticos são feitas, uma mensagem é exibida na tela, uma ordem

comercial é formada, etc Até o fragmento actual do programa é executado , Que mantém o

controle. Depois de ter sido integralmente cumpridos, o controle é transferido para um outro

fragmento. Assim, o controlo dentro de um programa é transferido de um fragmento para outro

logicamente concluído que eles são executados. Logo que o último fragmento é executado, o programa

fará a transferência (retorno) para controlar o terminal cliente.

(8)

A noção de comentário

Um programa consiste em dois tipos de registros: aqueles que apresenta o programa em si e que são

textos explicativos para o programa código.

Um comentário é opcional e nonexecutable parte de um programa.

Então, é um comentário opcional parte de um programa. Isso significa que um programa pronto

funcionará de acordo com o seu código independentemente de saber se existem comentários nos ou

não. No entanto, as observações facilitar a compreensão do programa código muito. Verificou-se uma

linha e multi-line comentários. A uma linha de comentário é qualquer seqüência de caracteres após duas

barras oblíquas (//). O sinal de um uma linha de comentário é terminada por linha alimentação. Um

comentário multi-linha começa com os caracteres de / * e é terminada por * / (ver fig. 3).

Os comentários são utilizadas para explicar o programa código. Um bom programa

contém semper comentários.

Fig. 3. Exemplo de comentários em um programa.

Os comentários são amplamente utilizadas na codificação. Eles normalmente são exibidas em cinza nos

códigos. Iremos utilizar comentários, também, a fim de explicar os nossos códigos e torná-los mais

inteligíveis.

Constantes e Variáveis

Os termos de 'constante' e 'variável' são consideradas em uma seção, uma vez que estes termos são

muito próximos de si mesmas.

A noção de constante

Constante é uma parte de um programa, um objeto que tem um valor.

A duração do programa é uma constante na semelhantes para o mesmo termo usado em equações

matemáticas. É um valor invariável. Para descrever a natureza de um constante utilizada em uma

linguagem algorítmica em tantos detalhes quanto possível, vamos remeter ao bem-conhecido físico e

matemático constantes.

A raça humana tem descoberto as constantes, os valores dos quais não dependem de nós, de qualquer

maneira. Essas são, por exemplo, na física: a queda livre que a aceleração é semper igual a 9,8 m / s /

(9)

s; em matemática: Pi = 3.14. Constantes do tipo não pode ser considerado semelhante aos constantes,

de uma linguagem algorítmica.

O prazo de constante também é usado em equações matemáticas. Por exemplo, na equação de Y = 3 *

X + 7, números 3 e 7 são constantes. Os valores dessas constantes são totalmente dependentes da

vontade da pessoa que fez a equação. Esta é a mais próxima de constantes analogia usados em

programas MQL4.

Uma constante (como um valor) é colocada por um programador no código na fase da sua criação. A

única constante é caracterizada pelo seu valor, pelo que a perspectiva da "constante" e "o valor de uma

constante" são sinônimos completo.

Constantes exemplar:

37, 3.14, verdade, "Kazan"

Fig. 4. Uma constante na memória de um PC.

As propriedades de constantes

A propriedade de uma constante é o seu poder de reter durante o tempo de funcionamento do

programa o valor fixado pelo programador e definir este valor para o programa quando o programa

solicita deste (Fig. 5). Para cada constante no programa, o computador aloca uma parte da sua memória

do tamanho necessário. O valor de uma constante não pode ser mudado durante a execução do

programa nem por um programador, nem pelo computador (Fig. 6).

O valor da constante semper permanece a mesma.

Fig. 5. O estado da memória celular de uma constante quando se define o valor para o programa.

(10)

Fig. 6. É impossível alterar o valor de um programa constante durante a operação.

A noção de variável

Parte variável é um programa que tem um valor e um nome.

O prazo da variável em MQL4 é semelhante à que foi aceite pela matemática. A diferença entre eles

consiste apenas na medida em que o valor de uma variável em matemática é semper implícita, enquanto

que o valor da variável em execução um programa é armazenado em uma cela especial na memória do

computador.

O termo de "variável identificador 'é a plena sinônimo de" variável nome'. A variável é colocado no texto

do código, pelo seu autor, na fase de codificação como uma variável nome. O nome (identificador) de

uma variável pode ser composta por letras, dígitos, sublinhado. No entanto, ele deve começar com uma

letra. MQL4 é sensível a maiúsculas e minúsculas, ou seja, S e snão são os mesmos.

Exemplar variável nomes: Alfa, alfa, beta, o número, Num., A_37, A37, qwerty_123

Os seguintes identificadores de variáveis representam os nomes das diferentes variáveis: А_22 ea a_22;

Massa, MASSA.

Exemplar valores das variáveis: 37, 3.14, verdadeiro, "Kazan".

As propriedades da variável

A propriedade de uma variável é a sua capacidade de se obter um certo valor a partir do programa,

retê-los durante o período de funcionamento do programa e definir este valor para o programa quando

solicitado pelo programa. Para cada variável do programa, o computador aloca uma parte da sua

memória do tamanho necessário. Vamos referir-se a Fig. 7 e estudar a construção de uma variável.

Fig. 7. Uma variável na memória de um computador.

Existe um valor de uma variável na memória do celular no computador. Esse valor pode ser solicitada

para a transformação e modificado pelo programa. O nome de uma variável nunca é alterado. Ao

escrever um código, o programador pode definir qualquer nome para a variável. No entanto, logo que o

programa está pronto lançado, nem o programador nem computador, nem o programa tem qualquer

viabilidade técnica para mudar o nome da variável.

Se um programa enquanto está a ser executado reúne o nome de uma variável, o programa remete

para essa variável, a fim de obter o seu valor para a transformação. Se um programa se referiu a uma

variável, este último apresenta um valor para o seu programa. Pelo que, o valor da variável permanece o

(11)

mesmo, considerando que o programa se torna a cópia do valor contido na célula de memória alocado

para essa variável (Fig. 8).

Quando o valor de uma variável é definida para um programa, este valor

permanece inalterado. O nome de uma variável nunca será mudado.

Fig. 8. O estado da célula de memória de uma variável quando se define o valor para o programa.

Uma variável não está relacionada com a execução do programa durante um certo período de

tempo. Durante este período, o programa pode referir-se a outras variáveis ou fazer cálculos

necessários. Entre as "sessões" de comunicação com o programa, a variável retém o seu valor, ou seja,

mantendo-se inalterada.

De acordo com o algoritmo do programa, ele pode tornar-se necessário alterar o valor de uma

variável. Neste caso, o programa apresenta ao seu novo valor variável, a variável que recebe este valor

a partir do programa. Todas as modificações são feitas na memória celular. Isso resulta em que o valor

anterior da variável é eliminada, enquanto que um novo valor da variável definida pelo programa toma o

seu lugar (Fig. 9).

O valor de uma variável pode ser alterado pelo programa. O nome da variável é

semper inalterada.

Fig. 9. O estado da célula de memória de uma variável quando a receber o valor do programa.

Constantes e Variáveis exemplar em um Programa

Em um programa, constantes e variáveis podem ser encontrados na operadores. No código abaixo, A e

B são variáveis, 7 e 3 são constantes:

A = 7; / / Linha 1

B = A + 3; / / Linha 2

Vamos estudar como o programa funciona com constantes e variáveis. Execução dessas linhas, o

programa irá fazer os seguintes passos:

Linha 1:

(12)

2.

Um valor variável recebe 7 do programa.

Linha 2:

1.

O programa tem encontrado uma expressão para a direita a partir do sinal da igualdade e está a

tentar calculá-lo.

2.

Constant 3 apresenta o seu valor para o programa.

3.

O programa refere-se a uma variável pelo nome.

4.

Uma variável define o seu valor (7) para o programa.

5.

O programa faz cálculos (7 + 3).

6.

В variável recebe valor 10 através do programa.

O Valor de uma variável pode ser mudado durante a operação do programa. Por exemplo, pode haver

uma rubrica no programa que contém o seguinte:

В

= 33; / / Linha 3

Neste caso, o seguinte será feito na execução do programa:

1.

33 conjuntos constante o seu valor para o programa.

2.

Variável B gets (nova) valor 33 através do programa.

É fácil notar que o valor variável B recebe 10, a certa altura da execução do programa, e então ele

recebe o valor de 33. O nome da variável B mantém-se inalterado durante todos estes acontecimentos,

enquanto que o valor da variável irá mudar.

Fig. 10 mostra constantes e variáveis do programa código:

Fig. 10. Uma constante e uma variável em um programa.

Tipos de dados

É um conhecimento comum que só equitype valores podem ser acrescentadas ou subtraídas. Por

exemplo, maçãs pode ser adicionado à maçãs, maçãs, mas não pode ser adicionado à metros quadrados

ou a temperatura. Limitações semelhantes podem ser encontrados na maioria das línguas modernas

algorítmica.

Tal como objetos de vida normal ter alguns tipos caracterizando as suas cores (vermelho, azul, amarelo,

verde), o seu sabor (amargo, ácido, doce), montante (um e meio, dois, sete), MQL4 usa dados de

diferentes tipos. Falando sobre o tipo de dados, vamos dizer o tipo do valor de uma constante, de uma

variável eo valor retornado por uma função (a noção de função é considerado na seção de Funções).

Em MQL4, são distinguidos os seguintes tipos (para os valores de constantes, variáveis, e os valores

devolvidos pelas funções):

§

int - inteiros;

§

duplo - números reais;

§

bool - booleanos (lógicos) valores;

§

string - valores do tipo string;

§

cor - valores de cor tipo;

(13)

§

datetime - valores de data e hora.

Tipo int

Os valores do tipo int são inteiros. Este tipo inclui valores que são inteiro pela sua natureza. Os

seguintes valores são inteiros, por exemplo: quantidade de bares na janela do símbolo (16000 bares),

abriu e quantidade de encomendas pendentes (3 ordens), na distância entre os pontos actuais dos

preços e símbolo da ordem Open Preço (15 pontos). Montantes representam objetos tais como eventos

também pode ser apenas inteiros. Por exemplo, a quantidade de tentativas para abrir um despacho não

pode ser igual a uma e meia, mas só para um, dois, três, etc

Existem 2 tipos de valores inteiros:

§

Valores decimais pode ser composta por algarismos de 0 a 9 e ser positivos ou negativos: 10,

11, 12, 1, 5, -379, 25, -12.345, -1, 2.

§

Hexadecimal valores podem consistir de latim letras de A a F ou a partir de um f, algarismos de

0 a 9. Eles devem começar com 0x ou 0x e ter valores positivos ou negativos: 0x1a7b, 0xff340,

0xAC3 0X2DF23, 0X13AAB, 0x1.

Valores do tipo int deve estar dentro da faixa de -2 147 483 648 para 2 147 483 647. Se o valor de uma

constante ou uma variável está fora do intervalo acima, o resultado da operação programa será nulo. Os

valores de constantes e variáveis do tipoint ter 4 bytes da memória de um computador.

Um exemplo de utilização de uma variável do tipo int em um programa:

Arte int = 10; / / Exemplo variável inteira

int B_27 = - 1; / / Exemplo variável inteira

Num int = 21; / / Exemplo variável inteira

Max int = 2147483647; / / Exemplo variável inteira

int = Min - 2147483648; / / Exemplo variável inteira

Tipo dupla

O valor real da dupla tipo são números que contêm uma parte fracionária.

Exemplo valores deste tipo podem ser quaisquer valores que têm uma parte fracionária: inclinação da

linha de apoio, símbolo preço, valor médio de abertura ordena dentro de um dia.

Às vezes você pode enfrentar problemas designando variáveis ao escrever o seu código, ou seja, ele não

é claro para um programador que tipo (int ou dupla), a variável pertence. Vamos considerar um

pequeno exemplo:

Um programa abriu 12 ordens dentro de uma semana. Qual é o tipo da variável A, que considera a

quantidade média diária de ordens abertas por esse programa? A resposta é óbvia: A = 12 ordens / 5

dias. Significa que a variável A = 2.4 deveria ser considerada no programa como dupla, uma vez que

este valor tem uma parte fracionária. Que tipo deve ser a mesma variável A se o valor total das

encomendas abertos dentro de uma semana é 10? Você pode pensar que, se 2 (10 encomendas / 5 dias

= 2) não tem nenhuma parte fracionária, uma variável pode ser considerada como int. No entanto, esse

raciocínio está errada. O actual valor de uma variável pode ter uma fração parte constituído por apenas

zeros. É importante que esse valor dessa variável é real, pela sua natureza. Neste caso, a variável A tem

também de ser do tipo dupla. O ponto separa também devem ser inscritas no registo constante no

programa: А = 2,0

(14)

Os valores reais das variáveis constantes e constituído por uma parte inteira, um ponto decimal, e uma

parte fracionária. Os valores podem ser positivos ou negativos. A parte inteira e da parte fracionária são

constituídos por algarismos de 0 a 9. A quantidade de algarismos significativos depois da vírgula pode

chegar ao valor de 15.

Exemplo:

27,12 -1,0 2,5001 -765456,0 198732,07 0,123456789012345

Os valores do tipo dupla pode variar entre -1,7 * e-308 a 1.7 * e308. Na memória do computador, os

valores de constantes e variáveis do tipo dupla ter 8 bytes.

Um exemplo de utilização de uma variável do tipo dupla em um programa:

Arte duplo = 10,123; / / Exemplo variável real

B_27 duplo = - 1,0; / / Exemplo variável real

Num duplo = 0,5; / / Exemplo variável real

MMM = duplo - 12.07; / / Exemplo variável real

Price_1 duplo = 1,2756; / / Exemplo variável real

Tipo bool

Os valores do tipo bool são valores de Boolean (logical) Tipo ou que contenham desmentistes verdade.

Com o objectivo de aprender a noção de Boolean tipo, vamos considerar um pequeno exemplo do nosso

quotidiano. Digamos, um professor precisa de conta a presença dos livros didáticos dos alunos. Nesse

caso, o professor irá listar todos os alunos, sobre uma folha de papel e, em seguida, irá assinalar, em

uma linha direita se um aluno tem um livro didático ou não. Por exemplo, o professor pode usar marcas

e traços em cima da mesa:

Lista de Alunos

Livros Didáticos

em Física

Livro Didático

em Biologia

Livro Didático

em Química

1

Smith

V

--

--

2

Jones

V

--

V

3

Marrom

--

V

V

...

...

...

...

...

25

Thompson

V

V

V

Os valores nas colunas direito só pode ser de 2 tipos: verdadeiro ou falso. Estes valores não podem ser

atribuídas a qualquer dos tipos acima, uma vez que são considerados não em todos os números. Eles

não são os valores de cor, sabor, volume, etc, de qualquer modo. No entanto, que assume assim um

importante sentido. Em MQL4, tais valores booleanos são nomeadas, ou lógico, de valores. Constantes e

variáveis do tipo bool são caracterizados através de que podem ter apenas 2 possíveis valores: true

(verdadeiro, TRUE, 1) ou falsa (falso, FALSE, 0). Os valores de constantes e variáveis do tipo bool ter 4

bytes na memória do computador.

Um exemplo de utilização de uma variável do tipo bool em um programa:

bool aa = True; / / Boolean

аа variável tem o valor de verdade

bool B17 = TRUE; / / Boolean B17 variável tem o valor de verdade

Hamma bool = 1; / / Boolean Hamma variável tem o valor de verdade

(15)

Asd bool = False; / / Boolean Asd variável tem o valor de um falso

Nol bool = FALSE; / / variável Booleana Nol tem o valor de um falso

Prim bool = 0; / / variável Booleana Prim tem o valor de um falso

Tipo string

O valor do tipo string é um valor representado como um conjunto de caracteres ASCII.

No nosso quotidiano, pertence a um conteúdo semelhante, por exemplo, armazenar nomes, carro faz,

etc Uma seqüência de tipo valor é gravado como um conjunto de caracteres colocados em aspas (não

deve ser misturado com o dobro única aspas!).Aspas são usadas apenas para marcar o início eo fim de

uma string constante. O valor em si é o conjunto de caracteres emoldurado pelas cotações.

Se existe uma necessidade de introduzir um aspas duplas ( "), você deve colocar um reverso barra (\)

antes dela. Qualquer caractere especial constantes no verso seguinte barra (\) pode ser introduzido em

uma seqüência. O comprimento de uma string constante varia de 0 a 255 caracteres. Se o comprimento

de uma string constante ultrapassa o seu máximo, o excesso de personagens o lado direito será

truncado e compilador dará o correspondente aviso. Uma combinação de dois caracteres, a primeira das

quais é a reverso barra (\), é comummente aceite pela maioria dos programas e percebida como uma

instrução para executar um determinado texto de formatação. Essa combinação não é exibido no texto.

Por exemplo, a combinação de \ n indica a necessidade de uma alimentação de linha; \ t demandas

tabulação, etc

O valor do tipo string é gravada como um conjunto de personagens emoldurado por aspas duplas:

"Metatrader 4", "Stop Loss", "Ssssstop_Loss", "stoploss", "10 sementes". O valor da cadeia, como tal, é o

conjunto de caracteres. As aspas são usadas apenas para marcar o valor das fronteiras. A representação

interna é uma estrutura de 8 bytes.

Um exemplo de utilização de uma variável do tipo string em um programa:

string Prefix = "Metatrader 4"; / / Exemplo variável string

string Postfix = "_of_my_progr. OK"; / / Exemplo variável string

string Name_Mass = "History"; / / Exemplo variável string

string texto = "Linha de Alta \ n Baixa Line", / / o texto contém

caracteres line feed

Tipo de cor

O valor da cor é um tipo de valor cromático.

O significado de "cor" (azul, vermelho, branco, amarelo, verde, etc) é um conhecimento comum. É fácil

imaginar o que uma variável ou uma constante de cor tipo pode significar. É uma constante ou uma

variável, cujo valor é uma cor. Pode parecer a ser um tanto incomum, mas é muito simples, de modo

geral. Tal como o valor de uma constante é um número inteiro, o valor de uma cor é uma cor constante.

Os valores constantes da cor e variáveis pode ser representado como um dos três tipos:

§

Literais

O valor de cor tipo representado como um literal é constituído por três partes que representam

os valores numéricos da intensidade das três cores fundamentais: vermelho, verde e azul

(RGB). O valor deste tipo começa com 'C' e é citada por aspas simples.

(16)

Os valores numéricos de RGB intensidade variam de 0 a 255 e podem ser registradas tanto

decimalmente e hexadecimally.

Exemplos: C'128128128 '(cinza), C'0x00, 0x00, 0xFF' (azul), C'0xFF, 0x33, 0x00 '(vermelha).

§

Integer Representação

Integer é registados como uma representação hexadecimal ou um número decimal. Um número

hexadecimal é apresentado como 0xRRGGBB onde TR é o valor da intensidade vermelho, GG -

verde, e BB - azul. Decimal constantes não são reflectidas directamente em RGB. Representam o

valor decimal de uma representação hexadecimal inteiro.

Representação dos valores de cor e tipo como inteiros literais hexadecimal como é muito fácil de

utilizar. A maioria dos modernos editores de texto e gráficos fornecem informações sobre a

intensidade do vermelho, verde e azul componentes selecionados no valor de cor. Você acabou de

seleccionar uma cor em seu editor e copiar os valores encontrados em sua descrição para a cor

correspondente valor representação no código.

(17)

Fig. 11. Cor parâmetros para literal inteiro e representação do valor constante cor pode ser

tomada nos modernos editores.

§

Color Names

A forma mais fácil de se definir uma cor para indicar o seu nome, de acordo com a tabela de

cores da web. Neste caso, o valor de uma cor é representada como uma palavra correspondente

com a cor, por exemplo, vermelho - a cor vermelha.

DarkGreen

DarkSlateGray

Olive

Verde

Teal

Marinha

Indigo

MidnightBlue

DarkBlue

DarkOliveGreen SaddleBrown

ForestGreen

DarkGoldenrod

DarkSlateBlue

Sienna

MediumBlue

Marrom

DarkTurquoise

DarkViolet

Tijolo refratário

MediumVioletRed MediumSeaGreen Chocolate

Crimson

MediumSpringGreen

LawnGreen

CadetBlue

DarkOrchid

YellowGreen

LimeGreen

Laranja

Ouro

Amarelo

Chartreuse

Lime

SpringGreen

Azul

Magenta

Vermelho

Gray

SlateGray

Peru

DeepPink

MediumTurquoise

DodgerBlue

Turquesa

RoyalBlue

SlateBlue

MediumOrchid

GreenYellow

MediumAquamarine

DarkSeaGreen

Tomate

RosyBrown

PaleVioletRed

Coral

CornflowerBlue

DarkGray

SandyBrown

MediumSlateBlue

BurlyWood

HotPink

Salmão

Violet

LightCoral

SkyBlue

Khaki

LightGreen

Aquamarine

Prata

LightSkyBlue LightSteelBlue

Thistle

PowderBlue

PaleGoldenrod

PaleTurquoise

LightGray

Trigo

LightPink

Gainsboro

PeachPuff

Rosa

Bisque

LightGoldenrod BlanchedAlmond

Beige

AntiqueWhite

PapayaWhip

Cornsilk

LightYellow

LightCyan

(18)

MintCream

Neve

Branco

Constantes e variáveis de cor tipo tomar 4 bytes na memória do computador. Um exemplo de como

usar essa variável em um programa:

Paint_1 color = C '128, 128, 128'; / / O valor de cinza foi atribuído à

variável

Colo cor C = '0 x00, 0 x00, 0 xFF "; / / O valor de azul foi atribuído à

variável

BMP_4 color = C '0 xFF, 0 x33, 0 x00' / / O valor do vermelho foi atribuído

à variável

K_12 color = 0 xFF3300; / / O valor do vermelho foi atribuído à variável

N_3 color = 0 x008000; / / O valor do verde foi atribuído à variável

Cor cor = 16777215; / / O valor do branco foi atribuído à variável

Alfa color = 32768; / / O valor do verde foi atribuído à variável

A = cor vermelha; / / O valor do vermelho foi atribuído à variável

B = cor amarela; / / O valor de cor amarela foi atribuído à variável

color = Colorit Negro; / / O valor dos negros foi atribuído à variável

B_21 color = White; / / O valor do branco foi atribuído à variável

Tipo datetime

O valor é do tipo datetime os valores de data e hora.

Os valores deste tipo podem ser usados em programas para analisar o momento do início ou cessação

de alguns eventos, incluindo os lançamentos de importantes notícias, horários start / acabamento, etc As

constantes de data e hora pode ser representado como uma linha literal consistindo de 6 peças que

representam o valor numérico do ano, mês, dia (ou dia, mês, ano), hora, minuto e segundo.

A única constante é enquadrado em cotações e começa com 'D'. É permitido o uso truncado valores: ou

sem data ou sem tempo, ou apenas um valor vazio. O intervalo de valores: a partir de 1 º de janeiro de

1970, a 31 de dezembro de 2037. Os valores de constantes e variáveis do tipo datetime ter 4 bytes na

memória do computador. Um valor representa a quantidade de segundos decorridos a partir das 00:00

do dia 1 de janeiro 1970.

Um exemplo de utilização de uma variável do tipo datetime em um programa:

Alfa datetime = D '2004.01.01 00: 00 "; / / Ano Novo

Tim datetime = D "01.01.2004"; / / Ano Novo

datetime Tims = D '2005.05.12 16: 30: 45'; / / 12 de maio de 2005 4:30:45

pm

datetime N_3 = D »12.05.2005 16: 30: 45 '; / / 12 de maio de 2005 4:30:45

pm

Compile datetime = D''; / / equivalente a D '[compilação data]

/ / 00:00:00 '

Declaração e iniciação variável

A fim de evitar possíveis "perguntas" sobre o programa pelo qual o tipo de dados desta ou daquela

variável pertence, que é aceite em MQL4 especificar os tipos de variáveis logo no início de um programa

explícito. Antes de uma variável começa a participar em quaisquer cálculos, deve ser declarada.

(19)

Declaração variável é a primeira menção de uma variável em um programa. Na declaração de uma

variável, seu tipo deve ser especificada.

A inicialização variável significa que a sua afectação a um valor correspondente com o seu tipo, na

sua declaração. Cada variável pode ser inicializado. Se nenhum valor inicial é estabelecido

explicitamente, um numérico variável será inicializada por zero (0) e uma variável string será inicializada

por uma linha vazia.

Em MQL4, admite-se a especificar os tipos de variáveis explicitamente em sua

declaração. O tipo de uma variável é declarada na primeira menção do nome desta

variável. Quando ela é indicada para o segundo e os subsequentes vezes, o seu tipo

não é especificado mais. No decurso da execução do programa, o valor da variável

pode mudar, mas o seu nome e tipo permanecem inalteradas. O tipo de uma variável

pode ser declarada em única ou linhas de operadores.

Uma variável pode ser declarado em uma única linha:

int Var_1; / / Variável declaração em uma única linha

Esse recorde significa que haverá Var_1 variável (variável declaração como tal) e do tipo desta

variável int serão dadas no programa.

Em uma linha, várias variáveis do mesmo tipo podem ser declaradas:

int Var_1, Box, Comm; / / Declaração de diversas variáveis em uma linha

Esse recorde significa que haverá variáveis Var_1, Caixa e Comm, todos do tipo int, utilizado no

programa. Significa que as variáveis acima enumeradas serão considerados pelo programa como

variáveis do tipo inteiro.

Variáveis também podem ser inicializados dentro operadores:

Var_5 duplo = 3,7; / / Variável inicialização em uma missão operador

Esse recorde significa que haverá Var_5 variável do tipo usado em programa duplo, o valor inicial da

variável a ser 3.7.

O tipo de variáveis nunca é especificado a subseqüente linhas em qualquer parte do programa. Contudo,

cada vez que o programa solicita uma variável que "se lembra" de que essa variável é do tipo que tenha

sido especificado, na sua declaração.Conforme cálculos progressos no programa, os valores das variáveis

podem mudar, mas o seu modelo mantém-se inalterado.

O nome de uma variável não tem qualquer relação com o seu tipo, ou seja, você não pode julgar acerca

do tipo de uma variável pelo seu nome. Um nome dado a uma variável pode também ser utilizada para

quaisquer tipos de variáveis em diferentes programas. No entanto, o tipo de qualquer variável pode ser

declarada apenas uma vez dentro de um programa. O tipo de variáveis declaradas não será alterado

durante a execução do programa.

Exemplos de variáveis Declaração e Inicialização

Variáveis podem ser declaradas em várias linhas ou em uma única linha.

É permitida a declarar diversas variáveis de um tipo simultaneamente. Neste caso, as variáveis são

listados separados por vírgulas, sendo colocado um ponto e vírgula no final da linha.

(20)

Fig. 12. Exemplo de declaração variável em uma única linha.

O tipo de variáveis é declarada uma única vez, na primeira menção da variável. O tipo não será mais

indicado para o segundo e os subsequentes vezes quando a variável é mencionada.

Fig. 13. Exemplo de declaração variável em uma única linha.

É permitida a declarar e inicializar variáveis nos operadores.

Fig. 14. Exemplo de iniciação variável.

Fig. 15. Variável inicialização no cabeçalho de um composto operador.

Operações e Expressões

A fim de compreender o que tem importância operações e expressões em MQL4, analogias especiais não

são necessários.Praticamente, é o mesmo que em operações e expressões simples aritmética. Todos

entendem que, no registro de f = n + m,membros f, n e m são variáveis, sinais e + = são sinais

operacionais, enquanto n + m é uma expressão.

Na seção anterior do livro, nós aprendemos sobre a necessidade de apresentar dados de diferentes

tipos. Aqui nós entremos relações possíveis entre esses dados (metros quadrados ainda não pode ser

(21)

adicionado a maçã). Em MQL4, existem algumas limitações naturais e as regras de utilização de

operações em expressões.

As noções de 'Operando', 'Operação', 'Operação Symbol "e" Expressão "

Operando é uma constante, uma variável, um componente ou uma matriz valor retornado por uma

função (o termo é considerado em função de a seção de funções, a de matriz - na seção

de Arrays; neste estágio atual de aprendizagem, é suficiente para compreender como operandos

constantes e variáveis já estudadas antes).

A operação é feita mediante uma acção operandos.

Operação símbolo é um estilo de caracteres ou um grupo de caracteres que forma a executar uma

operação.

Expressão é uma seqüência de símbolos operandos e funcionamento; é gravar um programa, o valor

calculado de que é caracterizada por um tipo de dados.

Tipos de Operações

Existem os seguintes tipos de operações na MQL4:

§

operações aritméticas;

§

cessão operações;

§

operações relacionais;

§

Booleano (lógico) operações;

§

bitwise operações;

§

vírgula operação;

§

chamada de função.

As operações são utilizadas em operadores (ver Operators). Só na sua utilização operadores faz sentido

e é realizado em um programa. A possibilidade de utilizar uma operação é determinada pelas

propriedades dos operadores (no caso da operadora propriedades permitem que você utilize esta

operação específica, você pode usá-lo, caso contrário, você devia ' Não utilizar esta operação). É

proibido o uso operações fora operadores.

As operações aritméticas

Os seguintes símbolos pertencem a operações aritméticas símbolos:

Símbolo

Operação

Exemplo

Analógico

+

Além dos valores

x + 2

--

Subtração de valores ou de assinar mudança

x - 3, y = - y

*

Multiplicação de valores

3 * x

/

Quociente da divisão

x / 5

%

Resíduo de divisão

minutos = tempo% 60

+ +

Além de 1 para o valor da variável

y + +

y = y + 1

(22)

Cessão de Operações

Os seguintes símbolos pertencem a cessão operações símbolos:

Símbolo

Operação

Exemplo

Analógico

=

Cessão do valor para a variável x y

у x =

+ =

Aumento da variável x por y

у + = x

y = y + x

-=

Redução da variável y por x

y -= x

y = y - x

*=

Multiplicação da variável y por x

y *= x

y = x * y

/ =

Divisão da variável y por x

y / x =

y = y / x

% =

Resíduo da divisão da variável y por x

y = x%

y = y% x

Operações relacionais

Os seguintes símbolos pertencem a operações relacionais símbolos:

Símbolo

Operação

Exemplo

==

Verdade, se x é igual a y

x == y

! =

Verdade, se x não é igual a y

x! y =

<

Verdade, se x for menor que y

x> y

>

Verdade, é mais do que se x y

x> y

<=

Verdade, se x for igual ou inferior a y

x <= y

> =

Verdade, se x for igual ou superior a y

x> y =

Booleanos (lógicos) Operações

Os seguintes símbolos pertencem a operações booleanas símbolos:

Símbolo

Operação

Exemplo

Declarações

!

NÃO (lógico

negação)

! х

TRUE (1), se o valor do operando é FALSE (0); FALSE

(0), se o valor do operando não é FALSE (0).

| |

OU (disjunção

lógico)

x <5 | | x> 7 TRUE (1), se houver algum valor dos valores é verdade

& &

E (conjunção

lógica)

x == 3 & & y

<5

TRUE (1), se todos os valores são verdadeiras

As operações bitwise

Bitwise operações só podem ser realizados com inteiros. As seguintes operações pertencem a bitwise

operações:

(23)

One's complemento do valor da variável. O valor da expressão contém 1 em todos os lugares, em que os

valores da variável conter 0, e que ele contém 0 em todos os lugares, em que os valores da variável

conter 1.

b = n ~;

A representação binária de x por y lugares é deslocada para a direita. Este direito é lógico turno,

significa que todos os lugares esvaziados para a esquerda será preenchido com zeros.

x = x>> y;

A representação binária de x por y lugares é deslocada para a esquerda; esvaziou os lugares para a

esquerda será preenchido com zeros.

x = x <<y;

A operação bitwise AND do binário representações de x e y. O valor da expressão contém 1 (TRUE) em

todos os lugares, em que ambos contêm x e y não nulo, e o valor da expressão contém 0 (FALSO), em

todos os outros lugares.

b = ((x & y)! = 0);

A operação bitwise OR do binário representações de x e y. O valor da expressão contém 1 em todos os

lugares, em que x ou y não contém 0. Contém 0 em todos os outros lugares.

b = x | y;

A operação bitwise OR EXCLUSIVO do binário representações de x e y. O valor da expressão em 1

contém os locais, no qual x e y têm diferentes valores binários. Contém 0 em todos os outros lugares.

b = x ^ y;

Operação vírgula

Expressões separados por vírgulas são calculados da esquerda para a direita. Todos os efeitos colaterais

dos cálculos na expressão da esquerda só pode ocorrer antes que a expressão direito é calculado. O tipo

eo valor do resultado coincide com o tipo eo valor da expressão direita.

for (i = 0, j = 99; i <100; + + i, j -) Print (array [i] [j]); / / Loop declaração

Os parâmetros transferiu lista (veja abaixo) podem ser considerados como um exemplo.

My_function (Alf, Bet, Gam, Del) / / Chamando para uma função com argumentos

Operadores e Funções são consideradas nas seções de Operadores, Funções e no capítulo

denominado Operators)

Função Chamada

Chamada da função é descrito em todos os detalhes na seção da Função Chamada.

Operações semelhantes sobre operandos

Se uma escola elementar aluno foi-nos dito que, quando a resolução do problema sobre o número de

lápis, ele ou ela teria que basear a sua apresentação em termos tais como operandos, operadores e

expressões, o aluno pobre, certamente impossível encontrá-lo. Olhando para os símbolos das operações,

podem pensar que uma codificação é um processo muito complicado e misteriosa, acessível apenas para

(24)

para uma espécie de elite. No entanto, codificação não é realmente difícil em tudo, você só precisa fazer

cabeça ou da cauda alguns intensions. Para ter a certeza que isto é realmente assim, vamos considerar

alguns exemplos.

Problema 1. John tem 2 lápis, lápis Pete tem 3. Quantos lápis fazer estes meninos

têm?:)

Solução. Vamos denotar o número de John's lápis e uma variável como o número de Pete's lápis como

variável B, enquanto que o resultado será denominado C.

A resposta será: С = А + В

Na seção denominada Tipos de dados, foram considerados os métodos de declaração variável. Lápis

estão as coisas, ou seja, é algo que pode existir basicamente como uma parte (por exemplo, pode haver

uma metade de um lápis). Assim, iremos considerar como lápis variáveis reais, ou seja, as variáveis

de dupla natureza.

Assim, podemos código a solução, por exemplo, da seguinte forma:

Um duplo = 2,0; / / O número de lápis John's

duplo B = 3,0; / / O número de Pete's lápis

dupla C = A + B; / / Número

Neste caso, operação "+" aplicada a adição dos valores das variáveis é um tipo bastante ilustrativo.

Digite o valor da expressão:

A + B

Será o tipo das variáveis que são componentes da expressão. No nosso caso, este será o dobro tipo.

Iremos buscar a resposta semelhante para a diferença entre os valores (Quantos lápis faz mais do que

Pete tem João?):

Um duplo = 2,0; / / O número de lápis John's

duplo B = 3,0; / / O número de Pete's lápis

dupla C = B - A; / / A diferença entre dois números reais

Outras operações aritméticas são usados de forma semelhante:

duplos um * C = B; / / Multiplicação de dois números reais

dupla C = B / A; / / Divisão de dois números reais

Cálculos similares podem ser realizadas com números inteiros, também.

Problema 2. Os alunos vão para a lousa e resposta em classe. John fui 2 vezes, Pete

passou 3 vezes.Quantas vezes os meninos vão para o quadro negro, no total?

Solução. Vamos denotar John's passagens como variável X, Pete's passagens como variável Y, o

resultado - como Z.

Neste exemplo, nós temos que usar as variáveis do tipo int, uma vez que consideramos que são eventos

inteiro pela sua natureza (não pode ir para a lousa 0,5 vezes ou 1,5 vezes; a resposta na lousa pode ser

bom ou ruim, mas nós és apenas interessado em que o número destas respostas ou passagens).

(25)

A solução deste problema pode ser escrita como:

int X = 2; / / Número de passagens John's

int Y = 3; / / Número de passagens Pete's

int Z = X + Y; / / Número

No caso do cálculo da diferença entre, de produto ou quociente de inteiros, a operação "-" é semelhante

ao utilizado na forma simples:

int X = 2; / / Integer

int Y = 3; / / Integer

int Z = Y - X; / / Diferença entre os dois inteiros

int Y = Z * X; / / Produto de dois inteiros

int Z = Y / X; / / quociente de dois inteiros

A situação é um pouco diferente com as variáveis do tipo string:

Problema 3. Em um canto da casa, há um supermercado chamado "Arctic". Num outro

canto da mesma casa, há um estabelecimento chamado "Cabeleireiros Saloon". O que

está escrito sobre a casa?

Solução. Em MQL4, você está autorizado a acrescentar em conjunto os valores da seqüência constantes

e variáveis. Se acrescentarmos juntos variáveis do tipo string, strings são adicionadas simplesmente um

por um, na seqüência eles são mencionados na expressão.

É fácil de código de um programa que seria necessário dar-nos a resposta:

W1 = string "Arctic"; / / Seqüência 1

W2 = string "Cabeleireiros Saloon"; / / seqüência 2

string Ans = W1 + W2; / / Soma de cordas

O valor da variável Ans será a seqüência que aparece da seguinte forma:

ArcticHairdressing Saloon

Nós obtivemos uma não-muito-para-olhar-no, mas absolutamente correcta formada valor do

tipo string. Evidentemente, devemos considerar as lacunas e outras pontuações em nossas práticas de

codificação desses problemas.

Quaisquer outras operações aritméticas com variáveis do tipo string são proibidos:

string Ans = W1 - W2; / / Não permitido

string Ans = W1 * W2; / / Não permitido

string Ans = W1 / W2; / / Não permitido

Typecasting

Typecasting está modificando (mapeamento) dos tipos dos valores de um operando

ou uma expressão. Antes da execução das operações (todas as operações, mas cessão), são alteradas

para um tipo da mais alta prioridade, que antes da realização da cessão operações forem modificados

para o tipo de alvo.

(26)

Problema 4. John tem 2 lápis, enquanto Pete passou 3 vezes para o quadro

negro. Quantos no total?

No que diz respeito à lógica formal está em causa, os maus-posedness do problema é óbvia. É óbvio que

eventos não podem ser adicionados, juntamente com as coisas, ele está errado.

Problema 5. Em um canto da casa, há um supermercado chamado "Arctic", enquanto

que John tem 2 lápis.:)

Com o mesmo grau de desespero (na medida do normal raciocínio está em causa), podemos perguntar

o seguinte:

1. Quantos no total?, Ou

2. O que está escrito na casa?

Se você quiser resolver os dois problemas acima corretamente no MQL4, você deve referir-se

typecasting regras. Primeiro, temos que conversar sobre a forma como diferentes tipos de variáveis

estão representados na memória do computador.

Tipos de dados, tais como int, bool, cor, datetime e duplas, pertencem ao tipo de dados numéricos. A

representação interna de constantes e variáveis de int, duplos, bool, cor e tipo datetime é um número.

As variáveis de int, bool, cores e tipos datetimeestão representados na memória do computador como

números inteiros, enquanto que as variáveis de dupla natureza são representados como números de

precisão dupla com um ponto flutuante, ou seja, números reais. O valor de constantes e variáveis do

tipo string é um conjunto de caracteres (Fig. 16).

Os valores de int, bool, cores e tipos datetime estão representados na memória do

computador como números inteiros. Os valores do tipo dupla estão representados na

memória do computador como números reais. Os valores do tipo string são

representados na memória do computador como uma seqüência de caracteres. Os

valores de int, bool, cor, datetime e tipos são o dobro dos valoresnuméricos tipo. Os

valores do tipo string são os valores do tipo de caracteres.

Referências

Documentos relacionados

(Parábola do semeador). André Luiz; “Faça o mesmo” mens. 23, In: Sementeira de Fraternidade, Divaldo P. Joanna de Angelis; “Observa teu comportamento” mens. 30, In:

SENSOR DE

O emprego de um estimador robusto em variável que apresente valores discrepantes produz resultados adequados à avaliação e medição da variabilidade espacial de atributos de uma

Para o controle da salivação, gosto muito de usar metáforas, como pedir para o paciente imaginar um ralo dentro de sua boca, por onde a saliva escorre, ou uma torneirinha que vai

Não se trata de recurso hierárquico, nem de pedido de reconsideração, mas sim de outro processo, de verdadeiro reexame do processo primitivo para decidir-se da

Corograpliiu, Col de Estados de Geografia Humana e Regional; Instituto de A lta C ultura; Centro da Estudos Geográficos da Faculdade de Letras de Lisboa.. RODRIGUES,

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

O desenvolvimento das interações entre os próprios alunos e entre estes e as professoras, juntamente com o reconhecimento da singularidade dos conhecimentos