[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 485
Kogalym писал(а)>> No SL a EA deve abrir uma ordem do mesmo tipo e no TP do tipo oposto! Mas por alguma razão a EA muitas vezes abre a ordem do tipo errado!
Quem sabe se este indicador é adequado para uma EA, encontrei uma estratégia onde ele é aplicado pelo autor, pode ser escrito na EA e como fazê-lo, por exemplo, você pode me mostrar um exemplo. Descobri que o histograma é verde e se a linha estiver abaixo do histograma, dá um sinal de compra. O mesmo para venda.
и не понятно, что именно вы хотите получить в массивах MAX и MIN
Deixe-me explicar novamente :)
Há uma matriz que contém todos os valores das colunas MACD.
Precisamos pegar de todos esses valores uma dúzia de valores (em ordem) e procurar o valor máximo neles, e respectivamente desenhá-lo no indicador, e assim por diante até o final.
Aqui está o código, mais uma vez:
for(i=0; i<50; i=i+10) //общий цикл для всех значений МАКД, шаг 10
{
int k = i;
for(k=i; k<i+10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = MACD[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = MACD[IndexMIN];
}
A meu ver, não está desenhado porque o índice de array com dezenas não coincide com o índice deste valor no array principal com os valores MAKD.
Em outras palavras, quando o contador alcançar, digamos, 30 no laço principal, então no subciclo irá 30-31-32...39 (vamos supor, o máximo deles será 34 valor), a função Arraymaximum(x10) irá encontrá-lo, mas escreverá no IndexMAX exatamente o número ordinal no array HIS (x10), ou seja, na verdade o valor verdadeiro será 34, mas escreverá outro (de 0 a 9, porque é um array de dezenas). Não consigo descobrir o que fazer...
Há uma matriz que contém todos os valores das colunas MACD.
Precisamos pegar de todos esses valores uma dúzia de valores (em ordem) e procurar o valor máximo neles, e respectivamente desenhá-lo no indicador, e assim por diante até o final.
Aqui está o código, mais uma vez:
A meu ver, não está desenhado porque o índice de array com dezenas não coincide com o índice deste valor no array principal com os valores MAKD.
Em outras palavras, quando o contador alcançar, digamos, 30 no laço principal, então no subciclo irá 30-31-32...39 (vamos supor, o máximo deles será 34 valor), a função Arraymaximum(x10) irá encontrá-lo, mas escreverá no IndexMAX exatamente o número ordinal no array HIS (x10), ou seja, na verdade o valor verdadeiro será 34, mas escreverá outro (de 0 a 9, porque é um array de dezenas). Não consigo descobrir o que fazer...
for(i=0; i<limit; i+=10) //общий цикл для всех значений МАКД, шаг 10
{
int k;
for(k=0; k<10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[i+k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = x10[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = x10[IndexMIN];
}
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Mas por alguma razão a EA frequentemente abre uma ordem do tipo errado!
Por favor, diga-me onde há um erro!
No SL a EA deve abrir uma ordem do mesmo tipo e no TP do tipo oposto!
Mas por alguma razão a EA muitas vezes abre a ordem do tipo errado!
Você pode me dizer onde está o erro?
и не понятно, что именно вы хотите получить в массивах MAX и MINкакова размерность массива x10 ?
10?
Тогда надо так переписать:
Deixe-me explicar novamente :)
Há uma matriz que contém todos os valores das colunas MACD.
Precisamos pegar de todos esses valores uma dúzia de valores (em ordem) e procurar o valor máximo neles, e respectivamente desenhá-lo no indicador, e assim por diante até o final.
Aqui está o código, mais uma vez:
A meu ver, não está desenhado porque o índice de array com dezenas não coincide com o índice deste valor no array principal com os valores MAKD.
Em outras palavras, quando o contador alcançar, digamos, 30 no laço principal, então no subciclo irá 30-31-32...39 (vamos supor, o máximo deles será 34 valor), a função Arraymaximum(x10) irá encontrá-lo, mas escreverá no IndexMAX exatamente o número ordinal no array HIS (x10), ou seja, na verdade o valor verdadeiro será 34, mas escreverá outro (de 0 a 9, porque é um array de dezenas). Não consigo descobrir o que fazer...
Deixe-me explicar novamente :)
Há uma matriz que contém todos os valores das colunas MACD.
Precisamos pegar de todos esses valores uma dúzia de valores (em ordem) e procurar o valor máximo neles, e respectivamente desenhá-lo no indicador, e assim por diante até o final.
Aqui está o código, mais uma vez:
A meu ver, não está desenhado porque o índice de array com dezenas não coincide com o índice deste valor no array principal com os valores MAKD.
Em outras palavras, quando o contador alcançar, digamos, 30 no laço principal, então no subciclo irá 30-31-32...39 (vamos supor, o máximo deles será 34 valor), a função Arraymaximum(x10) irá encontrá-lo, mas escreverá no IndexMAX exatamente o número ordinal no array HIS (x10), ou seja, na verdade o valor verdadeiro será 34, mas escreverá outro (de 0 a 9, porque é um array de dezenas). Não consigo descobrir o que fazer...
Mostrar todo o código para o indicador
Весь код индикатора покажиDeixe-me explicar novamente :)
Acho que você queria escrever assim:
Qual é seu objetivo?
Bem, o que você quer obter. Quebrá-lo em dezenas é inútil. Eles se movem no tempo o tempo todo.
мне кажется, Вы хотели написать вот так:
Não desenha :((.
s.w. k=0 Eu terminei :)
А какую цель преследуешь?
Ну, что хочешь получить. Разбивать на десятки бесмысленно. Они все время передвигаются во времени.
Sim, o objetivo é literal...quero que o máximo seja exibido entre cada 10 barras...