Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 880

 
Shurkin:
Desinstalé el antiguo terminal a través del Panel de Control - Quitar Programas, copié los archivos de configuración en el archivo antes de hacerlo.
¿Dónde estaba instalado el antiguo terminal? Dónde se instaló el nuevo terminal. ¿En qué directorio? En el nuevo terminal Archivo --> Abrir directorio de datos. Esto abrirá el explorador. Allí, en las carpetas correspondientes, pon lo que has guardado previamente. Aunque puede ser que no hayas guardado desde el directorio de datos del terminal, sino desde su ubicación local (depende de dónde y en qué modo se haya instalado el terminal)
 
evillive:

Como continuación, ya que los demás sólo se quejan y no van a meter las narices...

Como las variables se declaran dentro de una función, no son variables GLOBALES, sólo para futuras referencias, en caso de que realmente necesites escribir código de trabajo. Las variables globales se declaran fuera de las funciones, al principio del código, por ejemplo.

Eso es lo que quiero decir:

En esta forma, la función no hace nada y trabaja en el vacío. Los resultados desaparecen justo después de que la función termine de trabajar (esto es exactamente lo que Artem y Victor insinuaron anteriormente).


Pero después de eliminar esta función, recibo una advertencia de que las expresiones no están permitidas en las variables globales. Por eso quise dividir todo el código en varios archivos de inclusión: todas las variables utilizadas en el código se declaran y calculan en uno de ellos; otro establece las condiciones para las órdenes de apertura y el resto establece por separado las condiciones de cierre para la compra y la venta. Tal vez sea una tontería, pero pensé que sería más fácil encontrar y corregir los errores de esta manera.

Aunque no son realmente variables globales, ¿pasarán sus valores a la sentencia if-else en la que se basa mi código? Y si los resultados desaparecen cuando la función termina, y el compilador genera un error sin la función, entonces ¿no puedo simplemente mover las variables globales a un archivo separado?

Y en cuanto a las bromas, deja que los chicos se diviertan: es cansino leer siempre tonterías de los novatos, ¿no?

 
Señores programadores, ¿todo se enseña hoy en día para que los ejemplos del libro de texto compilen con un mensaje de error? ¿De qué sirve entonces este ejemplo? ¿Cómo puedo escribir código correctamente si los ejemplos a los que me refiero NO son correctos?
 
rapid_minus:
Señores programadores, ¿todo se enseña hoy en día para que los ejemplos del libro de texto compilen con un mensaje de error? ¿De qué sirve entonces este ejemplo? ¿Cómo voy a ser capaz de escribir código correctamente si los ejemplos por los que me guío NO son correctos?
También hay ejemplos en kodobase, esos parecen compilar sin errores.
 
rapid_minus:


Pero cuando elimino esta función, recibo una advertencia de que las expresiones no están permitidas en las variables globales. Y por eso quise dividir todo el código en varios archivos de inclusión: uno de ellos declara y calcula todas las variables utilizadas en el código, otro establece las condiciones para las órdenes de apertura y el resto establece por separado las condiciones de cierre para la compra y la venta. Tal vez sea una tontería, pero pensé que sería más fácil encontrar y corregir los errores de esta manera.

Aunque no son realmente variables globales, ¿pasarán sus valores a la sentencia if-else en la que se basa mi código? Y si los resultados desaparecen cuando la función termina, y el compilador genera un error sin la función, entonces ¿no puedo simplemente mover las variables globales a un archivo separado?

Y en cuanto a las bromas, deja que los chicos se diviertan: es cansino leer siempre tonterías de los novatos, ¿no?

Nadie ha dicho que haya que eliminar la función, hay que mover la declaración de variables fuera de la función, al principio del código. O incluso declararlos en el archivo principal.
 
evillive:
Nadie ha dicho que haya que eliminar la función, sino que hay que declararla fuera de la función, al principio del código. O declararlos en el archivo principal por completo.

Has dicho más arriba que los resultados desaparecen cuando la función termina. Pero no puedo eliminar la asignación de valores a las variables del cuerpo de la función - el compilador genera errores. ¿Resulta que he asignado valores a las variables en la función, pero al activar el archivo con ellas, estos valores no se leen y el compilador frunce el ceño de nuevo? Es decir, ¿no puedo escribir el código del archivo de inclusión sólo desde las variables globales?
 
rapid_minus:

Has dicho más arriba que los resultados desaparecen cuando la función termina. Pero no puedo eliminar la asignación de valores a las variables del cuerpo de la función - el compilador se queja de errores. Entonces, resulta que he asignado valores a las variables en la función, pero al activar el archivo con ellas, estos valores no se leerán y el compilador se quejará de nuevo? Es decir, ¿no puedo escribir el código del archivo de inclusión sólo desde las variables globales?

Esto es lo que quería decir:

//|Включаемый файл "Глобальные переменные"                           |
//+------------------------------------------------------------------+
//-----Объявляем Глобальные переменные:------------------------------------------

double High_0, High_1, High_2;             // Значение верхней линии Bollinger на 0, 1 и 2 барах
   double Low_0, Low_1, Low_2;                // Значение нижней линии Bollinger на 0, 1 и 2 барах
   double Delta_0, Delta_1;                   // Разница межу значениями верхней и нижней ...
                                              // ...линий Bollinger на 0 и 1 барах

void  Variables()
{

High_0=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,0);
     High_1=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,1);
     High_2=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_UPPER,2);
     Low_0=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,0);
     Low_1=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,1);
     Low_2=iBands(NULL,0,10,2,0,PRICE_CLOSE,MODE_LOWER,2);
     Delta_0=(High_0-Low_0);
     Delta_1=(High_1-Low_1);
}
//------------------------------------------------------------------------------------------
 
evillive:

Esto es lo que quería decir:

:)

"... ¡SOS! Aquí hay un fragmento del archivo de variables globales incluido. El resto es exactamente igual.

Hice todo lo que pude: cambié los parámetros, eliminé las variables del archivo individualmente y en grupos para encontrar el error - todo en vano:

Aviso "no todas las rutas de control devuelven un valor". ¿Cuál es la razón entonces? ..."

Estrictamente en una espiral de vuelta al primer puesto del solicitante.

 
tara:

:)

"... ¡SOS! Aquí hay un fragmento del archivo de variables globales incluido. El resto es exactamente igual.

Hice todo lo que pude: cambié los parámetros, eliminé las variables del archivo individualmente y en grupos para encontrar el error - todo en vano:

Aviso "no todas las rutas de control devuelven un valor". ¿Cuál es la razón entonces? ..."

Estrictamente en una espiral de vuelta al primer puesto del solicitante.

Y si te fijas bien... Hay un pequeño matiz que todavía no puedo hacerle entender...

P.D.: int to void corregido.

 
evillive:

¿Qué tal una mirada más cercana? Hay un pequeño matiz que todavía no puedo hacerle entender...

P.D.: He corregido int por void.


Sí, lo he arreglado, pero tú, por lo que he entendido en tu último post, has vuelto a devolver int ?

ZS: He visto la corrección, pero ahora no entiendo nada... Bueno, has dejado la asignación de valores en función, pero han desaparecido (ver arriba)...

Razón de la queja: