Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Com MQL5 para Metatrader5 criamos um Expert Advisor que pode escrever valores de preços num ficheiro csv de folha de cálculo que é criado a partir do código deste vídeo…
Neste vídeo, vamos escrever os dados de preços numa folha de cálculo como esta directamente a partir da MQL5. Então, vamos descobrir como fazer isso. Para começar, por favor clique no pequeno ícone aqui, ou prima F4 no seu teclado. Agora deve ver a janela do meta editor e aqui quer clicar em File, New File, Expert Advisor from template, Continue. Vou chamar a este ficheiro, SimpleSpreadsheetWriter, clicar em Continuar, Continuar e Terminar. Agora pode apagar tudo o que está acima da função OnTick e as duas linhas de comentário aqui. Começamos por criar variáveis estáticas para o último alto e o último baixo. Uma variável estática lembrar-se-á do valor dentro desta função enquanto o nosso Expert Advisor estiver a funcionar. Posteriormente, usamos MqlRates para criar uma matriz de informação de preços. Porque o MqlRates é uma estrutura que armazena a informação sobre preços, volumes, e spread.
Posteriormente, utilizamos o ArraySetAsSerries para resolver a matriz de informação de preços a partir da vela actual para baixo. E agora podemos preencher a matriz utilizando o CopyRates. Para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico, queremos começar com a vela zero e copiar os dados de preços para três velas no nosso sistema de informação de preços. Agora vamos verificar se temos uma vela nova, e seria esse o caso se o valor da última vela fosse diferente do valor elevado da vela um na nossa matriz de informação de preços. E também queremos verificar se o último valor baixo é diferente do valor baixo para a vela um na nossa tabela de preços.
Agora podemos começar a escrever o nosso ficheiro, e para isso precisamos primeiro de definir um nome para o ficheiro. Vou chamar este ficheiro, folha de cálculo.csv, CSV é uma extensão de ficheiro que é reconhecida pela maioria dos programas de cálculo de folha de cálculo como Excel ou LibreOffice. Penso que significa Valores Separados por Vírgulas. Agora que já definimos o nome que queremos abrir o ficheiro. Isto pode ser feito utilizando FileOpen. E FileOpen tentará abrir o ficheiro e se este não existir, criará um para o nome da nossa folha de cálculo que definimos aqui, e precisamos de passar alguns parâmetros, FILE_READ e FILE_WRITE abrirá o ficheiro para acesso de leitura e escrita. Este é o modo de ficheiro, chama-se FILE_CSV, e vamos utilizar o modo ANSI para escrever o ficheiro.
Agora, quando marcar isso e premir F1, aprenderá que podemos usar o modo ANSI ou o modo Unicode. O Unicode seria necessário para caracteres especiais como o Umlauts alemão. Mas como vamos utilizar textos simples e alguns números , ANSI está bem, vamos escrever um ficheiro CSV, mas poderá também criar um ficheiro de texto. E se conseguimos abrir o ficheiro, precisamos agora de ir até ao fim do ficheiro, o que pode ser feito utilizando FileSeek. Para a nossa manipulação do ficheiro que criámos aqui, começamos com a primeira entrada que é o índice zero, e queremos procurar o fim do ficheiro, procurar o fim fará isso e levar-nos-á ao último carácter do ficheiro. Quero fazer isso porque quero anexar os valores e não apagar o conteúdo anterior do ficheiro. E isso pode ser feito utilizando FILE_WRITE_WRITE.
Para o manuseamento do ficheiro da folha de cálculo, estamos a utilizar vírgulas. Vou escrever um texto descritivo seguido do valor para a vela na nossa matriz de informação de preços. E a primeira é a hora. Isto irá criar um carimbo de tempo, seguido da descrição alta para o preço alto da vela um na nossa matriz de informação de preços, e depois a baixa para a vela um, poderá anexar outros valores se estiver interessado. Por exemplo, para o preço aberto e o preço fechado. Depois de termos escrito o conteúdo, queremos utilizar FileClose para fechar a nossa folha de cálculo até que a vela seguinte apareça. E para descobrir se a vela mudou, vamos agora atribuir o preço elevado da vela um na nossa matriz de informação de preços à variável última alta, e o preço baixo da vela um na nossa matriz de informação de preços à última baixa, porque os valores actuais da vela um serão os últimos valores da próxima vez que esta função for chamada.
Vamos acrescentar aqui uma declaração de comentário para o último alto e o último baixo. Portanto, temos uma saída gráfica enquanto o Expert Advisor está a funcionar, e basicamente é isso. Se isto foi demasiado rápido para si, ou se não tem ideia do que todo o código aqui faz, talvez queira ver um dos outros vídeos básicos, ou talvez até o curso premium no nosso website possa ser interessante para si. Por agora, queremos clicar em View, ToolBar e clicar em Compile ou pressionar F7. Isto deve funcionar sem erros e se for esse o caso, pode clicar no botão aqui ou premir F4 para voltar ao MetaTrader. E no MetaTrader vai querer clicar em View Strategy Tester ou carregar em Control e R. Por favor escolha o novo ficheiro, SimpleSpreadsheetWriter.ex5, marque a opção para o modo visual e comece o seu teste.