Ajuda na codificação - página 342

 
freakout:
http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4 - mas neste é possível... Sei que há uma maneira de corrigi-lo, porque funciona em indicadores semelhantes, mas aqui algo está errado com o código...

Pelo que vejo, esse também está mostrando os padrões com pelo menos 1 barra de atraso. Quanto mais você vai para padrões mais complicados (que esse indicador não é capaz de reconhecer), maiores são as chances de que o atraso terá que ser maior também.

 
mladen:
Pelo que vejo, essa também está mostrando os padrões com pelo menos 1 barra de atraso. Quanto mais você vai para padrões mais complicados (que esse indicador não é capaz de reconhecer), maiores são as chances de que o atraso terá que ser maior também.

não, aparece imediatamente após o fechamento da vela se o valor do turno for igual a 1 quando shift=2 então você tem um atraso de 1 barra Eu verifiquei várias vezes e o único problema no meu indicador é que quando eu mudo shift=2 para shift=1 ele move tudo por 1 vela para a direita - não para a esquerda, então algo está errado...

 
freakout:
não, aparece imediatamente após o fechamento da vela se o valor do turno for igual a 1 quando shift=2 então você tem um atraso de 1 barra Eu verifiquei várias vezes e o único problema no meu indicador é que quando eu mudo shift=2 para shift=1 ele move tudo por 1 vela para a direita - não para a esquerda, então algo está errado...

Eu não sei de que indicador você está falando agora

Se você estiver falando do link, se você der uma olhada nesta parte do código :

shift1 = shift + 1;

shift2 = shift + 2;

shift3 = shift + 3;

shift4 = shift + 4;

Você verá que (devido a essa parte "+1" na primeira linha) ela sempre fica com pelo menos 1 barra. Tente mudar a 1,2,3,e 4 para 0,1,2 e 3 (quem sabe, pode funcionar). Se você encontrar uma parte semelhante do código na outra tente fazer a mesma coisa com ela também

 

Encontrei um bom indicador Murrey Math, mas essas linhas sobre a tela são um pouco perturbadoras e eu gostaria de cortar essas linhas horizontais com RAY. Tentei adicionar "ObjectSet(buff_str, OBJPROP_RAY, false)"; mas não deu certo.

Então talvez alguém possa me ajudar?

Arquivos anexados:
 

Olá Mladen, obrigado por toda a sua ajuda neste fórum. Pls can U help to make this indicator to work with the EA, to buy, sell and close positions when the arrow shows up. Pretendo usar as configurações do indicador no modo MTF em um determinado período de tempo que provou não pintar de novo.

Obrigado de antemão.

Arquivos anexados:
 

Mladen, eu não sei como resolver esta situação.

Ajude-me por favor, se tiver tempo.

Obrigado!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.
 
Anyway:
Mladen, eu não sei como resolver esta situação.

Ajude-me por favor se você tiver tempo.

Obrigado!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.

Você está testando apenas 3 elementos (elementos Lines_break) e sua posição inicial (expressão j+1) deve ser i - não há necessidade de alterá-la. Estou assumindo que neste caso você está trabalhando com buffer, não com um array)

 
mladen:
Você está testando apenas 3 elementos (elementos Lines_break) e sua posição inicial (expressão j+1) deve ser i - não há necessidade de alterá-la. Estou assumindo que neste caso você está trabalhando com buffer, não com um array)

Como colocar um Buffer igual em uma unidade?

Por exemplo: "Tampão = Tampão = Tampão = Tampão = Tampão".

 
Anyway:
Como colocar um Buffer igual em uma unidade? Por exemplo: "Tampão = Tampão = Tampão = Tampão = Tampão".

De qualquer forma

Como vejo pelo seu código, você não precisa disso. Você está à procura de um valor máximo. Se houver n valores máximos ou apenas um, isso não importa. O importante é que o valor máximo seja identificado

 
mladen:
De qualquer forma, como eu vejo pelo seu código, você não precisa disso. Você está à procura de um valor máximo. Se houver n valores máximos ou apenas um, isso não importa. O importante é que o valor máximo seja identificado

Bem, vou tentar outra abordagem.

Obrigado

Razão: