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
Hmm, ¿entonces esto sería bueno?
En realidad cambié Time[1] por Time[0] porque Time[1] se saltaba 1 barra más, así que Time[0] está representando en realidad el Open[0].
Hmm entonces esto sería bueno?
En realidad cambié Time[1] por Time[0] porque Time[1] se saltaba 1 barra más, así que Time[0] está representando en realidad a Open[0].
RefreshRates(); OrderClose( OrderTicket(), OrderLots(),OrderClosePrice() ,Slippage,CLR_NONE);
y comprobar también si orderclose tiene éxito
y comprobar también si orderclose tiene éxito
Bueno, si no tiene éxito, entonces cuando la función start() se repite, probará de nuevo que if() antes de la orderclose() y como las condiciones seguirán siendo verdaderas para proceder, intentará cerrarla de nuevo.
Hmm, ¿entonces esto sería bueno?
En realidad cambié Time[1] por Time[0] porque Time[1] se saltaba 1 barra más, así que Time[0] está representando en realidad el Open[0].
Si quiere cerrar tan cerca del cierre de la barra entonces tiene que determinar si el tick actual es el primer tick de la nueva barra... entonces también tiene que asegurarse de que el cierre funciona porque sólo tendrá una oportunidad por barra.
Bueno, si no tiene éxito, entonces cuando la función start() se repita, probará de nuevo el if() antes de orderclose() y como las condiciones seguirán siendo verdaderas para proceder, intentará cerrarlo de nuevo.
usted comenzó que tiene que cerrar el último tick de la barra
tratamos de entender que no es posible saber cuando viene la última barra de ticks
ahora no importa si el cierre falla lo intentamos de nuevo, de nuevo, de nuevo en los siguientes ticks
también te perdiste otros cambios que sugerí
¿que sentido tiene refrescar las barras después del cierre de la orden?
y sabes por qué el deslizamiento en lugar de TAKEPROFITPIPS
depende del errorreturn puedes intentar cerrarlo 2 veces en el mismo bucle
si el contexto de la operación está demasiado ocupado y tiene más operaciones dentro del bucle para cerrar la n gran posibilidad de que fallan también
No, esto siempre se cerrará independientemente de que el tick sea el de la siguiente barra o no, para cualquier barra siguiente a la barra en la que se abrió la operación y cualquier momento durante esa barra Time[0] siempre será mayor que OrderOpenTime().
Si quiere cerrar tan cerca del cierre de la barra entonces tiene que determinar si el tick actual es el primer tick de la nueva barra... entonces también tiene que asegurarse de que el cierre funciona porque sólo tendrá una oportunidad por barra.
¿No se repite el start() después de cada tic? ¿Me equivoco?
De todos modos imagínate así:
OrderOpenTime() = 12:12:01 (12 H 12 MIN 1 SEC)
La orden se abre, el paquete de la función Orderclose() está después de mi OrderSend() en el código principal así que, justo después de abrir la orden mi paquete OrderClose() probará si las condiciones se cumplieron para cerrar la orden o no:
Time[0] es el precio de apertura de esta barra, por lo que por lógica común debe ser menor que el tiempo de apertura de la orden, ya que la orden no puede abrirse antes de la misma barra abierta.Es: 12:12:00
Así que por todos los medios :
Si no se puede cerrar, por cualquier razón, como el deslizamiento o así, no hay problema, el start() se repite
Y para la siguiente repetición el Time[0] será 100% mayor que el tiempo de apertura de la orden, porque es lógico, así que si el primer cierre falla el otro OrderClose() ocurrirá cada vez que el start() se repita, y como creo que el start() se repite cada tick, entonces no creo que haya una mejor manera de cerrar la orden más rápido, espero haberlo explicado claramente :)
usted comenzó que tiene que cerrar el último tick de la barra
intentamos que entienda que no es posible saber cuando viene la última barra de ticks
ahora no importa si el cierre falla lo intentamos de nuevo, de nuevo, de nuevo en los siguientes ticks
también te perdiste otros cambios que sugerí
¿que sentido tiene refrescar las barras después del cierre de la orden?
y sabes por qué el deslizamiento en lugar de TAKEPROFITPIPS
depende del errorreturn puedes intentar cerrarlo 2 veces en el mismo bucle
si el contexto de la operación está demasiado ocupado y tiene más operaciones dentro del bucle para cerrar la n gran posibilidad de que fallan también
¿No se repite el start() después de cada tic? ¿Me equivoco?
Sí, start() se llama por cada tick a menos que se siga ejecutando. . .
De todas formas imagínate así:
OrderOpenTime() = 12:12:01 (12 H 12 MIN 1 SEC)
La orden se abre, el paquete de la función Orderclose() está después de mi OrderSend() en el código principal así que, justo después de abrir la orden mi paquete OrderClose() probará si las condiciones se cumplieron para cerrar la orden o no:
Time[0] es el precio de apertura de esta barra, por lo que por lógica común debe ser menor que el tiempo de apertura de la orden, ya que la orden no puede abrirse antes de que la misma barra se abra.Es: 12:12:00
Así que por lógica :
Si no se puede cerrar, por cualquier razón, como el deslizamiento o así, no hay problema, el start() se repite
Y para la siguiente repetición el Time[0] será 100% mayor que el tiempo de apertura de la orden, porque es lógico, así que si el primer cierre falla el otro OrderClose() ocurrirá cada vez después cuando el start() se repita, y como creo que el start() se repite por cada tick, entonces no creo que haya una mejor manera de cerrar la orden más rápido, espero haberlo explicado claramente :)
Es bastante raro que el precio de cierre de una barra no se repita en la barra siguiente, no necesariamente su precio de apertura...