Errores, fallos, preguntas - página 1840

 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

fxsaber, 2017.04.01 10:20

Hace tiempo, el operador [] se añadió a la cadena.
string Str = "AB C";
Print(CharToString(Str[1])); // B


¿Es posible, por parte de los desarrolladores, añadir un operador = para las matrices?

int a[], b[];
a = b; // ArrayCopy(a, b);


Dado que no hay punteros, un operador de este tipo haría que el lenguaje fuera más flexible, encontrando situaciones en las que sería MUY útil.

Lo mismo para las estructuras complejas
MqlTradeRequest a, b;
a = b;
 
fxsaber:
Lo mismo para las estructuras complejas
Puedes escribir la función Copiar(a, b), se ve y funciona no muy bien, pero como opción...
 
Комбинатор:
Puedes escribir la función Copiar(a, b), se ve y funciona no tan bien, pero es una opción...
Esta función no será universal (a través de la plantilla).
 
fxsaber:
Esta función no sería universal (a través de una plantilla).
Puedes hacer una sobrecarga para cada estructura. Al final, por supuesto, ocupará mucho espacio, no una plantilla, pero se puede utilizar universalmente sin problemas
 
Комбинатор:
Podrías hacer una sobrecarga para cada estructura. Al final va a ocupar mucho espacio, por supuesto, no es una plantilla, pero se puede utilizar universalmente sin problemas

Pero sabes que no se trata de eso. Universal es cuando funciona no sólo para las estructuras complejas regulares, sino también para las complejas personalizadas.

ZZY Por el momento es imposible escribir una función de este tipo

MqlTradeRequest Func();

Probablemente no sea una buena limitación de la lengua.

 
¿Es posible compensar la falta de punteros a un array introduciendo la posibilidad de devolver un array mediante una función?
int[] Func()
{
  int a[] = {1, 2, 3};

  return(a);
}

Print(Func()[1]); // 2
 

No sé si este es el tema adecuado.

Problema con los perfiles en MT5 y MT4

Al guardar los perfiles, por ejemplo, 6 gráficos para cada par por separado, cuando abro un perfil a menudo abro uno diferente al que necesito. Y el que necesito no se abre del todo.

Pensé que el problema está en el terminal del broker en MT4 (originalmente intenté configurar los perfiles allí), me bajé el original de MT5 de Metaquotes y el mismo problema.


¿Dónde cavar?

 
Oleg:

No sé si este es el tema adecuado.

Problema con los perfiles en MT5 y MT4

Al guardar los perfiles, por ejemplo, 6 gráficos para cada par por separado, cuando abro un perfil a menudo abro uno diferente al que necesito. Y el que necesito no se abre del todo.

Pensé que el problema está en el terminal del broker en MT4 (originalmente intenté configurar los perfiles allí), me bajé el original de MT5 de Metaquotes y el mismo problema.

¿Dónde cavar?


Para empezar, una descripción coherente y precisa. MT5 - construye donde está el directorio de datos (después de recargar toma las tres primeras líneas de la pestaña "Log"):

  1. Abrir los gráficos de tal y tal (captura de pantalla). Guardado en una plantilla. Adjunto la plantilla.
  2. ha abierto otros gráficos (captura de pantalla). Guárdalo en una nueva plantilla. Se adjuntó la plantilla.
  3. Repite los pasos 1, 2.
  4. Plantilla aplicada №1 - lo que tenemos.
  5. y luego aplicar la plantilla 2 - lo que tenemos.
Así.
 
Oleg:

No sé si este es el tema adecuado.

Problema con los perfiles en MT5 y MT4

Al guardar perfiles, por ejemplo, 6 gráficos para cada par por separado, cuando abro un perfil a menudo abro uno diferente al que necesito. Y el que necesito no se abre del todo.

Pensé que el problema está en el terminal del broker en MT4 (originalmente intenté configurar los perfiles allí), me bajé el original de MT5 de Metaquotes y el mismo problema.


Entiendo a grandes rasgos cuál es el problema. Cuando creo un nuevo campo y lo guardo con un nombre diferente, el perfil simplemente se sobrescribe. Aunque debería guardarse con otro nombre.


¿Dónde cavar?

Esto siempre ha sido así. Cualquier cambio de perfil provoca cambios en el perfil abierto, entonces si lo guardas con otro nombre se guardarán dos perfiles idénticos. Para solucionar este problema sólo hay que seguir la siguiente secuencia de pasos

1. Guardar el perfil actual.

2. Configure el nuevo perfil y guárdelo con un nombre diferente.

Así, se guardarán dos perfiles diferentes...

 
Vladimir Karputov:


Comience con una descripción coherente y precisa para empezar. MT5 - construye donde está el directorio de datos (después de recargar toma las tres primeras líneas de la pestaña de registro):

  1. tantos gráficos abiertos (captura de pantalla). Guardado en una plantilla. Se adjuntó la plantilla.
  2. Abrir otros gráficos (captura de pantalla). Guárdalo en una nueva plantilla. Se adjuntó la plantilla.
  3. Repite los pasos 1, 2.
  4. Plantilla aplicada №1 - lo que tenemos.
  5. y luego aplicar la plantilla 2 - lo que tenemos.
Más o menos.

Gracias por su rápida respuesta. Parece que lo han resuelto, la última plantilla guardada no sólo se guarda con su nombre, sino que se convierte automáticamente en la predeterminada.

Para guardar todo correctamente, abro por defecto, pongo los gráficos necesarios y los guardo con mi nombre.