Escolar Documentos
Profissional Documentos
Cultura Documentos
1 de 36
https://www.mql5.com/pt/articles/100
Download MetaTrader 5
7 621
SAMUEL OLOWOYO
Introduo
Este artigo destinado a iniciantes que desejam aprender como escrever
Consultores Especialistas simples na nova linguagem MQL5. Ns comearemos
primeiro definindo o que queremos que o nosso CE (Consultor Especialista)
faa, e descrio ento passaremos para como ns queremos que o CE o faa.
1. Estratgia de negociao
O que o nosso CE far:
Ele ir monitorar um indicador particular e, quando uma certa condio
for alcanada (ou certas condies foram alcanadas), ele ir colocar
uma negociao (tanto uma posio curta/vendida ou longa/comprada),
dependendo da condio presente que foi alcanada.
O mencionado acima chamado de estratgia de negociao. Antes que voc
possa escrever um CE, voc precisa primeiro desenvolver a estratgia que voc
deseja automatizar no CE. Ento, neste caso, deixe-nos modificar a afirmao
acima de forma que ela reflita a estratgia que ns queremos desenvolver no
CE.
Ns utilizaremos um indicador chamado mdia mvel com um perodo de
8 (voc pode escolher qualquer perodo, mas para os propsitos da nossa
estratgia, ns usaremos 8).
Queremos que o nosso CE oferea uma negociao longa (compra)
quando a mdia mvel-8 (para o propsito neste assunto, eu irei me
referir a ela como MM-8) estiver aumentando e o preo estiver acima
dela, e oferecer uma negociao curta (venda) quando a MM-8 estiver
diminuindo e o preo estiver abaixo dela.
Tambm utilizaremos outro indicador chamado movimento direcional
mdio (ADX) com perodo 8 tambm para nos ajudar a determinar se o
mercado est em tendncia ou no. Estamos fazendo isso porque apenas
queremos entrar na negociao quando o mercado estiver em tendncia
e relaxar quando o mercado estiver variando (isto , sem tendncia).
Para alcanar isso, apenas ofereceremos a nossa negociao (comprar ou
vender) quando as condies acima forem atendidas e o valor do ADX for
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
2 de 36
https://www.mql5.com/pt/articles/100
maior que 22. Se o ADX for maior do que 22 porm diminuindo, ou o ADX
for menor do que 22, no negociaremos, mesmo que a condio B tenha
sido atendida.
Tambm queremos nos proteger definindo uma ordem para parar perda
(ou stop loss) de 30 pontos, e para o nosso alvo de lucro; definiremos
como objetivo um lucro de 100 pontos.
Tambm queremos que nosso CE procure por oportunidades de
compra/venda somente quando uma nova barra tenha sido formada e
tambm queremos nos certificar que abrimos uma posio de compra, se
as condies de compra forem atendidas e j no tivermos uma em
aberto, e abrir uma posio de venda quando as condies de venda
forem atendidas e j no tivermos uma em aberto.
Agora desenvolvemos a nossa estratgia; a hora de comear a escrever o
nosso cdigo.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
3 de 36
https://www.mql5.com/pt/articles/100
Na prxima janela, digite o nome que voc quer dar ao seu CE na caixa Nome.
Neste caso, eu digitei My_First_EA. Voc pode ento digitar o seu nome na
caixa Autor e tambm o endereo da sua pgina da internet ou endereo de
e-mail na caixa Link (se voc tiver um).
J que queremos ser capazes de mudar alguns dos parmetros para o nosso CE
de forma a ver quais dos valores podem nos fornecer melhor resultado, ns
iremos adicion-los clicando no boto "Adicionar".
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
4 de 36
https://www.mql5.com/pt/articles/100
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
5 de 36
https://www.mql5.com/pt/articles/100
Como pode ser visto acima, foi selecionado o tipo de dado inteiro (int) para
todos os parmetros. Vamos falar um pouco sobre tipos de dados.
char: O tipo char toma 1 byte de memria (8 bits) e permite expressar
em notao binria 2^8=256 valores. O tipo char pode conter ambos
valores positivos e negativos. A mudana de valores de -128 a 127.
uchar : O tipo inteiro uchar tambm ocupa 1 byte de memria, assim
como o tipo de char, mas ao contrrio dele o uchar destina-se apenas a
valores positivos. O valor mnimo zero, o valor mximo 255. A
primeira letra u no nome do tipo uchar a abreviao para no assinado.
short: O tamanho do tipo short de 2 bytes (16 bits) e,
consequentemente, ele segue expressando a faixa de valores igual a 2
para a potncia 16: 2^16 = 65 536. Uma vez que o tipo short um tipo
assinado, ele contm ambos valores positivos e negativos, a faixa de
valores est entre -32 768 e 32 767.
ushort: O tipo no assinado short o tipo ushort, que tambm possui
um tamanho de 2 bytes. O valor mnimo 0, e o valor mximo 65 535.
int : O tamanho do tipo int de 4 bytes (32 bits). O valor mnimo -2
147 483 648, o valor mximo 2 147 483 647.
uint : O tipo inteiro no assinado o uint. Ele toma 4 bytes de memria
e permite expressar inteiros de 0 a 4 294 967 295.
long : O tamanho do tipo long de 8 bytes (64 bits). O valor mnimo
-9 223 372 036 854 775 808, o valor mximo 9 223 372 036 854 775
807.
ulong : O tipo ulong tambm ocupa 8 bytes e pode armazenar valores
de 0 a 18 446 744 073 709 551 615.
Pela descrio acima dos vrios tipos de dados, os tipos inteiros no assinados
no so projetados para armazenar valores negativos, qualquer tentativa de
configurar um valor negativo pode levar a consequncias inesperadas. Por
exemplo, se voc quer armazenar valores negativos, voc no pode
armazen-los dentro dos tipos no assinados (isto , uchar, uint, ushort, ulong).
Voltando ao ao nosso CE. Olhando os tipos de dados, voc ir concordar que
devemos utilizar os tipos de dados char ou uchar j que os dados que
pretendemos armazenar nestes parmetros sejam menores do que 127 ou 255
respectivamente. Para bom gerenciamento da memria, essa a melhor coisa
a se fazer. Entretanto, pelo propsito desta discusso, iremos nos ater ao tipo
int.
Uma vez que tenha acabado de configurar todos os parmetros necessrios,
clique no boto Finished e o editor do MetaQuotes criar um esqueleto do
cdigo para voc como mostrado na prxima figura.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
6 de 36
https://www.mql5.com/pt/articles/100
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
7 de 36
https://www.mql5.com/pt/articles/100
Exemplo:
#define ABC 100
#define COMPANY_NAME "MetaQuotes Software Corp."
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
8 de 36
https://www.mql5.com/pt/articles/100
Essa funo processa o evento NewTick, que gerado quando uma nova
cotao recebida para um smbolo.
Observe que o consultor especialista no pode realizar operaes de negcios
se o uso dos consultores especialistas no terminal do cliente no estiver
permitido (boto "Auto Negociao").
A maior parte dos nossos cdigos que iro implementar a nossa estratgia de
de negcios, desenvolvidos anteriormente, sero escritos nessa seo.
Agora que j observamos as vrias sees do cdigo para o nosso CE, vamos
comear a adicionar mais contedo a este esqueleto.
2.2 SEO DE PARMETROS DE ENTRADA
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
9 de 36
https://www.mql5.com/pt/articles/100
/*
Esse um comentrio de vrias linhas
*/
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
10 de 36
https://www.mql5.com/pt/articles/100
int OnInit()
{
//--- Get handle for ADX indicator
adxHandle=iADX(NULL,0,ADX_Period);
//--- Get the handle for Moving Average indicator
maHandle=iMA(_Symbol,_Period,MA_Period,0,MODE_EMA,PRICE_CLOSE
//--- What if handle returns Invalid Handle
if(adxHandle<0 || maHandle<0)
{
Alert("Error Creating Handles for indicators - error: ",GetLastEr
}
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
11 de 36
https://www.mql5.com/pt/articles/100
Por favor, leia o manual do MQL5 para obter mais detalhes sobre essas funes
do indicador. Ele lhe dar um melhor entendimento de como utilizar cada
indicador.
Ns novamente tentamos verificar a presena de qualquer erro caso a funo
no tenha devolvido a cotao com sucesso, ns receberemos um erro
INVALID_HANDLE. Usamos a funo de alerta para exibir o erro utilizando a
funo GetlastError.
//--- Let us handle currency pairs with 5 or 3 digit prices instead of
STP = StopLoss;
TKP = TakeProfit;
if(_Digits==5 || _Digits==3)
{
STP = STP*10;
TKP = TKP*10;
}
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
12 de 36
https://www.mql5.com/pt/articles/100
//+------------------------------------------------------------------+
//| Expert tick function
|
//+------------------------------------------------------------------+
void OnTick()
{
// Do we have enough bars to work with
if(Bars(_Symbol,_Period)<60) // if total bars is less than 60 bars
{
Alert("We have less than 60 bars, EA will now exit!!");
return;
}
// We will use the static Old_Time variable to serve the bar time.
// At each OnTick execution we will check the current bar time with the
// If the bar time isn't equal to the saved time, it indicates that we
static datetime Old_Time;
datetime New_Time[1];
bool IsNewBar=false;
//--- Define some MQL5 Structures we will use for our trade
MqlTick latest_price;
// To be used for getting recent/latest pr
MqlTradeRequest mrequest; // To be used for sending our trade reque
MqlTradeResult mresult;
// To be used to get our trade results
MqlRates mrate[];
// To be used to store the prices, volumes
ZeroMemory(mrequest);
// Initialization of mrequest structure
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
13 de 36
https://www.mql5.com/pt/articles/100
funo OnTick. Ento seremos capazes de comparar o seu valor com a varivel
New_Time (tambm do tipo de dados datetime), que um arranjo de um
elemento para manter o novo (atual) tempo da barra. Tambm declaramos
uma varivel de tipo de dados bool IsNewBar e configuramos seu valor para
false. Isto porque queremos que esse valor seja VERDADEIRO apenas quando
ns possuirmos uma nova barra.
Utilizamos a funo CopyTime para conseguir o tempo da barra atual. Ela copia
o tempo da barra para o arranjo New_Time com um elemento, se ele for bem
sucedido, ns comparamos o tempo de uma nova barra com o tempo da barra
anterior. Se os tempos no forem iguais, isso significa que temos uma nova
barra, e configuramos a varivel IsNewBar para VERDADEIRO e salvamos o
valor do tempo da barra atual para a varivel Old_Time.
A varivel IsNewBar indica que temos uma barra nova. Se for falso,
terminamos a execuo da funo OnTick.
D uma olhada no cdigo:
if(MQL5InfoInteger(MQL5_DEBUGGING)) Print("We have new bar here "
em uma nova varivel, Mybars, declarada dentro da funo OnTick. Esse tipo
de varivel uma varivel local, ao contrrio da varivel que ns declaramos na
seo de PARMETROS DE ENTRADA do nosso cdigo. Enquanto as variveis,
declaradas na seo de parmetros de entrada do nosso cdigo, esto
disponveis para todas as funes dentro do nosso cdigo que possam precisar
delas, variveis declaradas dentro de uma nica funo so limitadas e
disponveis para aquela funo somente. Ela no pode ser utilizada fora daquela
funo.
A seguir, ns declaramos algumas variveis do tipo de estrutura do MQL5
que sero utilizadas nessa seo do nosso CE. O MQL5 possui um nmero
grande de estruturas integradas que torna as coisas bem fceis para os
desenvolvedores do CE. Vamos fazer as estruturas uma aps a outra.
MqlTick
Essa uma estrutura utilizada para armazenar os preos mais recentes de
smbolos.
struct MqlTick
{
datetime time; // Hora da ltima atualizao dos preos
double bid; // preo de compra (Bid) atual
double ask; // Preo de venda (Ask) atual
double last; // Preo da ltima negociao (Last)
ulong volume; // Volume para o ltimo preo atual
};
Qualquer varivel declarada como sendo do tipo MqlTick pode ser facilmente
utilizada para obter os valores atuais de Venda (Ask), Compra (Bid), ltima
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
14 de 36
https://www.mql5.com/pt/articles/100
struct MqlRates
{
datetime time; // Period start time
double open; // Open price
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
15 de 36
https://www.mql5.com/pt/articles/100
Let's make sure our arrays values for the Rates, ADX Values and MA
is store serially similar to the timeseries array
*/
// the rates arrays
ArraySetAsSeries(mrate,true);
// the ADX DI+values array
ArraySetAsSeries(plsDI,true);
// the ADX DI-values array
ArraySetAsSeries(minDI,true);
// the ADX values arrays
ArraySetAsSeries(adxVal,true);
// the MA-8 values arrays
ArraySetAsSeries(maVal,true);
Deve-se notar que isso tambm pode ser feito uma vez na seo de
inicializao do nosso cdigo. No entanto, eu decidi mostrar isso nesse
momento para o bem da nossa explicao.
//--- Get the last price quote using the MQL5 MqlTick Structure
if(!SymbolInfoTick(_Symbol,latest_price))
{
Alert("Error getting the latest price quote - error:",GetLastErro
return;
}
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
16 de 36
https://www.mql5.com/pt/articles/100
mrate[bar_number].bar_property
//--- Copy the new values of our indicators to buffers (arrays) using t
if(CopyBuffer(adxHandle,0,0,3,adxVal)<0 || CopyBuffer(adxHandle,
|| CopyBuffer(adxHandle,2,0,3,minDI)<0)
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
17 de 36
https://www.mql5.com/pt/articles/100
// Symbol name
property_id
// Property identifier
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
18 de 36
https://www.mql5.com/pt/articles/100
// Copy the bar close price for the previous bar prior to the current b
p_close=mrate[1].close;
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
19 de 36
https://www.mql5.com/pt/articles/100
request
// query structure
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
20 de 36
MqlTradeResult&
);
https://www.mql5.com/pt/articles/100
result
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
21 de 36
https://www.mql5.com/pt/articles/100
tipo bool para cada uma de nossas condies que devem ser atendidas antes
que uma ordem possa ser colocada. Uma varivel do tipo boll pode apenas
conter VERDADEIRO ou FALSO. Ento a nossa estratgia de venda foi
quebrada em quatro condies. Se qualquer uma das condies for atendida ou
satisfeita, ento um valor de VERDADEIRO armazenado em nossa varivel
do tipo bool, de modo contrrio, um valor de FALSO ser armazenado. Vamos
olhar para elas uma a uma como ns fizemos para a seo de compra.
bool Sell_Condition_1 = (maVal[0]<maVal[1]) && (maVal[1]<maVal[
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
22 de 36
https://www.mql5.com/pt/articles/100
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
23 de 36
https://www.mql5.com/pt/articles/100
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
24 de 36
https://www.mql5.com/pt/articles/100
A primeira coisa que o editor faz compilar o cdigo, se houver qualquer erro
no ponto, ele ir exibi-lo e se no houver erro, ele ir lhe avisar que o cdigo foi
compilado com sucesso.
Por favor observe que o fato de que o cdigo compilou com sucesso no
significa que no existem erros no seu cdigo. Dependendo de como o cdigo
escrito, podem haver erros de execuo. Por exemplo, se qualquer uma das
nossas expresses no avalia corretamente devido a qualquer pequeno
descuido, o cdigo ir compilar corretamente porm pode no executar
corretamente. Muita conversa, vamos ver em ao...
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
25 de 36
https://www.mql5.com/pt/articles/100
Uma vez que o depurador terminou de compilar o cdigo, ele leva voc para o
terminal de comercializao, e anexa o CE ao grfico que voc especificou nas
configuraes das opes do MetaEditor. Ao mesmo tempo, ele mostra para
voc a seo de parmetros de entrada do EA. J que no ainda no estamos
ajustando nada, apenas clique no boto OK.
Voc notar uma seta verde na linha do cdigo. Isso lhe diz que a linha de
cdigo anterior foi executada; estamos agora prontos para executar a linha
atual.
Deixe-me fazer algumas explicaes antes de prosseguirmos. Se voc olhar a
barra de ferramentas do editor, voc observar que os trs botes com setas
curvas que estavam anteriormente em cinza agora esto ativados. Isso
porque estamos agora executando o depurador. Esses botes so utilizados
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
26 de 36
https://www.mql5.com/pt/articles/100
O passar por cima, por outro lado no entra na chamada funo dentro
daquela linha de cdigo. clique no boto ou pressione F10 para invocar o
comando
Par executar o passo do programa que um nvel acima, voc clica nesse boto
ou pressiona Shift+F11.
Tambm, na parte inferior do editor, voc ver a janela da caixa de
ferramentas. A aba de depurao nessa janela possui os seguintes
cabealhos:
Arquivo: Isso exibe o nome do arquivo chamado;
Funo: Isso exibe a funo presente do arquivo chamado;
Linha: Isso exibe o nmero da linha de cdigo no arquivo do qual a
funo chamada;
Expresso: Isso onde voc pode digitar o nome de qualquer
expresso/varivel que voc est interessado em monitorar do nosso
cdigo;
Valor: Isso ir exibir o valor da expresso/varivel que ns digitamos na
rea de expresso;
Tipo: Isso exibir o tipo de dados da expresso/varivel que foi
monitorada.
De volta ao processo de depurao...
A prxima coisa que queremos fazer agora inserir as variveis/expresses do
nosso cdigo que ns estamos interessados em monitorar. Certifique-se de
apenar monitorar variveis/expresses que realmente importam para o seu
cdigo. Por exemplo, monitoraremos as seguintes:
Old_Time (tempo antigo da barra);
New_Time[0] (tempo atual da barra);
IsNewBar (bandeira que indica a nova barra);
Mybars (total de barras no histrico) O nosso CE depende disso.
Voc pode adicionar outras como os valores ADX, os valores MA-8, etc.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
27 de 36
https://www.mql5.com/pt/articles/100
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
28 de 36
https://www.mql5.com/pt/articles/100
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
29 de 36
https://www.mql5.com/pt/articles/100
Uma vez que h uma nova variao, ela retornar para a primeira linha do
cdigo na funo OnTick(). E todos os valores das nossas variveis/expresses
agora sero reiniciados porque essa uma nova varivel se qualquer um deles
for declarado como uma varivel esttica. Em nosso caso possumos uma
varivel esttica Old_Time.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
30 de 36
https://www.mql5.com/pt/articles/100
Acho que voc pode deixar o CE (EA) trabalhando por mais alguns minutos
enquanto voc toma um caf. Quando voc estiver de volta e tiver ganhado
algum dinheiro (brincadeira), ento clique no boto PARAR (vermelho) no
MetaEditor para parar a depurao.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
31 de 36
https://www.mql5.com/pt/articles/100
O que ns fizemos de fato aqui ver que o nosso CE apenas procura uma
operao de comercializao na abertura de uma nova barra e que o nosso CE
funciona de fato. H muito espao para ajustes ao cdigo do nosso CE.
Preciso deixar claro, nesse ponto, que o terminal de comercializao deve ser
conectado internet, caso contrrio, a depurao no funcionar porque o
terminal no capaz de comercializar.
3.2 Testando a nossa estratgia de CE
Agora nesse momento queremos testar o nosso CE utilizando o verificador de
estratgia integrado no terminal de comercializao. Para iniciar o testador de
estratgia, pressione CONTROL+R ou clique no menu Visualizar na barra do
menu do terminal e clique em verificador de estratgia como mostrado abaixo.
O ponteiro do mouse muda para uma seta com ponta dupla, segure o mouse e
arraste a linha para cima. Pare quando voc descobrir que voc pode ver tudo
na aba de configuraes.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
32 de 36
https://www.mql5.com/pt/articles/100
Aba jornal
aonde todos os eventos ocorrendo durante o perodo de teste so exibidos
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
33 de 36
https://www.mql5.com/pt/articles/100
Aba de entradas
Aqui onde voc pode especificar os parmetros de entrada para o CE.
Aba resultados
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
34 de 36
https://www.mql5.com/pt/articles/100
Uma vez que o teste estiver completo, voc ver outra aba chamada
resultados. Mude para a aba resultados e voc ver o resumo do teste que
ns acabamos de fazer.
Figura 34. A aba dos resultados do verificador de estratgia mostrando o resumo dos resultados do teste
Voc pode ver o lucro bruto total, lucro lquido, comercializaes totais,
comercializaes de perda total e muito mais. muito interessante ver que
temos cerca de out USD 1,450.0 dentro do perodo que foi selecionado para o
nosso teste. Ao menos temos um poco de lucro.
Deixe-me tornar uma coisa muito clara para voc aqui. Voc descobrir que as
configuraes para os parmetros CE que voc v no verificador de estratgia
diferente das configuraes iniciais nos parmetros de entrada do CE. Eu acabei
de demonstrar para voc que possvel mudar qualquer um desses parmetros
de entrada para conseguir o melhor do seu CE. Ao invs de utilizar um perodo
de 8 cada para a mdia mvel e ADX, eu mudei para 10 para a mdia mvel e
14 para o ADX. Eu tambm mudei a stop loss de 30 para 35. Por ltimo, mas
no menos importante, decidi utilizar um cronograma de 2 horas. Lembre-se,
esse o verificador de estratgia.
Se voc quer visualizar um relatrio completo do teste, ento clique direito em
qualquer local da aba resultados, voc ver um menu. Desse menu, selecione
Salvar e relatar.
A janela de dilogo salvo aparecer, digite um nome para o seu relatrio (se
quiser, caso contrrio deixe o nome padro) e clique no boto salvar. Todo o
relatrio ser salvo no formato HTML para voc.
Para visualizar o grfico para o teste que foi realizado, clique em abrir grfico
e voc ver o grfico exibido.
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
35 de 36
https://www.mql5.com/pt/articles/100
Concluso
Nesse guia passo a passo ns conseguimos visualizar as etapas bsicas
necessrias para escrever um consultor especialista simples baseado em uma
estratgia de comercializao desenvolvida. Ns tambm vimos como verificar o
nosso CE para erros utilizando o depurador. Tambm discutimos como testar o
desempenho do nosso CE utilizando o verificador de estratgia. Com isso,
conseguimos ver o poder e robustez da nova linguagem MQL5. O nosso CE
ainda no perfeito ou completo j que muitos outros ajustes precisam ainda
ser feitos de forma a utilizar ele para comercializaes reais.
Ainda h mais a aprender e eu quero que voc leia o artigo vrias vezes
juntamente com o manual do MQL5, e tente tudo que voc aprendeu nesse
artigo, eu posso lhe assegurar que voc ser um timo desenvolvedor de CE em
um futuro prximo.
Feliz programao.
Traduzido do Ingls por MetaQuotes Software Corp.
Artigo original: https://www.mql5.com/en/articles/100
Arquivos anexados |
Download ZIP
my_first_ea.mq5
(11.86 KB)
Aviso: Todos os direitos a estes materiais so reservados a MQL5 Ltd. A cpia ou reimpresso destes materiais, no todo
08/12/2015 01:19
'Guia passo a passo para iniciantes para escrever um Expert Advisor n...
36 de 36
Windows
iPhone/iPad
Mac OS
https://www.mql5.com/pt/articles/100
Android
Linux
Estratgia para Linguagem MQL5 | Biblioteca de Cdigo Fonte | Como escrever um Expert Advisor ou um
indicador | Encomendar o Desenvolvimento de um Expert Advisor
Download MetaTrader 5 | Plataforma de Negociao MetaTrader 5 | Loja de Aplicativos | MQL5 Cloud Network
Sobre | Histria do Site | Termos e Condies | Poltica de Privacidade | Contatos
Copyright 2000-2015, MQL5 Ltd.
08/12/2015 01:19