Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

Function ObjectGetValue_ByCurrent .....Delta_ByCurrent .....Delta_ByTimeShift .....Delta_PerBar - biblioteca para MetaTrader 4

Visualizações:
827
Avaliação:
(7)
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

Investidor Universal Investidor Universal

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

i4 GoldenLionTrend v3 i4 GoldenLionTrend v3

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.

MTF_WildersDMI_v1m MTF_WildersDMI_v1m

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

MTF_OsMA_Lc MTF_OsMA_Lc

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