Transición de posiciones después de las 0:00 cuando el banco está en funcionamiento. ¿Cómo identificarlo? Necesito ayuda de la sala. - página 7

 
Oldman_Evgeny:

Bueno, nadie me pinchó en ningún sitio.

Tuve que inventarlo yo mismo.

Así que.

A las 23:50, si mi Asesor Experto trabaja por apertura o cierre, paso a procesar cada tick.

Si el experto trabaja por garrapatas, no necesito ir a ninguna parte).

Al primer tick después de las 23:50, cierro la posición a la fuerza.

(Intenté cerrar no a las 23:50, sino más tarde, pero me encontré con una situación en la que fijé el cierre para las 23:56, y desde las 23:56 hasta las 00:00 no ha llegado ni un solo tick.

El vuelco se puso en marcha y a partir de ahí todo se torció... (Por si acaso, tomé 23:50 con reserva - ¡seguro que en 10 minutos vendría al menos una garrapata!)

Recuerdo todos los parámetros de una posición - era una posición de compra o de venta, stoploss, takeprofit, etc.....

Hasta las 00:00:00 prohíbo la apertura de posiciones.

Después de las 00:00, al primer tick que pase abro una posición a la fuerza en la misma dirección que estaba, con todos los atributos de una posición cerrada a las 23:00.

De este modo, evito la prórroga.

Por regla general pierdo más que en el rollover, pero al menos tengo una continuación de posición normal.

No podía pensar en otra....

El único problema del viernes es que el mercado abre a la 01:00 del lunes.

Pero decidí no abrir la posición en la noche del lunes, porque a menudo ocurren diferentes "cataclismos" - brechas, retrocesos y otras cosas.

Simplemente cierro mi posición el viernes y ya está. Yo hago lo mismo en vacaciones.


PS. Creo que la falta de transferencia de datos de posición con el rollover es una trampa. Me ocuparé de ello a través de la AFD. En todo caso, podemos reclamar al Banco Central.

Allí no tienen mucha piedad con los comerciantes de divisas.

¿No se guarda el ID de la posición (no el billete) durante las prórrogas?
 
Sólo se guardan la dirección y el tamaño del lote. No hay nada más.
 
Oldman_Evgeny:
Sólo se guardan la dirección y el tamaño del lote. Nada más.
PositionGetInteger(POSITION_IDENTIFIER)

¿qué devuelve?

 

PositionGetInteger(POSITION_IDENTIFIER), como debería, devuelve el número de billete.

El nuevo número del billete, que es el resultado del rollover, no la posición que había antes del rollover....

Pero después del rollover, en la nueva posición, resulta que m_position.Magic()=0. En consecuencia, nada funciona en el Asesor Experto....

Probablemente, uno puede, de alguna manera, meter la Magia a través de la modificación en la nueva posición y allí meter todo lo demás de la antigua posición.

Pero hice lo que escribí arriba. Pero lo pensaré un poco más.

Es molesto que el RSP engañe así con su plataforma.

Y, según tengo entendido, no son los únicos...

Sorprendido por el silencio de los comerciantes. ¿Todos operan sólo en intradía o en pips?

Bueno, no vayas a comerciar en alguna cocina como alparey cuando hay corredores rusos con licencia....
 

He intentado insertar una construcción en OnTick

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber( EA_Magic );

La construcción no funciona.

Parece que no hay manera de cambiar Magic en una posición abierta....

Así que lo que hice y describí arriba parece ser la única opción.

 
Oldman_Evgeny:

He intentado insertar una construcción en OnTick

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber( EA_Magic );

La construcción no funciona.

Parece que no hay manera de cambiar Magic en una posición abierta....

Así que lo que hice y describí arriba parece ser la única opción.

¿Qué lleváis todos con el mago? Envuelve cada posición en una clase y en el tick no la busques, sólo rastrea. Si se cerró repentinamente, analice el motivo del cierre. Si el motivo es el rollover, entonces busca uno nuevo y cambia los campos de clase por los reales. Para organizar el reinicio después de los fallos escribimos toda la información necesaria en un archivo separado (bueno no me gustan las variables globales de la terminal).
 
Vladimir Simakov:
Para organizar un reinicio después de los fallos, escribimos toda la información necesaria en un archivo separado (bueno, no me gustan las variables globales del terminal).

Y si el Asesor Experto se ejecuta en diferentes máquinas, ¿tenemos que llevar el archivo con nosotros?

 
Ihor Herasko:

Y si el Asesor Experto se ejecuta en diferentes máquinas, ¿tiene que llevar el archivo consigo?

Ftp, la nube son opciones.
Si sólo se van a intercambiar datos entre robots, entonces pipe y ws.
 
Vladimir Simakov:
Ftp, nube - como opción.
Si sólo hay que intercambiar datos entre robots, entonces pipe y ws.

¿Por qué tomarse tantas molestias cuando tienes a Magic? En la mayoría de los casos es suficiente. Al menos yo he conseguido utilizarlo:

  1. Hora de aparición de la señal, en la que se abre la orden/posición
  2. El índice de la cuadrícula (si la estrategia es una cuadrícula) a la que pertenece la orden
  3. El índice de la orden en la cuadrícula
  4. El propio ID del Asesor Experto
Todo esto tiene ciertas limitaciones, por supuesto. Sin embargo, las limitaciones son bastante razonables. Ir más allá de ellos es algo raro.

 
Ihor Herasko:

¿Por qué tomarse tantas molestias cuando tienes a Magic? En la mayoría de los casos es suficiente para el ojo. Al menos pude utilizarlo:

  1. Hora de aparición de la señal, en la que se abre la orden/posición
  2. El índice de la cuadrícula (si la estrategia es una cuadrícula) a la que pertenece la orden
  3. El índice de la orden en la cuadrícula
  4. El propio ID del Asesor Experto
Todo esto tiene ciertas limitaciones, por supuesto. Sin embargo, las limitaciones son bastante razonables. Superarlas es un hecho poco frecuente.

Así que tú mismo has respondido: con limitaciones, que es exactamente lo que se discute en este hilo. Ventajas de la envoltura:

  1. El tiempo de aparición de la señal es el mismo.
  2. El índice de la cuadrícula es el mismo.
  3. Índice de una orden en la cuadrícula - por lo que, de nuevo, es un índice explícito.
  4. Identificador de Asesor Experto - bueno, lo tienes.

Al mismo tiempo, no pasamos por las posiciones; el manejador de la función de comercio es un método de la clase. Nadie prohíbe el uso de magik para la recuperación de fallos - simplemente, podemos empaquetar fácilmente toda la historia en un binario, sólo hay que desarrollar un formato.

En cuanto al trabajo de los robots con órdenes compartidas en diferentes lugares de trabajo, ¿qué sentido tiene? No se me ocurre nada más que los problemas de sincronización. Piensa: un robot da la orden de cerrar una posición en un puesto de trabajo, mientras que en el otro toma una decisión de negociación basada en el hecho de que esta posición específica está abierta, ¿cómo podemos sincronizarlo?

Razón de la queja: