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

 

Hola a todos.

Estoy viendo un ejemplo de un libro de texto. No puedo entender qué función cumple la siguiente condición:

ObjectSet(His_Name,OBJPROP_RAY,  false);  

Yo mismo he adjuntado el código. El Asesor Experto colorea las últimas n barras.

Por favor, ayúdenme a entenderlo.

Archivos adjuntos:
strings.mq4  7 kb
 
rigonich:


void,int,bool que preceden a una función inicializada, indican el tipo de variable, cuyo valor es devuelto por la función al programa para que éste pueda seguir trabajando con ella.void indica que la función no devuelve ningún valor (si el resultado de la función es, por ejemplo, cerrar o abrir órdenes, o cambiar valores de variables globales, no debería devolver valores, porque

En cuanto alOTROidioma, existe una versión en inglés del foro. La lengua es simplemente un conjunto de reglas y en una determinada lengua hay nombres comunes para los objetos y los fenómenos. Si utilizas nombres que no son comunes, sino los que prefieres, no te entenderán.


Creo que lo tengo :)) gracias :))
 
Sergstuddek:
La esencia del trabajo del EA es simple: en un momento determinado (01.00 a 10.00) determinar el precio mínimo y máximo y poner las órdenes pendientes


Ya he visto su código y no sé qué decir. Como dijoTarasBY más arriba, es más fácil decir lo que está bien en él:

Como le dije anteriormente -- las funciones Seconds(),Minute(),Hour() devuelven la hora de inicio del servidor, y bajo esta condición si (Hour()==10), su función no funcionará si no inició su Asesor Experto a las 10 en punto. Estas condiciones se dan todo el tiempo. Lea atentamente la descripción de las funciones en la Ayuda.

2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) y if (TIMECLOSELOW19<TIMEOPENHIGH19) -- estas son condiciones que siempre funcionarán.

3. No escribas 3 o 4 funciones casi idénticas en un programa, haz una sola función y pásale los parámetros necesarios cuando la llames. Esto no es un error, pero hace que tu código sea engorroso y difícil de leer.

4) Utiliza cualquiera, pero siempre el mismo sistema de análisis sintáctico (espacios, tabulaciones, saltos de línea, paréntesis), de lo contrario te confundirás y confundirán a los demás.

Es suficiente por ahora, arréglalo y luego veremos.

 
Pacman:

Hola a todos.

Estoy viendo un ejemplo de un libro de texto. No puedo averiguar qué función hace la siguiente condición:

Yo mismo he adjuntado el código. El Asesor Experto colorea las últimas n barras.

Por favor, ayúdenme a entenderlo.


doble ObjectGet( string name, int prop_id)
La función devuelve el valor de la propiedad del objeto especificado. Llame aGetLastError() para obtener información sobre el error.
Véase también ObjectSet().
Parámetros:
nombre - nombre del objeto.
prop_id - Identificador de la propiedad del objeto. Puede ser cualquiera de los valores de la lista de propiedades del objeto.
 
rigonich:


He mirado tu código y no sé qué decir. Como dijoTarasBY más arriba, es más fácil decir lo que está bien en él:

Como le dije anteriormente -- las funciones Seconds(),Minute(),Hour() devuelven la hora de inicio del servidor, y bajo esta condición si (Hour()==10), su función no funcionará si no inició su Asesor Experto a las 10 en punto. Estas condiciones se dan todo el tiempo. Lea atentamente la descripción de las funciones en la Ayuda.

2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) y if (TIMECLOSELOW19<TIMEOPENHIGH19) -- estas son condiciones que siempre funcionarán.

3. No escribas 3 o 4 funciones casi idénticas en un programa, haz una sola función y pásale los parámetros necesarios cuando la llames. Esto no es un error, pero hace que tu código sea engorroso y difícil de leer.

4) Utiliza cualquiera, pero siempre el mismo sistema de disposición de los caracteres sintácticos (espacios, tabuladores, saltos de línea, paréntesis), de lo contrario te confundirás y confundirán a los demás.

Por ahora es suficiente, arreglarlo y luego ya veremos.

Te mereces un monumento. ¡¡¡¡El mayor problema para ayudar al "programador del mañana" es que no puede darse cuenta o incluso explicar "¿QUÉ QUIERE?", porque es IMPOSIBLE conseguir la sensación de kolbak-inserto al mismo tiempo!!!! :)))
 
TarasBY:
¡Ya deberías tener un monumento a ti mismo! El mayor problema para ayudar al "programador del mañana" es que no puede darse cuenta ni explicar "lo que quiere...", ¡porque no hay manera de que consiga el kolbak-insert-perk todo al mismo tiempo! :)))


Como decía Kissa Sparrowmaninov. Sí.
 
rigonich:
doble ObjectGet( string name, int prop_id)
La función devuelve el valor de la propiedad del objeto especificado. Es necesario llamar aGetLastError() para obtener la información del error.
Véase también ObjectSet().
Parámetros:

Todo esto está claro para mí. Pero, ¿qué función específica realiza esta sección de código?
 ObjectSet(    His_Name, OBJPROP_RAY,   false); // Луч
 

Esto es lo que ya he escrito:

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

int inicio()

{

condición de compra,

la propia compra,

y modificación

return(0);

}

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

El problema es que ahora tengo que introducir condiciones NUEVAS, condiciones de cierre, y luego se cierra él mismo, y mi EA empieza a modificarse infinitamente (el stop y la toma se fijan, pero el mensaje de modificación exitosa aparece con cada tick).

¿Cómo puedo ahora crear un bucle dentro de este inicio para las nuevas condiciones y el cierre, por lo que la primera parte de la EA no se verá afectada hasta que se cierre por completo?

 
rigonich:

Entonces no lo sé. Tienes que mirar a través del código, no sólo de la función, sino de todo el programa, comprobar si hay errores en el camino, imprimir los valores de las variables y el último error y buscar un lugar específico de error en el código. Cuando depuraba mis propios programas, si eran bastante grandes (unas 1000 líneas) a veces tardaba semanas, es decir, más tiempo que en escribirlos.


no hay nada malo ahí, cuando no existían estas funciones, todo funcionaba como un reloj! y ahora funciona, pero el error en la modificación se produce en la propia función

Tengo una idea, ¿tal vez este error aparece porque la función de modificación está en la función del usuario, no en el cuerpo de start()?

 
Pacman:



Dice que no construya un rayo para un objeto llamado Su_Nombre.