[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 192
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
Igor Kim tiene un asesor que hace lo siguiente en un intervalo determinado
Gracias.
Hola.
Problema con las órdenes pendientes, concretamente con la fecha de caducidad.
Así se abre una nueva orden, es decir, si no se ha activado en una hora, el servidor debe cerrarla.
Entonces compruebo cuál es la fecha de caducidad:
Esto es lo que obtengo cuando el EA funciona en el probador:
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: open #1 sell limit 2.00 EURUSD at 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: Alert: OrderExpiration = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 Probador: la orden #1, vender 2.00 EURUSD se abre a 1.27972
Es decir, la fecha y la hora de vencimiento se establecen correctamente, como quiero, pero no hay cierre en el momento del vencimiento - una posición se abre después de 24 horas.
He buscado en algunos foros y el problema se produce. Las respuestas habituales son "a mí me funciona" o "rastrea tú mismo las órdenes pendientes". No quiero seguirlos yo mismo y no me funciona.
Igor Kim tiene un asesor que hace lo siguiente en un intervalo determinado
Funciona muy bien.
Gracias por el consejo.
Funciona muy bien.
Gracias por el consejo.
No soy yo, es Google.
Creo que puedes sacar la función de guardar la pantalla desde allí y establecer tus propios parámetros para llamarla - me dio mucha pereza...
Lo he observado en modo visual y casi todos los cierres dobles son los últimos, los anteriores están cerrados por SL y TP, es decir, no hay nada que elegir. He eliminado las paradas y las tomas para tener algo que elegir. ¡Mañana mostraré su Asesor Experto con todas las funciones adicionales y comentarios! Podrás comprobar por ti mismo cómo funciona. ¡Quiero que se demuestre que me he equivocado! Si tengo razón, ¡intentaré hacerlo lo mejor posible! ¡Hasta mañana!
Sergey, Dubakin He hecho una comprobación visual y me he asegurado de que esta función selecciona los máximos, que es lo que necesitaba. Me alegro de que ya no tenga dudas, ¡y mis disculpas a usted! Pero en nuestro negocio "es mejor medir siete veces..." Mostrando a su probador EA para la comprobación de funciones, con características y comentarios añadidos para una comprobación visual más clara. Gracias.
Sergey, Dubakin He hecho una comprobación visual y me he asegurado de que esta función selecciona los máximos, que es lo que necesitaba. Me alegro de que ya no tenga dudas, ¡y mis disculpas a usted! Pero en nuestro negocio "es mejor medir siete veces..." Mostrando a su probador EA para la comprobación de funciones, con características y comentarios añadidos para una comprobación visual más clara. Gracias.
Cómo así... Basado en Igor Kim hizo algo... Sólo una de sus características... el resto es lo mismo...
algo así, supongo:
Y llámala:
para contar la compra y la venta por el símbolo actual, con Magic
¿Puedes decirme cómo elegir el lote más pequeño entre todas las operaciones abiertas?
double min=0;
int min_ticket=0;
for(i=0;i<ot;i++)
{
if(!OrderSelect(i,SELECT_BY_POS)) continue;
if(OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue;
if(i==0||min>OrderLots()) {min = OrderLots(); min_ticket=OrderTicket();}
}
La variable i tiene un valor de 0 sólo al principio del bucle. Además, añadirá 1 valor con cada iteración.He estado navegando por el hilo. Su lógica es extraña. Me interesa la última línea de código:
Entonces hay una condición que hará que el bucle continúe:
Pero min se declara como cero y su valor no cambia en ninguna otra parte del código. Lo que significa que este valor nunca será verdadero. ¿Dónde está la lógica?
La variable i tiene un valor de 0 sólo al principio del bucle. Además, añadirá valor con cada iteración por 1.He estado navegando por el hilo. Su lógica es extraña. Me interesa la última línea de código:
Entonces hay una condición para que el ciclo continúe:
Pero min está declarado como cero, y su valor nunca cambia en ninguna otra parte del código. Lo que significa que este valor nunca será verdadero. ¿Dónde está la lógica?
La variable i tiene valor 0 sólo al principio del bucle. Además, añadirá valor con cada iteración por 1.Miré a través de la rama. Su lógica es extraña. Me interesa la última línea de código:
Entonces hay una condición para que el ciclo continúe:
Pero min está declarado como cero, y su valor nunca cambia en ninguna otra parte del código. Lo que significa que este valor nunca será verdadero. ¿Dónde está la lógica?Tenga en cuenta
Si min>OrderLots(), entonces min = OrderLots();
Tenga en cuenta
Si min>OrderLots() entonces, min = OrderLots();