[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 610
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
¡Buenas tardes! Por favor, ayúdenme con la modificación de la orden, es decir, el ciclo de selección de la orden para su condición. Primero encuentro una orden activada en TakeProfit, es una orden específica con el ticket tacket. Así, el bucle falla aproximadamente una de cada diez veces, lo que se indica por la diferencia de líneas verdes y azules en el probador. Y la visualización - el stop loss a veces no se mueve.
En general, ¡ayuda, por favor!
Condición
1.Se ejecuta si no hay órdenes en el historial del terminal y no tiene sentido continuar el ciclo en ese caso.
¡¡¡Gracias!!! Ahí es donde va a caer todo. ¡¡¡Ese es el problema!!! ¿Cómo se modificaba a sí mismo de vez en cuando?
2. Para encontrar una orden activada exactamente en el Take Profit, debemos comparar el valor del TP con el precio de cierre de la orden
Primero selecciono un determinado orden en el bucle del historial y luego parece que lo comparo así.
¡if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) continue; En mi bucle, es así - si no hay órdenes en el historial de la terminal, y no tiene sentido continuar el bucle en ese caso, entonces ¡continúa!
Así que es así, ¿no?
Vaya, ¡¡¡un acertijo!!!
1.Se ejecuta si no hay órdenes en el historial del terminal y no tiene sentido continuar el ciclo en ese caso.
¡¡¡Gracias!!! Ahí es donde va a caer todo. ¡¡¡Ese es el problema!!! ¿Cómo se modificaba a sí mismo de vez en cuando?
2. Para encontrar una orden activada exactamente en el Take Profit, debemos comparar el valor del TP con el precio de cierre de la orden
Primero selecciono un determinado orden en el bucle del historial y luego parece que lo comparo así.
Si se trata de un pedido específico, es decir, si se conoce el número de billete, no es necesario un ciclo, basta con seleccionarOrderSelect(ticket,SELECT_BY_TICKET, MODE_HISTORY)
¡if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue; En mi bucle es así - si no hay órdenes en el historial de términos, y no tiene sentido continuar el bucle en ese caso, ¡entonces continue!
Así que es así, ¿no?
¡¡¡Wow, acertijo!!!
Entonces,break oreturn.continue; -- el operador de continuación del ciclo.
Entonces, ¿por qué comparas lo mismo un montón de veces seguidas?
¿Cómo crees que se debe comparar?
if(Stoch_1>Stoch_2) { flag1=1 ; Print (flag1,flag2,flag3,flag4); }
if(Stoch_1<Stoch_2 && flag1==1) flag2=1 ; Print (flag1,flag2,flag3,flag4); }
if ((Stoch_1>Stoch_2) && flag1==1 && flag2==1) {flag3=1; Print (flag1,flag2,flag3,flag4);PlaySound("alert.wav");}
if(Stoch_1<Stoch_2 && flag1==1 && flag2==1 && flag3==1) flag4=1;
{Imprimir (flag1,flag2,flag3,flag4);}
if(Stoch_1>Stoch_2 && flag1==1 && flag2==1 && flag3==1 && flag4==1)
{OrderSend (Symbol( ), OP_SELL, 0.01 ,Bid, 0, 0, 0, NULL, 450, 0, CLR_NONE);
Print ("OUT");}
flag1=0;
flag2=0;
flag3=0;
flag4=0;
Entendiendo que vas a aprender y por aprender escribes algo... Por lo menos, he dispuesto sus paréntesis de tal manera que juegan un papel, en mi opinión.
y a pesar de que su código dio 24 errores en el compilador!!! todavía gracias incluso por la ayuda descuidada.... por la idea... (ahora funciona - aunque en principio intenté hacerlo así, pero la puntuación era un problema)