Última Hora: "Reserva Federal reúne-se atenta a inflação persistente - Expresso" Mon, 18 Mar 2024 07:00:00 GMT    "Banco central da Suíça corta taxa de juro, antecipando-se ao BCE e Fed - ECO" Thu, 21 Mar 2024 12:44:47 GMT    "Euro baixa ligeiramente após decisões da Reserva Federal - Notícias ao Minuto" Thu, 21 Mar 2024 18:49:00 GMT    "Europa ganha balanço. Stoxx 600 em máximos históricos - Jornal de Negócios" Thu, 21 Mar 2024 18:02:09 GMT    "Banco do Japão põe fim a oito anos de taxas de juro negativas - Público" Tue, 19 Mar 2024 12:33:23 GMT    "Moody?s: taxas do BCE vão levar ano e meio a descer e ficam em 2% - Diário de Notícias" Wed, 06 Mar 2024 08:00:00 GMT    "Banco de Inglaterra mantém taxas de juro pela 5ª vez consecutiva - Idealista" Fri, 22 Mar 2024 11:13:34 GMT    "Ainda não será hoje que BCE começa a descer taxas de juro. Nova aposta é que primeiro corte vai acontecer em junho - CNN Portugal" Thu, 07 Mar 2024 08:00:00 GMT    "BCE mantém taxas de juro inalteradas - Euronews" Thu, 25 Jan 2024 08:00:00 GMT    "Reserva Federal não desce juros mas, apesar da inflação "demasiado elevada", mantém previsão de baixar três vezes ... - Observador" Wed, 20 Mar 2024 07:00:00 GMT      Para mais notícias, clique aqui.

Área de Acesso
       
       
Lembrar Sempre 
(Login Canal Forex & Bolsa PT)


Bem vindo ao Canal Forex.
Bem vindos ao Fórum do Portal BolsaPT! Inscrevam-se e participem na nossa comunidade, poderão pedir opiniões e Análises Técnicas às vossas acções, colocar dúvidas, aprender, partilhar ideias, ajudar outros, etc. Além das cotações, gráficos, análise técnica interactiva, históricos, terão simulação de carteiras, alarmes, e muito mais virá no futuro. Lembre-se que se pode logar com o seu login CanalForex!


Sistemas de Trading Mecânicos para Forex Para todos os que pretendem trocar ideias sobre sistemas de trading, trading automatizado, criação de indicadores customizados, combinação de indicadores, linguagens de programação para trading, etc...

Responder
 
Opções
  #1  
Velho 23-07-2009, 23:22
VAM VAM encontra-se desligado
Moderador Forex
 
About:
Data de Adesão: Feb 2008
Mensagens: 0
Por Defeito Iniciação à programação em MQL4

Com a popularização dos sistemas de trading automático, particularmente através da plataforma MetaTrader, são cada vez mais os que se interrogam como é que podem programar as suas estratégias ou apenas recolhas de informação mais simples de forma a automatizá-las.

Aquilo que recomendo vivamente é que se vá à fonte (the source), ou seja, ao livro do MQL4 que está disponível online em [URL="http://book.mql4.com/"]http://book.mql4.com/[/URL]

De qualquer forma pretendo com este post mostrar os passos básicos de como é que se constrói e usa um programa no MetaTrader para que seja mais fácil para todos compreender o que é que se deve fazer com linhas de programação que tenham sido ou venham a ser partilhadas no futuro e até quem sabe um dia construir EAs inteiros em conjunto.

O MetaTrader já tem um compilador da linguagem MQL4 incorporado por isso para passarem para a parte de programação basta clicarem no botão MetaEditor (Ponto de exclamação dentro do losango):

Nome:  Editor.jpg
Vistos: 93
Area:  15,4 KB

Se é a primeira vez que abrem o MetaEditor devem estar a ver o código de um dos dois EAs disponibilizados pela MetaQuotes: a Moving Average e a MACD. Clicam em New que é logo o primeiro botão à esquerda...

Nome:  New.jpg
Vistos: 93
Area:  5,6 KB

...e seleccionam que tipo de programa é que querem fazer. Neste caso será um script. Indicam o nome do script e o vosso nome e clicam em concluir.

Para este exemplo peguei na linha disponibilizada pelo afernandes noutro tópico para ver o spread de um par: double sprd =MarketInfo(Symbol(),MODE_SPREAD);

Depois de clicarmos em Concluir surge logo o corpo do script com o nome que escolhemos e o nosso e neste caso apenas uma função Start já que um script pressupõe que o programa só será executado uma vez. No caso de um EA também teria as funções Init e Deinit para a primeira e última vezes em que o EA corresse já que a função Start irá ser activada por defeito cada vez que o mercado se mova (cada tick).

Para fazer então funcionar a linha de programação mencionada basta colocá-la no interior (entre os {}) da função Start e antes do comando return. Coloquei também a linha Alert(sprd); para que o valor identificado na linha anterior seja divulgado no ecrã quando o script for executado.

Nome:  Compilar.jpg
Vistos: 93
Area:  21,0 KB

Quando estamos satisfeitos com o programa clicamos em Compile e se surgir a mensagem 0 error(s), 0 warning(s) está tudo bem pelo menos do ponto de vista da compilação.

Para utilizar o novo script voltamos à plataforma e abrimos o Navigator (botão com uma pasta e uma estrela) e abrimos o grupo scripts que deverá ser o último e parece um pergaminho.

Nome:  Navigator.jpg
Vistos: 93
Area:  14,1 KB

Lá no meio localizamos o nosso script e para o activar clicamo-lo e arrastamo-lo para o gráfico onde o queremos executar. Neste caso em concreto o resultado será um pop-up com a indicação de qual é o spread do par:

Nome:  Alert.jpg
Vistos: 92
Area:  5,9 KB

Este valor está em pipettes e não em pips porque este broker em concreto decidiu acrescentar mais uma casa decimal às cotações, logo o spread neste caso é 4 pips para o USDCAD.

Temos assim um programa bastante simples mas que nos permite obter de imediato uma informação importante. Se mantivermos a mesma estrutura substituindo apenas o termo MODE_SPREAD na primeira linha podemos obter uma série de outras informações. Experimentem por exemplo com MODE_ASK, MODE_BID, MODE_POINT, MODE_STOPLEVEL, MODE_LOTSIZE, MODE_MINLOT, MODE_MAXLOT, etc.
Responder com Quote
  #2  
Velho 24-07-2009, 07:01
Avatar de afernandes
afernandes afernandes encontra-se desligado
Sénior
 
About:
Data de Adesão: Sep 2007
Mensagens: 0
Por Defeito

E continuando o que ensina o VAM...
Além do Alert(); poderíamos tb usar uma função muito recorrida que é o Comment();

O Alert(); abre um popup como mostra a imagem...
O Comment(); escreve o resultado no canto superior esquerdo. Portanto sempre visivel.

É de salientar que ambas as funções tem a particularidade de converter os diferentes tipos de variáveis ao tipo carácter. Só temos que separar diferentes tipos com a virgula.

Não temos pois que nos preocupar com este aspecto, embora logicamente o MT4 tenha as correspondentes funções de conversão.

Poderíamos assim colocar:
Alert('O spread actual é de ',sprd);
Comment('O spread actual é de ',sprd);

Há ainda funções para por o texto em qualquer parte do ecrán, com cor, tipo e tamanho de letra entre outras subtilezas. Mas já um é algo mais complicadilho.
__________________
AF
i9Forex.com
Responder com Quote
  #3  
Velho 24-10-2009, 10:04
nunoviseu nunoviseu encontra-se desligado
Novo Utilizador
 
About:
Data de Adesão: Oct 2009
Mensagens: 0
Por Defeito alguem pode ajudar a reprogramar este ea

ele abre posições sem parar. o que eu quero é que ele abra 6 posições e quando abre a 7 seja de igual valor da primeira mas feche a primeira. isto porque se trata de um ea martingale. assim teremos no maximo 6 posições abertas e não rebentamos a conta.
muito obrigado pelo tempo e cuidado dispensado. junto ea que é livre no forum tsd. chama-se fredmon pip10p3+.mq4.não consegui carregar o ficheiro
Responder com Quote
  #4  
Velho 25-10-2009, 19:53
Avatar de afernandes
afernandes afernandes encontra-se desligado
Sénior
 
About:
Data de Adesão: Sep 2007
Mensagens: 0
Por Defeito

Vejamos...

Você pode limitar o numero de posições abertas em simultâneo.

Pode colocar uma var global nos externs..

extern int nPos = 7;

E depois antes da função de abertura, testar

int nP = OrdersTotal();
if( nP < nPos ) {
// Só entra aqui se o nº de ordens aberta é inferior a nPos
if (Abrir==1) { fOpenS();return(0);}
if (Abrir==2) { fOpenB();return(0);}
}


OrdersTotal(); // Dá o numero de ordens abertas. TODAS de qualquer PAR e Grafico.

Se não entende nada disto, aconselho a editar os EAs e procurar esta função OrdersTotal() e a lógica usada no seu uso.
Vai rapidamente ver como se usa.
__________________
AF
i9Forex.com
Responder com Quote
  #5  
Velho 31-10-2009, 19:19
bullinger bullinger encontra-se desligado
Novo Utilizador
 
About:
Data de Adesão: Oct 2009
Mensagens: 0
Por Defeito boa tarde

afonseca, estava pesquisando pela internet como poderia fazer o meu expert advisor e vejo que voce percebe de programação.

Tenho ando a analisar gráficos e tenho uma teoria que gostaria de poder passar para um ea, voce podia ajudar-me?

julgo que esta teoria seja mesmo muito boa, diga-me qlq coisa para o meu e-mail, poix n gostaria de expor aqui a teoria

obrigado

[email]jpedropimenta@hotmail.com[/email]
Responder com Quote
  #6  
Velho 01-11-2009, 08:48
Avatar de afernandes
afernandes afernandes encontra-se desligado
Sénior
 
About:
Data de Adesão: Sep 2007
Mensagens: 0
Por Defeito

Bullinger, suponho que se referia a AFernandes pois não vejo aqui nenhum AFonseca...

Com sinceridade, sim que sei algo de EAs, depois de testar milhares e fazer centenas... MAS ESTOU SEM DISPOSIÇÃO PARA PEGAR EM EAs.

Não é uma questão de TEMPO, que tenho, é não acreditar que um EA completamente automático seja lucrativo.
Eu uso um EA, mas é apenas um executor e alertador de situações.

Ao contrário, pelo menos o VAM, sim que aposta no EAs.
E acredito que tenha sucesso, que nos EAs, penso eu, tb funciona o principio do que funciona com um, não funciona forçosamente com outros.
Parece tudo muito automático, mas há questões como o risco, os PARES, as Horas e mais coisas de certeza que nao controlo)

De qualquer forma, agradeço a disponibilidade em compartir estratégias.
__________________
AF
i9Forex.com
Responder com Quote
  #7  
Velho 01-11-2009, 13:41
bullinger bullinger encontra-se desligado
Novo Utilizador
 
About:
Data de Adesão: Oct 2009
Mensagens: 0
Por Defeito pode ajudar-me

entao so queria que voce visse essa ea e me disse-se como a posso meter a funcionar, porque eu fiz o dowload e n consigo que ela funcione.

sabe que posso fazer?

[url]http://www.forexfactory.com/showthread.php?t=19073[/url]

está neste link, é necessário fazer uma alteração mas isso já consegui, só n consigo fazer mete-la a funcionar..


pode ajudar-me por favor???
Responder com Quote
  #8  
Velho 01-11-2009, 17:48
Avatar de afernandes
afernandes afernandes encontra-se desligado
Sénior
 
About:
Data de Adesão: Sep 2007
Mensagens: 0
Por Defeito

Sim...
Vou ver hoje ou amanha.. tá?
Já o baixei
AF
__________________
AF
i9Forex.com
Responder com Quote
  #9  
Velho 01-11-2009, 17:52
bullinger bullinger encontra-se desligado
Novo Utilizador
 
About:
Data de Adesão: Oct 2009
Mensagens: 0
Por Defeito

eu n sei se essa ea tem mais alguma analise, mas eu queria meter isso a funcionar só com bollinger a peridodo 10 e desviations 3 e shif 0 com aplicado ao fecho.

veja se é possivel funcionar com essa ea só com a analise das bollinger.

obrigado
Responder com Quote
  #10  
Velho 01-11-2009, 23:19
Avatar de afernandes
afernandes afernandes encontra-se desligado
Sénior
 
About:
Data de Adesão: Sep 2007
Mensagens: 0
Unhappy

O EA trabalha perfeitamente.

Há que levar em conta, que
se é testado em um broker de 5.º digito, como o Alpari, IBFX etc... se deve multiplicar o valor em:
TakeProfit e StopLossATR por 10
Ou seja em lugar dos 20 e 10 que lá estão, colocar 200 e 100 respectivamente.

Alem das Bandas de Bollinger usa tb o DeMarker e o ADX no que se refere à abertura de ordens.

No caso de querer alterar os valores para Bands... posso colocar 3 variáveis nos inputs para o Período, desviaçao e shift

Diga-me se efectivamente quer isso.

Uma coisa que não gostei... é que põe uns SLs exageradissimos... Mas tb opinar só na base dos testes históricos nao tem muita validade.
__________________
AF
i9Forex.com

Última edição de afernandes : 01-11-2009 às 23:57.
Responder com Quote
Responder

« Anterior | Seguinte »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Opções

Regras de Criação de Mensagens
não pode criar novos tópicos
não pode enviar respostas às mensagens
não pode adicionar ficheiros em anexo
não pode editar as suas mensagens
O Código vB está On
Smiles estão On
Código da [IMG] é On
Código HTML é Desligado
Ir Para o Fórum:

Tópicos Semelhantes
Tópico Início de Novo Tópico Fórum Respostas Última Mensagem
Metatrader - Multi Portfolio EA (MQL4) dev.englaender Fórum Geral de Forex 0 17-07-2013 14:09
MQL4,5 C#, Java dev.englaender Sistemas de Trading Mecânicos para Forex 0 11-07-2013 11:22
Programação para mt4 RedFish Fórum Geral de Forex 0 13-12-2010 23:17
Obter informações das ordens nos Expert Advisors em MQL4 Crashh Fórum Geral de Forex 0 08-04-2008 18:23


Todas horas estão no fuso horário GMT. A hora actual é 23:20.

Largura do Site:


Copyright@2007-2024 - CanalForex.com, todos os direitos reservados.