amigos, como vcs devem saber , o indicador MACD do MT5 eh diferente de tds as demais plataformas,
gostaria de saber a formula exata para calcula-lo, assim posso colocar no EA,
no PROFITCHART ele é um exelente indicador, Gostaria de uma formula p extrair os valores como na figura abaixo.. obrigado,
Boa noite!
- www.metatrader5.com
boa noite amigo,, mais essa formula simples abaixo
MACD = EMA(FECHAMENTO, 12) - EMA(FECHAMENTO, 26)
SIGNAL = SMA(MACD, 9)
não retorna aquele valor que o Profit projeta.. tem mais algum detalhe na expressao q nao consigo descobrir
boa noite amigo,, mais essa formula simples abaixo
MACD = EMA(FECHAMENTO, 12) - EMA(FECHAMENTO, 26)
SIGNAL = SMA(MACD, 9)
não retorna aquele valor que o Profit projeta.. tem mais algum detalhe na expressao q nao consigo descobrir
Boa noite!
Acredito que a fórmula do indicador é pra ser a mesma, independente da plataforma. O que varia são os períodos.
Você pode ver a aplicação da fórmula acima no MQL5 consultando no MetaEditor do seu MT5 (pasta ...\MQL5\Indicators\Examples) o código do indicador MACD, transcrito abaixo para facilitar:
//+------------------------------------------------------------------+ //| MACD.mq5 | //| Copyright 2009-2020, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2009-2020, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property description "Moving Average Convergence/Divergence" #include <MovingAverages.mqh> //--- indicator settings #property indicator_separate_window #property indicator_buffers 4 #property indicator_plots 2 #property indicator_type1 DRAW_HISTOGRAM #property indicator_type2 DRAW_LINE #property indicator_color1 Silver #property indicator_color2 Red #property indicator_width1 2 #property indicator_width2 1 #property indicator_label1 "MACD" #property indicator_label2 "Signal" //--- input parameters input int InpFastEMA=12; // Fast EMA period input int InpSlowEMA=26; // Slow EMA period input int InpSignalSMA=9; // Signal SMA period input ENUM_APPLIED_PRICE InpAppliedPrice=PRICE_CLOSE; // Applied price //--- indicator buffers double ExtMacdBuffer[]; double ExtSignalBuffer[]; double ExtFastMaBuffer[]; double ExtSlowMaBuffer[]; int ExtFastMaHandle; int ExtSlowMaHandle; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,ExtMacdBuffer,INDICATOR_DATA); SetIndexBuffer(1,ExtSignalBuffer,INDICATOR_DATA); SetIndexBuffer(2,ExtFastMaBuffer,INDICATOR_CALCULATIONS); SetIndexBuffer(3,ExtSlowMaBuffer,INDICATOR_CALCULATIONS); //--- sets first bar from what index will be drawn PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,InpSignalSMA-1); //--- name for indicator subwindow label string short_name=StringFormat("MACD(%d,%d,%d)",InpFastEMA,InpSlowEMA,InpSignalSMA); IndicatorSetString(INDICATOR_SHORTNAME,short_name); //--- get MA handles ExtFastMaHandle=iMA(NULL,0,InpFastEMA,0,MODE_EMA,InpAppliedPrice); ExtSlowMaHandle=iMA(NULL,0,InpSlowEMA,0,MODE_EMA,InpAppliedPrice); } //+------------------------------------------------------------------+ //| Moving Averages Convergence/Divergence | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { if(rates_total<InpSignalSMA) return(0); //--- not all data may be calculated int calculated=BarsCalculated(ExtFastMaHandle); if(calculated<rates_total) { Print("Not all data of ExtFastMaHandle is calculated (",calculated," bars). Error ",GetLastError()); return(0); } calculated=BarsCalculated(ExtSlowMaHandle); if(calculated<rates_total) { Print("Not all data of ExtSlowMaHandle is calculated (",calculated," bars). Error ",GetLastError()); return(0); } //--- we can copy not all data int to_copy; if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total; else { to_copy=rates_total-prev_calculated; if(prev_calculated>0) to_copy++; } //--- get Fast EMA buffer if(IsStopped()) // checking for stop flag return(0); if(CopyBuffer(ExtFastMaHandle,0,0,to_copy,ExtFastMaBuffer)<=0) { Print("Getting fast EMA is failed! Error ",GetLastError()); return(0); } //--- get SlowSMA buffer if(IsStopped()) // checking for stop flag return(0); if(CopyBuffer(ExtSlowMaHandle,0,0,to_copy,ExtSlowMaBuffer)<=0) { Print("Getting slow SMA is failed! Error ",GetLastError()); return(0); } //--- int start; if(prev_calculated==0) start=0; else start=prev_calculated-1; //--- calculate MACD for(int i=start; i<rates_total && !IsStopped(); i++) ExtMacdBuffer[i]=ExtFastMaBuffer[i]-ExtSlowMaBuffer[i]; //--- calculate Signal SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer); //--- OnCalculate done. Return new prev_calculated. return(rates_total); } //+------------------------------------------------------------------+
Na seção CodeBase aqui do site MQL5, você pode consultar também bibliotecas como essa que podem lhe auxiliar com a sua dúvida.
Boa noite!
Acredito que a fórmula do indicador é pra ser a mesma, independente da plataforma. O que varia são os períodos.
Você pode ver a aplicação da fórmula acima no MQL5 consultando no MetaEditor do seu MT5 (pasta ...\MQL5\Indicators\Examples) o código do indicador MACD, transcrito abaixo para facilitar:
Na seção CodeBase aqui do site MQL5, você pode consultar também bibliotecas como essa que podem lhe auxiliar com a sua dúvida.
oi vinicius,, infelizmente o MT5 trade de forma diferente O MACD, pode configurar tempos iguais e comprarar com outra p vc ver, resultados bem diferentes, e ja pesquisei e li algo sobre o tratamento ser diferente,, dependo desse calculo p finalizar meu EA , mais nao consegui ainda infelizmente
oi vinicius,, infelizmente o MT5 trade de forma diferente O MACD, pode configurar tempos iguais e comprarar com outra p vc ver, resultados bem diferentes, e ja pesquisei e li algo sobre o tratamento ser diferente,, dependo desse calculo p finalizar meu EA , mais nao consegui ainda infelizmente
Acho que vc esta confundindo a plotagem com valores...
o calculo do MACD não é algo proprietário de plataforma X ou Y. É um calculo matemático, logo, será o mesmo em qq plataforma.
o que difere que é que o MT5 plota em uma subjanela e outras plataformas no mesma janela do gráfico, o que ocasiona numa dimensionalidade diferente.
Apenas de curiosidade, nos mostre esse "algo" que leu.
Acho que vc esta confundindo a plotagem com valores...
o calculo do MACD não é algo proprietário de plataforma X ou Y. É um calculo matemático, logo, será o mesmo em qq plataforma.
o que difere que é que o MT5 plota em uma subjanela e outras plataformas no mesma janela do gráfico, o que ocasiona numa dimensionalidade diferente.
Apenas de curiosidade, nos mostre esse "algo" que leu.
tem esse video no you tube que ensina a deixar no padrao..
mais infelizmente eu nao fui capaz de entender praticamente nada do que ele fez., se alguem puder traduzir agradeço muitissimo
https://www.youtube.com/watch?v=A6Z6PIlM9Tw&t=69s
- 2020.06.21
- www.youtube.com
tem esse video no you tube que ensina a deixar no padrao..
mais infelizmente eu nao fui capaz de entender praticamente nada do que ele fez., se alguem puder traduzir agradeço muitissimo
https://www.youtube.com/watch?v=A6Z6PIlM9Tw&t=69s
Dia 30/02 eu deixo aqui a tradução !!!
Dia 30/02 eu deixo aqui a tradução !!!
😂😂😂
tem esse video no you tube que ensina a deixar no padrao..
mais infelizmente eu nao fui capaz de entender praticamente nada do que ele fez., se alguem puder traduzir agradeço muitissimo
https://www.youtube.com/watch?v=A6Z6PIlM9Tw&t=69s
Tradução da apresentação do vídeo:
Ele está apenas mostrando uma forma diferente de exibir o MACD no MT4 ou MT5. Não está fazendo nenhuma alteração na fórmula.
Tradução da apresentação do vídeo:
Ele está apenas mostrando uma forma diferente de exibir o MACD no MT4 ou MT5. Não está fazendo nenhuma alteração na fórmula.
foi o que eu disse, o tal "erro" ai é na vdd a plotagem....
- 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
amigos, como vcs devem saber , o indicador MACD do MT5 eh diferente de tds as demais plataformas,
gostaria de saber a formula exata para calcula-lo, assim posso colocar no EA,
no PROFITCHART ele é um exelente indicador, Gostaria de uma formula p extrair os valores como na figura abaixo.. obrigado,