Indicador técnico

Como Criar Alertas de Preço no MetaTrader 5: Dicas Práticas
MetaTrader5
Como Criar Alertas de Preço no MetaTrader 5: Dicas Práticas

Você já imaginou poder ser avisado quando o preço de um ativo alcançar um valor específico? Com o novo indicador para o MetaTrader 5, isso é possível! Ele reconhece cliques do mouse e pressionamentos de teclado, permitindo que você crie alertas para preços que ainda não foram atingidos. Isso pode ser extremamente útil para validar suas teorias em um sistema de trading ou para ser notificado quando os preços-chave do mercado forem alcançados. 1. Após carregar o indicador no gráfico, você pode configurar um alerta de alta ou baixa, dependendo da sua necessidade. Além disso, é possível ajustar o fuso horário do alerta. O software utiliza GMT+3 por padrão, mas você pode alterá-lo para GMT, GMT+1 ou GMT+2. 2. Você tem a opção de criar um alerta básico através da janela de alertas, um alerta por notificação push que chega no aplicativo móvel do MT5, ou um alerta por e-mail. 3. Para criar o alerta, basta clicar com o botão esquerdo no gráfico. O local onde você clicar será o ponto de definição do alerta, que ficará bloqueado após a criação. 4. Se você desejar alterar a posição do alerta, pressione a tecla de seta para cima no teclado. Isso desbloqueará o alerta, permitindo que você clique em outro ponto do gráfico para reposicioná-lo. 5. Para redefinir o alerta, abra a janela do indicador e configure se precisa de um alerta de baixa ou alta. Novamente, use a tecla de seta para cima para desbloqueá-lo e clique no gráfico para fixar o alerta novamente. Os alertas são baseados na expectativa de que o preço cruzará um valor futuro. O objetivo desses alertas é validar a sua suposição sobre a direção do mercado. Alertas desse tipo, que sinalizam "cruzamento de preço", já podiam ser criados na plataforma TradingView, mas não no MetaTrader. EDIT: A versão atualizada (1.01) não exige que você configure se é um alerta de baixa ou alta; ela aplica lógica para focar apenas no cruzamento no limite de preço. Se você gostou, considere fazer uma doação! https://www.paypal.com/paypalme/fxcalculator

2024.05.11
Média Móvel Geométrica: Como Usar Este Indicador no MetaTrader 5
MetaTrader5
Média Móvel Geométrica: Como Usar Este Indicador no MetaTrader 5

A Média Móvel Geométrica é uma ferramenta poderosa para traders que buscam entender melhor as tendências do mercado. Mas, o que exatamente é essa média e como ela pode ajudar na sua estratégia de trading? Em termos simples, a média geométrica é uma forma de calcular o valor médio de um conjunto de números, usando o produto desses valores em vez da soma, como acontece com a média aritmética. Isso é particularmente útil quando lidamos com números que precisam ser multiplicados entre si ou que têm um caráter exponencial, como taxas de crescimento populacional ou retornos de investimentos ao longo do tempo. Esse tipo de média é especialmente relevante para traders, pois ajuda a calcular a taxa de crescimento anual composta (CAGR). A CAGR é a taxa que nos informa qual seria o crescimento constante necessário para alcançar um determinado valor final a partir de um valor inicial, ao longo de um período específico. Por que utilizar a Média Móvel Geométrica? Precisão nas Análises: Ela é mais adequada do que a média aritmética para descrever crescimentos proporcionais, que são comuns no mercado financeiro. Benchmarking: É uma ótima ferramenta para comparar taxas de crescimento e avaliar a performance relativa entre diferentes ativos. Identificação de Tendências: Ajuda a suavizar flutuações e a identificar tendências de longo prazo com mais clareza. Se você ainda não explorou o uso da Média Móvel Geométrica em suas operações no MetaTrader 5, talvez seja a hora de considerar essa possibilidade. Teste em uma conta demo e veja como ela pode se encaixar na sua estratégia de trading!

2024.04.28
Bollinger Bands Personalizadas para MetaTrader 5: Aprenda a Usar
MetaTrader5
Bollinger Bands Personalizadas para MetaTrader 5: Aprenda a Usar

Se você é trader e busca otimizar suas análises, as Bollinger Bands Personalizadas para MetaTrader 5 podem ser uma ótima adição ao seu arsenal. Desenvolvi este indicador como uma alternativa às tradicionais bandas de Bollinger, que só oferecem o método simples de média móvel. Com a minha versão, você pode escolher entre métodos adicionais como Exponencial, Suavizada e Linear Ponderada. Para instalar o indicador, basta colocá-lo em um diretório que siga o seguinte caminho no Windows: C:\Users\seu_usuario\AppData\Roaming\MetaQuotes\Terminal\Indicators\Examples Características adicionais: Por padrão, o indicador é definido como zero: Veja um exemplo de execução usando a média Linear Ponderada:    CÓDIGO: //+------------------------------------------------------------------+ //|                                               BBPersonalizada.mq5 | //|                                                       Lucas Vidal | //|                                              https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright   "Lucas Vidal" #property link        "https://www.mql5.com/en/users/lucasmoura00" #property description "Bollinger Bands Personalizada" #include <MovingAverages.mqh> //--- #property indicator_chart_window #property indicator_buffers 4 #property indicator_plots   3 #property indicator_type1   DRAW_LINE #property indicator_color1  LightSeaGreen #property indicator_type2   DRAW_LINE #property indicator_color2  LightSeaGreen #property indicator_type3   DRAW_LINE #property indicator_color3  LightSeaGreen #property indicator_label1  "Banda Média" #property indicator_label2  "Banda Superior" #property indicator_label3  "Banda Inferior" //--- parâmetros de entrada enum MovingAverageMethod {     Simples,    // 0     Exponencial,  // 1     Suavizada,     // 2     LinearPonderada  // 3 }; input MovingAverageMethod InpMaMethod = Simples; // Método da Média Móvel input int     InpBandsPeriod=20;       // Período input int     InpBandsShift=0         // Deslocamento input double  InpBandsDeviations=2.0  // Desvio //--- variáveis globais int           ExtBandsPeriod,ExtBandsShift; double        ExtBandsDeviations; int           ExtPlotBegin=0; //--- buffer do indicador double        ExtMLBuffer[]; double        ExtTLBuffer[]; double        ExtBLBuffer[]; double        ExtStdDevBuffer[]; //+------------------------------------------------------------------+ //| Função de inicialização do indicador                          | //+------------------------------------------------------------------+ void OnInit()   { //--- verificação dos valores de entrada    if(InpBandsPeriod<2)      {       ExtBandsPeriod=20;       PrintFormat("Valor incorreto para a variável de entrada InpBandsPeriod=%d. O indicador usará o valor=%d para cálculos.",InpBandsPeriod,ExtBandsPeriod);      }    else       ExtBandsPeriod=InpBandsPeriod;    if(InpBandsShift<0)      {       ExtBandsShift=0;       PrintFormat("Valor incorreto para a variável de entrada InpBandsShift=%d. O indicador usará o valor=%d para cálculos.",InpBandsShift,ExtBandsShift);      }    else       ExtBandsShift=InpBandsShift;    if(InpBandsDeviations==0.0)      {       ExtBandsDeviations=2.0;       PrintFormat("Valor incorreto para a variável de entrada InpBandsDeviations=%f. O indicador usará o valor=%f para cálculos.",InpBandsDeviations,ExtBandsDeviations);      }    else       ExtBandsDeviations=InpBandsDeviations; //--- definir buffers    SetIndexBuffer(0,ExtMLBuffer);    SetIndexBuffer(1,ExtTLBuffer);    SetIndexBuffer(2,ExtBLBuffer);    SetIndexBuffer(3,ExtStdDevBuffer,INDICATOR_CALCULATIONS); //--- definir rótulos dos índices    PlotIndexSetString(0,PLOT_LABEL,"Banda("+string(ExtBandsPeriod)+") Média");    PlotIndexSetString(1,PLOT_LABEL,"Banda("+string(ExtBandsPeriod)+") Superior");    PlotIndexSetString(2,PLOT_LABEL,"Banda("+string(ExtBandsPeriod)+") Inferior"); //--- nome do indicador    IndicatorSetString(INDICATOR_SHORTNAME,"Bollinger Bands"); //--- configurações de início de desenho dos índices    ExtPlotBegin=ExtBandsPeriod-1;    PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtBandsPeriod); //--- configurações de deslocamento dos índices    PlotIndexSetInteger(0,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(1,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(2,PLOT_SHIFT,ExtBandsShift); //--- número de dígitos do valor do indicador    IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);   } //+------------------------------------------------------------------+ //| Calcular Média Móvel                                         | //+------------------------------------------------------------------+ double CalculateMovingAverage(int position, int period, const double &price[]) {     switch(InpMaMethod) {         case Simples:             return SimpleMA(position, period, price);         case Exponencial:             // Corrigindo a chamada da função iMA com os parâmetros corretos             return iMA(NULL, 0, period, 0, MODE_EMA, PRICE_CLOSE);         case Suavizada:             // Implemente sua função SMMA aqui             break;         case LinearPonderada:             return LinearWeightedMA(position, period, price);     }     return 0; // Retorno padrão em caso de método indefinido } //+------------------------------------------------------------------+ //| Bollinger Bands                                                  | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total,                 const int prev_calculated,                 const int begin,                 const double &price[])   {    if(rates_total<ExtPlotBegin)       return(0); //--- configurações de início de desenho dos índices, quando recebemos o início anterior    if(ExtPlotBegin!=ExtBandsPeriod+begin)      {       ExtPlotBegin=ExtBandsPeriod+begin;       PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtPlotBegin);       PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtPlotBegin);       PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtPlotBegin);      } //--- início do cálculo    int pos;    if(prev_calculated>1)       pos=prev_calculated-1;    else       pos=0; //--- ciclo principal    for(int i=pos; i<rates_total && !IsStopped(); i++)      {       //--- linha do meio       ExtMLBuffer[i]=CalculateMovingAverage(i, ExtBandsPeriod, price);       //--- calcular e escrever o desvio padrão       ExtStdDevBuffer[i]=StdDev_Func(i,price,ExtMLBuffer,ExtBandsPeriod);       //--- linha superior       ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i];       //--- linha inferior       ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i];      } //--- Cálculo concluído. Retorne o novo prev_calculated.    return(rates_total);   } //+------------------------------------------------------------------+ //| Calcular Desvio Padrão                                     | //+------------------------------------------------------------------+ double StdDev_Func(const int position,const double &price[],const double &ma_price[],const int period)   {    double std_dev=0.0; //--- calcular Desvio Padrão    if(position>=period)      {       for(int i=0; i<period; i++)          std_dev+=MathPow(price[position-i]-ma_price[position],2.0);       std_dev=MathSqrt(std_dev/period);      } //--- retornar o valor calculado    return(std_dev);   } //+------------------------------------------------------------------+

2024.04.28
iForexSessions: O Indicador Ideal para MetaTrader 5
MetaTrader5
iForexSessions: O Indicador Ideal para MetaTrader 5

Indicador de Sessões Forex Destaque para as Sessões do Mercado Forex O indicador considera o horário local de negociação das sessões Forex, que vão das 8:00 às 17:00 em cada mercado, exceto em Sydney, que é das 7:00 às 16:00 ou das 9:00 às 18:00. Características: Desenha retângulos coloridos para as sessões do mercado Forex (Sydney, Tóquio, Londres e Nova York). Tempos de sessão precisos para pares de Forex e gráficos de ouro (as negociações de pares Forex começam às 17:00 NY. O ouro começa uma hora depois). O indicador respeita o GMT e o horário de verão do servidor do broker, além dos fusos horários. Os cálculos de tempo do indicador são feitos usando a biblioteca TimeZoneInfo. Relógio adicional do broker (no canto inferior esquerdo) com informações úteis: hora do servidor offset GMT do broker Tempo restante até o fim de semana (para que você possa fechar operações abertas ou evitar abrir novas antes do fim de semana). Status de sincronização de tempo do computador local. Uma dica para verificar https://time.is/ se o horário do PC não estiver sincronizado. Movendo o ponteiro do mouse sobre uma barra do gráfico enquanto a tecla 'Ctrl' está pressionada: o número da barra e o tempo (e os horários correspondentes nos principais mercados Forex) serão exibidos na janela do gráfico para depuração.   Parâmetros de Entrada: Parâmetro: "Carregar símbolo XAUUSD para estimativa do TZ/DST do servidor" Por padrão, o indicador buscará e carregará o símbolo XAUUSD para estimar o deslocamento do fuso horário do servidor. O XAUUSD pode fornecer resultados mais confiáveis (especialmente para brokers que seguem o horário de verão da UE) em semanas em que o horário de verão dos EUA e da UE estão fora de sincronia (março e final de outubro). Opcionalmente, se o seu broker seguir o horário de verão dos EUA, ou não seguir nenhum horário, então usar o símbolo do gráfico também é válido. Defina este parâmetro como 'falso' para usar o símbolo atual do gráfico, em vez do XAUUSD. Para determinar o horário de verão (DST) do seu broker, você pode usar este script https://www.mql5.com/en/code/48650 Nota: Como efeito colateral, o XAUUSD começa uma hora após o Forex, as mudanças de horário de verão ocorrerão uma hora depois (apenas no testador de estratégia, e não no modo normal). Recurso Bônus: Movendo o ponteiro do mouse sobre uma barra do gráfico enquanto a tecla 'Ctrl' está pressionada o número da barra e seu tempo (e os horários correspondentes nos principais mercados Forex) serão exibidos na janela do gráfico para depuração. Depois, para excluir as informações de depuração do gráfico, basta clicar com o mouse em qualquer lugar no gráfico (sem pressionar a tecla 'Ctrl'). Outros indicadores de sessões de mercado: Market_Sessions i-Sessions Abertura e Fechamento das Sessões de Negociação Identificação das Sessões do Mercado Forex Todos os indicadores acima (e quase todos os outros indicadores da base de código) usam deslocamentos fixos para fusos horários e não consideram o horário de verão do servidor do broker ou os fusos horários. Isso é impreciso, pois os horários das sessões mudam ao longo do ano, seja porque o broker muda seu fuso horário para o horário de verão ou porque um ou mais dos principais mercados Forex mudam o horário de verão. AVISO: O indicador foi confirmado como funcionando na seguinte lista de brokers (com horários de negociação e horários de verão diferentes): Admirals Markets FxPro RannForex EXNESS FXOpen IC Markets Octa Markets Tickmill XM Global O indicador também deve funcionar corretamente em outros brokers. Nota sobre Compatibilidade com o Testador de Estratégia Durante os testes no testador de estratégia, TimeGMT() é sempre igual a TimeTradeServer(), que simula o tempo do servidor. A biblioteca TimeZoneInfo estima os horários corretos nos fusos horários com base no "verdadeiro" GMT, analisando o histórico de cotações H1, e não com base no tempo retornado pela função interna TimeGMT. Se o parâmetro de entrada "Carregar símbolo XAUUSD para estimativa do TZ/DST do servidor" estiver definido como VERDADEIRO: então as mudanças de horário de verão podem ocorrer uma hora depois no testador de estratégia.

2024.03.26
Primeiro Anterior 6 7 8 9 10 11 12 13 14 15 16 Próximo Último