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

Function ObjectGetValue_ByCurrent .....Delta_ByCurrent .....Delta_ByTimeShift .....Delta_PerBar - biblioteca para MetaTrader 4
- Visualizações:
- 918
- Avaliação:
- Publicado:
- 2016.05.10 13:25
- Atualizado:
- 2016.11.22 07:33
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
As funções oferecidas aqui retornam os preços que linearmente mudam com o tempo a um objeto localizado em qualquer janela do gráfico.
As funções estão localizadas no corpo de um script de teste que demonstra visualmente como uma barra está sendo formada.
Conceito.
A função padrão ObjectGetValueByShift() retorna os valores nos pontos do tempo de abertura da barra, ou seja, discretamente com o timeframe.
Isto é determinado pela transmissão do parâmetro X-coordinate do gráfico, como (int) no número da barra.
Chamando a função padrão ObjectGetValueByShift() dentro da barra formada num timeframe, obtém-se o mesmo valor.
A função padrão ObjectGetValueByShift() não calcula as mudanças da coordenada Y dentro de todo o período da barra formanda.
Ao criar ATSes que respondem a eventuais intersecções do objeto gráfico, nomeado pela TrendLine, o "erro" de dezenas de pontos poderão ser acumulados.
Correspondentemente, vamos precisar de algumas funções que retornam o valor verdadeiro em cada tick.
ObjectGetDelta_PerBar(string "ObjectName") ObjectGetDelta_ByCurrent (string "ObjectName") ObjectGetValue_ByCurrent(string "ObjectName", int BarNumber) ObjectGetDelta_ByTimeShift(string "ObjectName", double TimeShift )
A função ObjectGetDelta_PerBar (string "ObjectName") retorna a inclinação de um objeto gráfico por 1 barra, conforme cálculo a partir das coordenadas do objeto, ou seja, ele retorna os recursos incrementados do Cálculo delta = one-bar . A função padrão iBarShift() retorna zero para todos os tempos definidos a direita da barra zero, pois um objecto gráfico pode ser localizado na direita da barra de zero. Isto acontece porque o comprimento do objeto gráfico nas barras é calculado como a diferença entre as coordenadas do objeto e o resultado dividido pelo timeframe. Isso nos permite operar com objetos que saem da posição da barra zero.
A função ObjectGetDelta_ByCurrent (string "ObjectName") calcula o valor atual dentro de uma barra pelo tempo decorrido desde o seu início.
A função ObjectGetValue_ByCurrent(string "ObjectName", int BarNumber ) resume o valor do incremento linear ObjectGetDelta_ByCurrent () e o valor atual ao número de barras pré-definidas, se este valor não for igual a zero.
Este será um valor verdadeiro para a barra zero. No entanto, em qualquer outro lado, estes serão valores modulados pelo tempo na formação da barra zero. Ou seja, se você chamar a função com um número de barra diferente de zero, estes serão valores modulados pelo tempo na formação da barra zero. Em nossa opinião, este recurso é conveniente para o bem da ATS.
Um valor zero do preço do objeto gráfico é obtido fora de sua faixa. Neste caso, a função retornará zero. O programador deve verificar o valor de retorno por não ser igual a zero.
ObjectGetDelta_ByTimeShift(string "ObjectName", double TimeShift )
Para construir um ATS, é conveniente ter uma função que desse o valor do incremento Y-coordinate por um tempo pré-definido, no passado ou no futuro.
Este script, quando testado num gráfico M1 demo/real М1, demonstra:
1. irregularidades de ticks de entrada;
2. atraso do evento de abertura/desenho da barra devido à falta de ticks;
3. barras temporariamente ausentes e "pós-factum", atribuindo os seus horários para eles
Por exemplo:
Time[0]=1208396460 line[0]=162.5545 current value within bar 0=162.5300 line (- 1)=162.5273 delta by (1) bar=-0.0273 delta by (2) bars=-0.0545
Bar time percentage=72% correction for price line=-0.0195
Time[0]=1208396400 line[0]=162.5818 current value within bar 0=162.5400 line (- 1)=162.5545 delta by (1) bar=-0.0273 delta by (2) bars=-0.0545
Bar time percentage=152% correction for price line=-0.0414
Time[0]=1208396400 line[0]=162.5818 current value within bar 0=162.5500 line (- 1)=162.5545 delta by (1) bar=-0.0273 delta by (2) bars=-0.0545
Bar time percentage=127% correction for price line=-0.0345
Recomendações:
Explicação: Veja os resultados na aba inferior do terminal, em "Expert Advisors", próximo ao "Diário".
Ao remover o script de um gráfico, pode haver um atraso produzido pelo MT4, tomando algum tempo para finalizar.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/8080

Um EA universal para longo prazo, negociação do portfolio.

O indicador mostra a tendência. Um exemplo de código para colorir candles em quatro cores diferentes de acordo com a força da tendência.

Indicador MTF_WildersDMI_v1m. Mais uma versão do indicador WildersDMI_v1. Funciona com o indicador ADX_WildersDMI_v1m.

Indicador MTF_OsMA_Lc. É um cópia do Indicador OsMACD_M . Porém o OsMA_Lc é originado pelo iCustom.