[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 320
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
O bien cuenta todos los paréntesis de la izquierda, luego todos los paréntesis de la derecha, y luego compara las cantidades, o comenta las funciones una por una hasta encontrar el error. El gusto y el color de cada uno (diseño del código fuente) es diferente.
Hay 4 paréntesis de apertura y 4 paréntesis de cierre, todo bien. Pero como los comentarios pueden ayudarme no entiendo muy bien
Puedes comentar primero las funciones personalizadas, y luego comentar los bucles, las construcciones lógicas... Te aseguro que encontrarás una coincidencia con tu soporte por corte secuencial. O tal vez también se olvidó de poner ";" en alguna parte...
¿No confundes SI con PARA?
Lo siento, no me di cuenta de inmediato.
Compárelo con este fragmento. Es sólo una variante.
¿Quién puede explicar por qué la 6ª orden no se abrió en la vela y qué hacer para que se abra?
Registro.
2011.11.04 19:42:21 1999.11.04 20:00 RLB_FLAT GBPUSD,H4: open #7 sell stop 0.10 GBPUSD at 1.62233 sl: 1.64443 tp: 1.57089 ok
2011.11.04 19:42:21 1999.11.04 20:00 Comprobador: #6 borrado por caducidad
2011.11.04 19:42:10 1999.11.04 12:00 RLB_FLAT GBPUSD,H4: open #6 sell stop 0.10 GBPUSD at 1.63373 sl: 1.64570 tp: 1.62652 ok
2011.11.04 19:42:09 1999.11.04 08:00 Comprobador: #5 borrado por caducidad
2011.11.04 19:42:06 1999.11.04 00:00 RLB_FLAT GBPUSD,H4: open #5 sell stop 0.10 GBPUSD at 1.63622 sl: 1.64702 tp: 1.63411 ok
2011.11.04 19:42:00 1999.11.02 04:00 Comprobador: #4 borrado por caducidad
2011.11.04 19:41:53 1999.11.01 20:00 RLB_FLAT GBPUSD,H4: open #4 sell stop 0.10 GBPUSD at 1.63365 sl: 1.64917 tp: 1.61097 ok
La cuarta, quinta y sexta órdenes pendientes han sido eliminadas por caducidad.
Aumentar su vida útil o poner 0 (cero), ver. Modificación del pedido()
Los aplazamientos cuarto, quinto y sexto se han suprimido debido a su fecha de vencimiento.
Aumentar su fecha de caducidad o ponerla a 0 (cero) ver OrderModify(). Modificación del pedido()
Lo que me confunde es que antes de que expirara la 6ª orden (expiró a las 20:00) hubo una vela bajista a las 16:00. Esto se puede ver en la imagen.
1. La función encuentra la orden con el ticker más alto en el historial, lo que significa la última orden cerrada (a menos que, por supuesto, haya un caso excepcional, para el cual es preferible su opción con el tiempo de cierre máximo).
2. Según las condiciones , la primera orden se abre con el TP/SL especificado y sólo la segunda orden puede abrirse con el nuevo TP/SL, lo que significa que la función puede devolver cero sólo si la primera operación fue cero, pero no si no hay órdenes cerradas en el historial.
Una última cosa. En tu variante el uso de j y otro SELECT en la función es redundante.
es suficiente:
1. ¿Puede confiar al 100% en su corredor (o en el del cliente) sobre la numeración de las entradas? El tiempo sigue siendo un valor más estable - aquí sólo puede cambiar la hora manualmente ajustando el historial. En mi opinión, es mejor utilizar el tiempo.
2. Si el cliente necesita cambiar la lógica, entonces su función puede tener que ser reescrita.
3. ¿Sugiere usted
para utilizarlo dentro de un bucle? ¿Para qué? Sólo se puede utilizar una vez para el último pedido ya encontrado.
А... Su cliente no probará ni optimizará. Ya veo...
GlobalVariableSetOnCondition() - ¿puede explicar en lenguaje sencillo lo que hace esta función? La descripción en la ayuda es muy confusa, no puedo entender algunos puntos?
Establece un nuevo valor de la variable global existente si el valor actual de la variable es igual al valor del tercer parámetro check_value. Si la variable no existe, la función generará un error ERR_GLOBAL_VARIABLE_NOT_FOUND (4058) y devolverá FALSE. La función devolverá TRUE si se ejecuta con éxito, en caso contrario devolverá FALSE. Para obtener la información del error, se debe llamar a la función GetLastError(). Si el valor actual de la variable global es diferente de check_value, la función devolverá FALSE.
Esta función permite el acceso atómico a la variable global, por lo que puede utilizarse para crear un semáforo para la comunicación concurrente entre varios Asesores Expertos en el mismo terminal de cliente.
GlobalVariableSetOnCondition() - ¿podría explicar en lenguaje sencillo lo que hace esta función? La descripción en la ayuda es muy confusa, no puedo entender algunos puntos?
Establece un nuevo valor a una variable global existente, si el valor actual de la variable es igual al tercer parámetro check_value. Si la variable no existe, la función generará un error ERR_GLOBAL_VARIABLE_NOT_FOUND (4058) y devolverá FALSE. La función devolverá TRUE si se ejecuta con éxito, en caso contrario devolverá FALSE. Para obtener la información del error, se debe llamar a la función GetLastError(). Si el valor actual de la variable global es diferente de check_value, la función devolverá FALSE.
Esta función permite el acceso atómico a la variable global, por lo que puede utilizarse para crear un semáforo para la comunicación concurrente entre varios Asesores Expertos en el mismo terminal de cliente.
Suponga que tiene una variable global GL_Var.
Actualmente tiene un valor de 1,0.
Hay que comprobar si esta variable tiene un valor de 1,0 y, si es así, ponerla a 2,0
Será así:
Para manejar los valores de retorno de esta función, puede llamarla mediante if
Antes de llamar a la función, puede comprobar si la variable global GL_Var existe, para evitar el error ERR_GLOBAL_VARIABLE_NOT_FOUND
Por favor, ayude a resolver un pequeño problema geométrico. Hay una línea con coordenadas p1 y p2 (mostradas en rojo en la imagen). Necesito encontrar la coordenada de p3, que es el 38,2% de la coordenada de p2. He hecho lo siguiente:
if(p2>p1) p3=p2-(p2-p1)*0,382; verdadero para la parte superior de la figura
if(p1>p2) p3= p2+(p1-p2)*0,382; verdadero para la parte inferior de la figura
¿Hay alguna manera de escribir esto en una ecuación sin "si"?
Pues escríbelo así.
p3=p2-(p2-p1)*0,382
Bueno, escríbelo así.
p3=p2-(p2-p1)*0,382
Y en efecto. Gracias por su ayuda.