Um método para o desenho dos níveis de apoio/resistência
Introdução
Os níveis de apoio/resistência são uma ferramenta básica usada por quase todos os traders. Estes níveis podem ser encontrados na maioria dos prognósticos, e todo trader deve ser capaz de detectá-los de modo independente.
Este artigo descreve o processo de criação de um script simples para a detecção dos níveis de apoio/resistência. Ele foi escrito para iniciantes, e você encontrará uma explicação detalhada de cada estágio do processo. Contudo, apesar do script ser bastante simples, o artigo também será útil para traders avançados e usuários da plataforma MetaTrader 4. Ele contém exemplos da exportação de dados para o formato tabular, da importação da tabela para o Microsoft Excel, e do delineamento de gráficos para a realização de uma análise mais detalhada.
Níveis de apoio/resistência
Abaixo, você pode ver os dois níveis de apoio/resistência.
Você pode encontrar evidências disso na figura abaixo.
Os cálculos não são muito difíceis. Como resultado, nós temos uma correlação entre cada preço e o número de barras que cruzaram este preço. Agora nós encontramos o problema da forma de exibição desses resultados. Não é possível fazer isso no MetaTrader usando o gráfico indicador, pois não precisamos de um gráfico de preços sobre o tempo, mas de um gráfico de barras sobre o preço. É por isso que nós precisamos exportar os dados e analisá-los em um programa diferente.
Criação de um script
Primeiro, nós precisamos criar um novo script.
Para fazer isso, vamos até a janela "navegador", clicar com o botão direito sobre a seção "scripts", e então selecionar o comando "criar". Um nova janela irá aparecer. Assegure-se de que o tipo de programa que você irá criar é o script, e então clique sobre o botão "próximo".
Em seguida, você deverá inserir o nome do script e os seus parâmetros. Após clicar sobre o botão "finalizar", você pode começar a escrever o script.
Escrita do script
O código fonte do script não contém mais do que vinte linhas:
//+------------------------------------------------------------------+ //| ExportLevels.mq4 | //| Copyright © 2006, MetaQuotes Software Corp. | //| https://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, MetaQuotes Software Corp." #property link "https://www.metaquotes.net" #property show_inputs extern int MaxLimit = 1000; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { int handle; handle = FileOpen("FindLevels.txt", FILE_CSV|FILE_WRITE, '\t'); FileWrite(handle, "Cost", "Bars Num"); double d1 = Low[iLowest(NULL, 0, MODE_LOW, MaxLimit, 0)]; double d2 = High[iHighest(NULL, 0, MODE_HIGH, MaxLimit, 0)]; for (double d = d1; d d2; d += 0.0001) { double a = 0.0; for(int i = 0; i MaxLimit; i++) if(d > Low[i] && d High[i]) a+=1; FileWrite(handle, d, a); } FileClose(handle); return(0); } //+------------------------------------------------------------------+
O script consiste em uma única função, start(). Ela é executada sempre que você chama o script. Abaixo você pode encontrar uma explicação detalhada do código fonte:
#property show_inputs extern int MaxLimit = 1000;
A primeira linha especifica que, antes de executar o script, o usuário precisará selecionar parâmetros externos. De fato, há um único parâmetro definido na segunda linha. O MaxLimit lida com o número de barras do histórico que são usadas pelo programa. Ele é 1000 por padrão, mas o usuário pode alterá-lo a qualquer momento.
int handle; handle = FileOpen("FindLevels.txt", FILE_CSV|FILE_WRITE, '\t'); FileWrite(handle, "Cost", "Bars Num");
As primeiras duas linhas da função start() tratam da abertura do arquivo “FindLevels.txt” com os parâmetros FILE_CSV (isso significa que o arquivo é uma tabela de texto) e FILE_WRITE (isso significa que o arquivo é aberto para a escrita). O parâmetro ‘\t’ indica que os dígitos do arquivo serão divididos com tabulação. Nós teremos duas colunas no arquivo: a primeira é "Cost" (custo) - o preço, a segunda é "Bars Num" - o número de barras cruzando este preço. Usando a função FileWrite(), nós escrevemos os nomes das colunas no arquivo “FindLevels. txt".
double d1 = Low[iLowest(NULL, 0, MODE_LOW, MaxLimit, 0)]; double d2 = High[iHighest(NULL, 0, MODE_HIGH, MaxLimit, 0)];
Em seguida, nós encontramos o preço mínimo e o preço máximo, da barra zero até a barra com o número MaxLimit no histórico. O iLowest() mostra o índice da barra, no qual o preço mais baixo pode ser encontrado. Um Low[] é o valor de preço mais baixo para esta barra. Siga o mesmo procedimento em relação ao iHighest() e High[].
for (double d = d1; d <= d2; d += 0.0001) { double a = 0.0; for(int i = 0; i < MaxLimit; i++) if(d > Low[i] && d < High[i]) a+=1; FileWrite(handle, d, a); }Após isso, nós temos um ciclo "para". Este ciclo executa os preços, do preço mínimo d1 ao preço máximo d2, com o passo de 0,0001. A variável "a" é o número das barras cruzando o preço "d". O segundo ciclo fechado executa as barras MaxLimit do histórico e verifica se elas cruzam o preço "d". Após o fim do ciclo fechado, o procedimento FileWrite escreve o preço "d" e o número de barras "a" no arquivo.
FileClose(handle); return(0);
Ao fim do procedimento start(), nós fechamos o arquivo e finalizamos o procedimento através do uso da função return(). Após termos escrito o script, nós podemos compilá-lo clicando sobre o botão "compilar", e executá-lo no MetaTrader, a partir da seção "scripts" da janela "navegador".
Arquivo com Excel
Após chamar o script, o programa cria o arquivo “FindLevels.txt” na pasta “\experts\arquivos\”. Vamos abri-lo com o Excel. Para fazer isso, nós precisamos executar o Microsoft Excel e clicar sobre o botão "abrir", e então selecionar o tipo de arquivo "arquivos de texto", encontrar o arquivo de que precisamos e clicar sobre o botão "abrir".
Nós não precisamos fazer alterações nas duas primeiras janelas, simplesmente clique sobre o botão "próximo".
Na terceira janela, clique sobre o botão "avançado", selecione o símbolo do ponto final (".") para o ponto decimal e o símbolo ' (apóstrofe) para o ponto milesimal. Em seguida, clique em "ok" e "finalizar".
Como resultado, temos as duas colunas no Excel: Agora nós temos que delinear o gráfico. Escolha "inserir"->"gráfico".
A última coisa que temos que fazer é selecionar o tipo do futuro gráfico e o seu tipo de exibição.
Finalmente, nós temos o gráfico de barras sobre o preço.
Você pode ver que os mínimos do gráfico estão localizados nos pontos 1,2582, 1,2616, 1,2644, 1,2705, 1,2712, 1,2730, 1,2744, 1,2850, 1,2879. Estes são os níveis de apoio/resistência.
Nós podemos compara os resultados de 10.11.2006 com os da data anterior, 9.10. 2006:
RES 4 $1,2880 o máximo de 31 de agosto
RES 3 $1,2865 1,618 o balanço alvo após a queda de 1,2795 para 1,2680
RES 2 $1,2830 Fibonacci 76,4% de 1,2940 para 1,2485
RES 1 $1,2805 a resistência horária
Nível atual: 1,2760
SUP 1 $1,2745 a linha da tendência ascendente de 3 semanas
SUP 2 $1,2730 Fibonacci 61,8% de 1,2680 para 1,2820
SUP 3 $1,2715 Fibonacci 76,4% de 1.2680 para 1.2820
SUP 4 $1,2680 o mínimo de 3 de novembro
Como podemos ver, nós temos uma boa correlação entre o gráfico e os prognósticos. Isso significa que os níveis que encontramos realmente são os níveis de apoio/resistência!
Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1439
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso