[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 354

 
Há um trabalho de N. Staritsky. Há um filme baseado nele chamado "Além das Duas Lebre". Eu quero ler este autor brilhante. Não consigo encontrar seu texto. Ajude-me a encontrá-lo. e desculpe se eu perguntei no tópico errado ;)
[Deleted]  

Como funciona o ArrayMaximum?

int ArrayMaximum( double array[], int count=WHOLE_ARRAY, int start=0)

Procure o elemento com o valor máximo. A função retorna a posição do elemento máximo na matriz.
Parâmetros:array[] - A matriz numérica a ser pesquisada.
contagem - O número de elementos a serem pesquisados.
start - O índice inicial da busca.

Exemplo:
double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
int maxValueIdx=ArrayMaximum(num_array);
Print("Max value = ", num_array[maxValueIdx]);

por isso não está claro para mim... Como posso escrevê-lo, para que o Consultor Especialista procure, digamos, o número da segunda matriz?

int MinArray[7] = {1,2,3,4,5,6,7}

int ArrayMaximum (MinArray[7], "E aqui?", 2); não está claro para mim

 
splxgf:

Por exemplo, o problema foi quantas vezes o preço cruzou os níveis determinados nos últimos dois anos.

1. Você poderia pegar cada nível e olhar os dados por dois anos. Custo: número de barras multiplicado pelo número de níveis.

2. Você pode criar um conjunto separado de níveis. É suficiente rever todas as barras verificando e incrementando os elementos necessários da matriz. Neste caso, os cálculos serão mais rápidos.

Estou interessado em um exemplo semelhante a este:

para(a=0;a<=100;a++){

para (b=0;b<=100;b++){

para (c=0;c<=100;c++){

para(d=0;d<=100;d++){

para(e=0;e<=100;e++){

para (f=0;f<=100;f++){

para(g=0;g<=100000;g++){

jaw_val1=iAlligator(NULL, 0, a, b, b, c, d, f, e, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, g);

jaw_val2=iAlligator(NULL, 0, a, b, c, d, f, e, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, g);

jaw_val3=iAlligator(NULL, 0, a, b, c, d, f, e, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS, g);

se (max_val1>Fechar[g] && max_val2>Fechar[g] && max_val3>Fechar[g]) soma=sum+(Alto[g]-Baixo[g])

}}}}}}}


Mas então a matriz deve ser 7-dimensional?

 
CLAIN:

você pode me dizer como funciona o ArrayMaximum?

int ArrayMaximum( double array[], int count=WHOLE_ARRAY, int start=0)

Procure o elemento com o valor máximo. A função retorna a posição do elemento máximo na matriz.
Parâmetros:array[] - array numérico, que é pesquisado.
contagem - O número de elementos a serem pesquisados.
start - O índice inicial para a busca.

Exemplo:
double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
int maxValueIdx=ArrayMaximum(num_array);
Imprimir("Valor máximo = ", num_array[maxValueIdx];

então é aqui que eu não entendo contar... Como posso escrever meu consultor especializado para procurar, digamos, o número da segunda matriz?

int MinArray[7] = {1,2,3,4,5,6,7}

int ArrayMaximum (MinArray[7], "E aqui?", 2); não está claro para mim

Suponha que você tenha uma matriz DataMass[] que contenha alguns valores. O tipo de valores nela contidos é o dobro.

Você precisa encontrar o maior valor contido nesta matriz, a partir do elemento zero da matriz:

int IndexMaxValue=ArrayMaximum(DataMass, WHOLE_ARRAY, 0); // encontrar índice de elemento com o maior valor.

duplo MaxValue=DataMass[IndexMaxValue]; // encontrar o valor máximo na matriz por seu índice

A linha de busca do elemento com o valor máximo pode ser escrita de uma forma mais curta:

int IndexMaxValue=ArrayMaximum(DataMass); // Os dois últimos argumentos da função têm valores padrão, de modo que podem ser omitidos quando a função é chamada, porque estamos pesquisando toda a matriz (WHOLE_ARRAY) e partindo da célula zero (0), e estes valores são passados para a função por padrão.

Tudo isso pode ser escrito em uma linha

duplo MaxValue=DataMass[ArrayMaximum (DataMass)]; // encontrar o valor máximo no array por seu índice.

A variável MaxValue conterá o valor máximo na matriz DataMass[].


Se você quiser pesquisar não em toda a matriz e não a partir do elemento zero, estes valores devem ser especificados explicitamente nos parâmetros passados:

int IndexMaxValue=ArrayMaximum(DataMass, WHOLE_ARRAY, 2); // encontre o índice do elemento com o maior valor. A busca é realizada em toda a matriz (WHOLE_ARRAY), a partir da segunda célula (2)

int IndexMaxValue=ArrayMaximum(DataMass, 10, 3); // encontre o índice do elemento com o maior valor. A busca é realizada para dez elementos da matriz (10), a partir da terceira célula (3)


Espero tê-lo explicado claramente :)

[Deleted]  
artmedia70:
Suponha que você tenha uma matriz DataMass[] que contenha alguns valores. O tipo de valores que ele contém é o dobro.

Você precisa encontrar o maior valor contido nesta matriz, a partir do elemento zero da matriz:

int IndexMaxValue=ArrayMaximum(DataMass, WHOLE_ARRAY, 0); // encontre o índice do elemento com o maior valor.

duplo MaxValue=DataMass[IndexMaxValue]; // encontrar o valor máximo na matriz por seu índice

A linha de busca do elemento com o valor máximo pode ser escrita de uma forma mais curta:

int IndexMaxValue=ArrayMaximum(DataMass); // Os dois últimos argumentos da função têm valores padrão, de modo que podem ser omitidos quando a função é chamada, porque estamos pesquisando toda a matriz (WHOLE_ARRAY) e partindo da célula zero (0), e estes valores são passados para a função por padrão.

Agora podemos escrever tudo em uma linha

duplo MaxValue=DataMass[ArrayMaximum (DataMass)]; // encontrar o valor máximo no array por seu índice

Se você quiser pesquisar não em toda a matriz e não a partir do elemento zero, você deve especificar estes valores explicitamente nos parâmetros passados

int IndexMaxValue=ArrayMaximum(DataMass, WHOLE_ARRAY, 2); // encontre o índice do elemento com o maior valor. A busca é realizada para toda a matriz (WHOLE_ARRAY), a partir da segunda célula

int IndexMaxValue=ArrayMaximum(DataMass, 10, 3); // encontre o índice do elemento com o maior valor. A busca é realizada em dez elementos da matriz (10), a partir da terceira célula

Espero tê-lo explicado claramente :)



mais do que =) obrigado, mas ainda resta uma pergunta.... E se eu tiver 2 valores máximos idênticos, qual deles escolherá? o da esquerda?
 
CLAIN:

mais do que isso =) obrigado, mas ainda resta uma pergunta.... E se eu tiver 2 valores máximos idênticos, qual deles escolherá? o da esquerda?

Verifique :)

Escreva um pequeno script, o qual produzirá o valor máximo encontrado na matriz e seu índice. Inicializar a matriz explicitamente com valores, dois dos quais serão os mesmos e maiores que os outros valores.

Use o índice para determinar qual dos dois valores mais altos ele produz para você.

 

Produz o índice daquele mais próximo ao início da busca:

//+------------------------------------------------------------------+
//|                                                         Test.mq4 |
//|                             Copyright © 2011, Trishkin Artyom A. |
//|                                           support@goldsuccess.ru |
//|                                           Skype: artmedia70      |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Trishkin Artyom A."
#property link      "support@goldsuccess.ru"
//                   Skype: artmedia70
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
double DataMass[15]={4,1,6,3,19,4,1,6,3,19,4,1,6,3,9}; // индекс первого = 4, индекс второго = 9

int start()
  {
//----
   int IndexMaxValue=ArrayMaximum(DataMass); 
   double MaxValue=DataMass[IndexMaxValue]; // находим максимальное значение в массиве по его индексу
   Alert("Индекс максимального элемента массива = "+IndexMaxValue+", его значение = "+MaxValue);
//----
   return(0);
  }
//+------------------------------------------------------------------+

Adivinhe qual é o índice de saída :)

 
drknn:
Há um trabalho de N. Staritsky. Há um filme baseado nele chamado "Além das Duas Lebre". Eu quero ler este autor brilhante. Não consigo encontrar seu texto. Ajude-me a encontrá-lo. e desculpe se eu perguntei no tópico errado ;)
Vladimir, é uma peça de teatro. Aqui está o texto.
 

Bom dia, tenho duas perguntas (não consigo encontrar nenhuma resposta digerível em nenhum lugar):

1. O indicador desenha duas linhas de linhas de tendência vertical na subjanela. Como posso obter os números de barras que correspondem a estas linhas?

2. No mesmo indicador, preciso traçar linhas no futuro, com cerca de 24 horas de antecedência. Mas eu não sei como implementá-la.

Eu espero muito a ajuda dos usuários do fórum!)

 
Ajude a adicionar uma função para apagar pedidos, por favor!
Arquivos anexados: