Características del lenguaje mql5, sutilezas y técnicas - página 44

 
Después de un OrderSend(Async) exitoso, el campo Result.request_id contiene el número de solicitudes enviadas al servidor de comercio desde quese inició el terminal(no el inicio de sesión).
 

No lo entiendo, por alguna razón la clase CCanvas sólo dibuja las líneas en el lienzo normalmente cuando el gráfico está ampliado, y cuando se aleja, sólo se dibuja el lienzo en sí, pero las líneas no se dibujan:

 
Konstantin:

No entiendo nada, por alguna razón la clase CCanvas normalmente dibuja líneas en el lienzo sólo cuando se acerca y cuando se aleja el lienzo sólo se dibuja, pero las líneas no se dibujan:


Pero no publiques tu código aquí, por si descubrimos un error )). Una generación de payasos...

 

Encontré el problema, al convertir las coordenadas de tiempo/precio a píxeles del gráfico, no tuve en cuenta las coordenadas del gráfico, por lo que tuve que convertirlas a las coordenadas del lienzo donde estaba dibujando ))


 

POSITION_TICKET puede no ser igual aPOSITION_IDENTIFIER sólo si hubo una operación DEAL_ENTRY_INOUT(DEAL_ENTRY_OUT_BY).

Si no hubo tal transacción, estos parámetros de posición serán siempre los mismos.

 
fxsaber:

POSITION_TICKET puede no ser igual aPOSITION_IDENTIFIER sólo si hubo una operación DEAL_ENTRY_INOUT(DEAL_ENTRY_OUT_BY).

Si no hubo tal transacción, estos parámetros de posición siempre coincidirán.

No es cierto. He visto que al activar una orden pendiente, el ticket y el ID no coinciden, incluso en el probador de cuentas.

Por lo tanto, para obtener una lista de órdenes y operaciones pertenecientes a una posición debemos utilizar siempre el ID y no el ticket de la posición.

 
Alexey Viktorov:

No es así. Me he encontrado con que al activar una orden pendiente el ticket y el ID no coinciden, incluso en el probador de cuentas hadge.

Código para el probador, por favor.

Por lo tanto, siempre debemos utilizar el identificador, no la entrada de la posición, para obtener la lista de órdenes y operaciones pertenecientes a la posición.

Ese nunca fue el objetivo. La cuestión es otra:

  • Si TICKET != IDENTIFICADOR, entonces 100% hubo un INOUT-trade (BY-case no es interesante, así que no lo escribo).
  • De lo contrario, no hubo ninguna transacción INOUT.
SZY Como consecuencia, en las cuentas de cobertura se utiliza siempre POSITION_TICKET == POSITION_IDENTIFIER, a menos que se utilice CloseBy.
 

En el mercado de futuros, cómo determinar la hora de cierre del mercado del día anterior en diferentes variantes de encontrar el intervalo de tiempo actual:

1. estamos en el intervalo sábado - domingo; necesitamos la hora de cierre de la sesión comercial del viernes por la noche
2. estamos en el mercado cerrado de lunes a viernes; necesitamos la hora de cierre de la sesión de negociación nocturna de lunes a jueves
3. en el rango de negociación de lunes a viernes; necesitamos la hora de cierre de la sesión de negociación del viernes por la noche
4. en la franja horaria de martes a viernes, necesitamos la hora de cierre de las sesiones nocturnas de lunes a jueves

Tal vez alguien escribió una funcionalidad similar, no quiero reinventar la rueda ))

 
fxsaber:

Código de prueba, por favor.


Coge cualquier código con órdenes pendientes de apertura y corre a tope, algún día tendrás suerte.

Palabra clave en mi puesto

no hay dependencia ni puede haberla. En consecuencia, tampoco puede haber un código especial.
fxsaber:

  • Si TICKET != IDENTIFIER, entonces 100% hubo una transacción INOUT (BY-case no es interesante, por lo que no escribo).

Más exactamente, es al revés:

Si ha habido un INOUT-deal, entonces 100% TICKET != IDENTIFICADOR.

Esto es indiscutible. Aunque en las cuentas de hadge nace una operación de INOUT por contra-cierre.

fxsaber:


  • De lo contrario, no había ningún acuerdo INOUT.

Esto es cuestionable. Incluso es muy cuestionable.

En este punto me despido. No tengo derecho a impedir que te pierdas...

 
Konstantin:

En el mercado de futuros, cómo determinar la hora de cierre del mercado del día anterior en diferentes variantes de encontrar el intervalo de tiempo actual:

1. estamos en el intervalo sábado - domingo; necesitamos la hora de cierre de la sesión comercial del viernes por la noche
2. estamos en el mercado cerrado de lunes a viernes; necesitamos la hora de cierre de la sesión de negociación nocturna de lunes a jueves
3. en el rango de negociación de lunes a viernes; necesitamos la hora de cierre de la sesión de negociación del viernes por la noche
4. en el horario de martes a viernes necesitamos la hora de cierre de las sesiones nocturnas de lunes a jueves

Tal vez alguien escribió una funcionalidad similar, no quiero reinventar la rueda ))

¿Tal vez esto funcione? Aunque, no siempre es correcto en forex.

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionTrade
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionTrade
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionTrade - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5