Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Ping - indicador para MetaTrader 5
- Visualizações:
- 2493
- Avaliação:
- Publicado:
- 2018.02.05 07:40
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Na negociação, a atualidade do preço atual é um parâmetro importante. O ping de rede entre o terminal e o servidor de negociação é o fator mais popular - entre muitos outros - que influencia essa vigência.
No entanto, frequentemente, é ignorado o ping interno do terminal. Trata-se de um atraso adicional nas cotações, dentro do terminal (plataforma). Mesmo com um ping de rede de zero, este adiamento pode ser substancial.
Este indicador mostra a dinâmica das mudanças neste parâmetro que se calcula da seguinte forma:
#include <TypeToBytes.mqh> // https://www.mql5.com/pt/code/16280 // Obtenção de um tick recente com o lag interno da cotação (em milissegundos) bool SymbolInfoTick( const string &Symb, MqlTick &Tick, double &Ping ) { static const bool IsTester = (MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION)); static MqlTick PrevTick = {0}; static ulong PrevTime = 0; const ulong NowTime = IsTester ? 0 : GetMicrosecondCount(); const bool Res = SymbolInfoTick(Symb, Tick); if ((!IsTester) && Res) { if (_R(Tick) != PrevTick) { Ping = PrevTime ? MathAbs(Tick.time_msc - PrevTick.time_msc - (NowTime - PrevTime) / 1e3) : 0; PrevTime = NowTime; PrevTick = Tick; } else Ping = 0; } return(Res); }
Na captura de tela, pode-se ver claramente que o valor calculado não é pequeno, e a procura de um ping zero pode ser, por vezes, auto-engano, ao negociar ou usar certos tipos de análise, no MetaTrader 5.
Características
- O atraso das cotações é calculado em milissegundos;
- O indicador consome o mínimo de recursos de computação do terminal;
- Ao redefinir os dados do indicador (alteração do timeframe, símbolos, etc.), os dados armazenados são perdidos;
- Após a remoção do indicador, seu comentário permanece, no gráfico;
- É impossível fornecer tal indicador para o MetaTrader 4, pois não existem dados de ticks, em milissegundos;
- SymbolInfoTick nos indicadores requer um "aquecimento prévio" na forma de alguns eventos Calculate novos;
- O indicador pode servir como um modelo para visualização em tempo real de todos os parâmetros, basta substituir apenas uma cadeia de caracteres;
-
Para compilar o indicador, é necessária uma biblioteca, que é usada para comparar estruturas MqlTick, no cálculo do atraso:
#include <TypeToBytes.mqh> // https://www.mql5.com/pt/code/16280
-
O indicador tem dois tipos de exibição, dependendo esta linha:
#define HISTOGRAM_VIEW // Comentar para alterar a aparência do indicador (de histograma para candles)
Evidentemente, o indicador atual mostra o atraso dos preços (ping) associado ao evento Calculate. Como se viu, existem tantos factores que afectam profundamente o ping, que se pode por em causa a conveniência do uso de quaisquer indicadores, na estratégia de negociação (e análise). Claro, o evento NewTick é menos susceptível a influências negativas, mas, nele, existe um ping significativo, o que, por vezes, pode levar o desempenho da plataforma a um absurdo.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/19422
O indicador numera velas de acordo com a direção.
RSI EraserExpert baseado nos sinais do indicador iRSI (Relative Strength Index, RSI).
Expert baseado nos sinais do indicador Stopreversal, com funcionalidade de fixação "hard-coded" da faixa temporal de negociação.
DaniellaIndicador de sinal semáforo com uso do Average True Range.