[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 976

 
granit77:
Elige el adecuado.
+10 :)))))
 
fanat:

¡¡¡Funciona!!! Es que estaba encontrando un montón de cosas innecesarias, y no sé cómo eliminar lo innecesario.
¿Qué te hace pensar que hay demasiadas cosas innecesarias? Si alguien ya ha escrito lo que usted necesita, entonces no ha escrito demasiado, ¿verdad? Y probablemente sea para que ese "innecesario" no sea el dinero de su depósito... ¿Qué te parece? O tal vez debería ofrecer, y lo que es más importante, mostrar lo que cree que es superfluo. Si no, vete a un foro de telepatía.
 
tuma88:


Gracias.

y ¿se puede encontrar la primera flecha y salir del bucle?

¿Cuál es? ¿Alguno de los dos? ¿O ambos, pero sólo el primero?

Si se necesita cualquier primera flecha, entonces se sale del bucle cuando se encuentra, pero si se necesitan ambas flechas, entonces el bucle, o más bien la búsqueda dentro del bucle, necesita ser reescrito.

 
artmedia70:

En algún lugar como este...

Este código no hará nada útil - cada vez que se encuentre una flecha en el bucle, asignará a las variables BarWithArrowUP y BarWithArrowDN el número de la barra donde se encuentra la flecha. Es usted quien debe decidir cómo manejarlos. Puedes crear un array donde guardar las barras con flechas hacia arriba y hacia abajo, y luego tomar los números de las barras con flechas de este array; o puedes, o puedes, lo que quieras... :)

Su código encontrará la primera flecha desde el principio del bucle. break romperá el bucle y return sólo será necesario si es una función, y devolverá el valor del buffer de la flecha encontrada, no el número de la barra en la que se encuentra esta flecha.


oops... ¿entonces lo escribí bien?

No necesito el número de bar.

Necesito cualquiera de la primera flecha y ese valor para recordar .

Sobre el retorno....Este valor entre paréntesis será la flecha ? (¿Este valor se puede ver, sentir, tocar de alguna manera? ¿O simplemente hay tensión en la toma de corriente o no? Es decir, cero y uno...)

En cuanto a mi código, quiero aclarar más la sintaxis

for (int i=0; i<Bars(); i++)

{

signal = iCustom (NULL,0 y así sucesivamente... búfer de flecha hacia arriba )

// aquí también deberíamos añadir una comprobación del búfer tanto para la flecha arriba como para la flecha abajo como haces tú ?

signal2=iCustom (NULL,0 y así sucesivamente... buffer de flecha hacia abajo )

// y aquí todavía tenemos que organizar una comprobación if (signal || signal2>0) para recordar el valor y salir del bucle.

Vaya... algo me tiene confundido... ¿cómo salir a cambio si tenemos señal y señal2 qué salir de ellos si resulta ser más que cero?

{ // aquí es donde se necesitan los paréntesis ???

return(señal)

}

romper

}
 

Cuál es el orden de sustitución de las barras en lugar de la i en iCustom

for (i=0; i<nBars; i++) {
   DataIndUP = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вверх, i)
   DataIndDN = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вниз, i) 
Por ejemplo, se buscan todas las barras para la función de la primera flecha hacia arriba, y luego se buscan las mismas barras para la función de la flecha hacia abajo... Quiero preguntar, ¿se calcula simultáneamente el valor de la flecha hacia arriba y hacia abajo en la barra seleccionada?
 
tuma88:

Y cuál es el orden de sustitución de las barras en lugar de la i en iCustom

Así que quería preguntar, ¿el valor de la flecha hacia arriba y hacia abajo en la barra seleccionada se calcula al mismo
tiempo?

El indicador, si dibuja flechas a través de un búfer, sólo puede emitir flechas diferentes con búferes diferentes. Por lo tanto, la flecha hacia arriba es emitida por un búfer, la flecha hacia abajo por otro. Para detectar y encontrar ambas flechas, hay que comprobar los dos buffers.

En el bucle, al principio, los valores de la barra 0 se comprueban en i=0; en la siguiente iteración del bucle, la primera barra se comprueba en i=1, luego la segunda, la tercera, y así sucesivamente, hasta i=nBars-1

En el bucle, se comprueban los valores de ambos búferes en cada iteración del bucle.

 
double DataIndUP, DataIndDN;
int    i, GlobalFlag, nBars = 250 ;  // nBars = количество проверяемых баров вглубь истории

for (i=0; i<nBars; i++) 
{
   DataIndUP = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вверх, i)
   DataIndDN = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вниз, i)
   if (DataIndUP !=EMPTY_VALUE)     // или if (DataIndUP !=0) // найдена стрелка вверх
                                    // всё зависит от того, что выдаёт буфер при отсутствии стрелки 
                                    // нажмите Ctrl+D и посмотрите что вам в окне данных будет показано
      GlobalFlag=+1                 // присвоение значения +1(стрелка вверх)  переменной 
      Break;                        //выход из цикла, так как  нашлась последняя стрелка
if (DataIndDN !=EMPTY_VALUE)     // или if (DataIndDN !=0) // найдена стрелка вниз
                                    // всё зависит от того, что выдаёт буфер при отсутствии стрелки 
                                    // нажмите Ctrl+D и посмотрите что вам в окне данных будет показано
      GlobalFlag=-1                 // присвоение значения -1(стрелка вниз) переменной
      Break;                        //выход из цикла, так как  нашлась последняя стрелка
}

¿Funcionará una construcción de este tipo con el operador GlobalFlag firmado y Break?

Pero antes, en el bloque donde se inicializan las variables, ¿debe inicializarse también esta variable? Y dar el tipo int a ?????

 

En fin. Tengo una idea para un robot. No puedo escribir el programa yo mismo, pero si estás interesado, házmelo saber.

 
Tupen:

En fin. Tengo una idea para un robot. No puedo escribir el programa yo mismo, por supuesto. Si te interesa, silba.

¿Crees que te van a silbar? Más bien abucheos... :)

Lanzar la idea y ver si la gente se anima (si la idea es buena)... Y por una cuota acordada puede incluso ser un poco más activo ... :)

 
Tupen:

En fin. Tengo una idea para un robot. No puedo escribir el programa yo mismo, pero si estás interesado, házmelo saber.

¿Trabaja bien con las manos utilizando este algoritmo?