Preguntas "para" de los operadores de bicicletas - página 16

 
RaptorUK:

Nop, esto es incorrecto . . deshacerse de él. Las posiciones y los índices son la misma cosa y son de 0 a 9 . . no hay nada que sea del 1 al 10 . . expúlsalo de tu cerebro.

Esto tiene que ser rectificado, pronto.

Si los índices y los números de posición son idénticos...

Diez entradas en total en el pool de órdenes de operaciones activas:

los números de posición de los tickets son los siguientes: 0,1,2,3,4,5,6,7,8,9

los números de posición de los tickets indexados son los siguientes: |0|1|2|3|4|5|6|7|8|9|

Si efectivamente es así, un número de posición de billete puede ser cero (0).

Por favor, confirme las afirmaciones anteriores o indique lo contrario.


Gracias.

 
WhooDoo22:

Esto tiene que ser rectificado, pronto.

Si los índices y los números de posición son idénticos...

Diez entradas en total en el pool de órdenes de operaciones activas:

los números de posición de los tickets son los siguientes: 0,1,2,3,4,5,6,7,8,9

los números de posición de los tickets indexados son los siguientes: |0|1|2|3|4|5|6|7|8|9|

Si este es el caso, un número de posición de billete puede ser cero (0).

Ya hemos pasado por esto... una Orden tiene un número de ticket... una Orden también tiene una posición en el pool de negociación para las Órdenes abiertas/pendientes o en el pool de historial para las Órdenes cerradas..

Si tenemos 10 órdenes abiertas las posiciones de la Orden son de 0 a 9 o 0,1,2,3,4,5,6,7,8,9 o |0|1|2|3|4|5|6|7|8|9| fin, hecho

 
RaptorUK:

Ya hemos pasado por esto... una Orden tiene un número de ticket... una Orden también tiene una posición en el pool de negociación para las Órdenes abiertas/pendientes o en el pool de historial para las Órdenes cerradas..

Si tenemos 10 órdenes abiertas las posiciones de la Orden son de 0 a 9 o 0,1,2,3,4,5,6,7,8,9 o |0|1|2|3|4|5|6|7|8|9| end, Fin, done


Gracias.
 

Hola foro de la comunidad MQL4,

Actualmente, intento guardar los valores de los precios para los cierres de las órdenes. He intentado incluir la función OrderProfit() pero no me gusta. No-no :O .La usaré si todas las demás vías fallan. Me gustaría guardar el precio de cierre de la orden :) en lugar de usar la función OrderClosePrice(). Una vez guardados todos los precios de cierre de las órdenes podría agrupar los resultados en pares. Una vez agrupados en pares, sumar cada grupo y luego dividir cada grupo por dos para obtener su promedio. Una vez promediados todos los pares reagrupar los resultados y repetir el proceso. Una vez promediados todos los pares y que sólo quede un total, restaría el spread de este total y si el resultado es mayor o igual (>=) al precio de apertura de la orden, un booleano quedaría falso. Si el resultado es menor que el precio de apertura de la orden se inicializaría un booleano true.

¿Alguien ha hecho esto antes? Si es así, ¿puede proporcionar algunas advertencias a tener en cuenta?

Gracias

 
WhooDoo22:

¿Alguien ha recorrido este camino antes? Si es así, ¿puede proporcionar algunas advertencias a tener en cuenta?

No lo hagas... lee lo que necesites del Historial está todo ahí. Mantén las cosas simples... si guardas los datos en una matriz tienes que guardarlos también en un archivo para que en caso de que MT4 o el PC se caigan puedas recuperarlos... etc, etc, etc

HEADACHE
 

Ah sí, la piscina de la historia. "¡No hay que pensarlo!". ¡Eres un profesional directo, Simon! ¡Jajaja! ;) ¿Por qué no he pensado en esto primero, ¿verdad?

¡Usted hará un "MQL4 codificación estrella de rock fuera de mí todavía! ¡Jajajaja!

Gracias

 

Simon,

He estado revisando la documentación de los operadores 'Break' y 'Continue'. Por lo que puedo ver, un operador 'Break' termina un ciclo del operador 'while' o 'for' pasando el control del programa a la siguiente línea de código por debajo del ciclo 'while' o 'for'. Un operador 'Continue' deja de leer el cuerpo del ciclo del operador 'while' o 'for' y pasa el control del programa a la expresión de un ciclo del operador 'while' O a la 'Expresión 2' si un ciclo 'for' no posee la 'Expresión 3' o a la 'Expresión 3' si el ciclo 'for' posee la 'Expresión 3'.

¿Cuál es su opinión al respecto?

Gracias

 
WhooDoo22:

Simon,

He estado revisando la documentación de los operadores 'Break' y 'Continue'. Por lo que puedo ver, un operador 'Break' termina un ciclo del operador 'while' o 'for' pasando el control del programa a la siguiente línea de código por debajo del ciclo 'while' o 'for'. Un operador 'Continue' deja de leer el cuerpo del ciclo del operador 'while' o 'for' y pasa el control del programa a la expresión de un ciclo del operador 'while' O a la 'Expresión 2' si un ciclo 'for' no posee la 'Expresión 3' o a la 'Expresión 3' si el ciclo 'for' posee la 'Expresión 3'.

¿Cuál es su opinión al respecto?

Gracias

En resumen: usa continue dentro de un bucle para saltar al punto de entrada. usa break para salir del bucle inmediatamente.

Una cosa más, break y continue son operaciones de optimización de código, nunca las necesitas realmente. Además, úsalas con cuidado, ya que pueden dar lugar a bugs difíciles de rastrear.

Como casi siempre con la programación, un simple ejemplo dice más que 1000 palabras:

for(int i=0;i<10;i++){
 Print("1");
 continue;
 Print(2);
}

//Prints: 1111111111

for(int i=0;i<10;i++){
 Print("1");
 break;
 Print(2);
}

//Prints: 1

 

Michael, gracias por tu explicación en palabras y en código. Ambas son explicativas.

Gracias