ORDER_POSITION_ID - página 19

 

Problema resuelto, relaciones resueltas )

Tengo una pregunta relacionada:

Es muy incómodo seleccionar una orden por ticket para ver sus propiedades, porque no importa en qué punto del historial o del mercado se encuentre la orden, y el ticket no cambiará.

Así que tenemos que buscar el orden tanto aquí como allí.

No sería más fácil hacer como en MT4: si seleccionamos una orden, no importa donde se encuentre.

Si selecciona un pedido, no importa dónde se encuentre:

OrderSelect

Seleccionamos una orden para seguir trabajando con ella.

bool OrderSelect(
intindex,// índice o ticket de la orden
intselect,// bandera del método de selección
intpool=MODE_TRADES// fuente de datos para la selección
);

El parámetro pool se ignora si la orden se selecciona por el número de ticket. El número de billete es el identificador único del pedido.

¿Qué opina alguien al respecto?

P.D. Espero que a Michael no le importe continuar con una rama para no multiplicar el número de nuevas.

 

Serj_Che:

¿Quién lo cree?

Eso sería... estaría bien... otra cosa es que el desarrollador haya introducido un sistema más complejo para tratar los diferentes cachés (posiciones, órdenes normales e históricas, operaciones)... de ahí las ventajas y desventajas...

Integer, me quito el sombrero y envidio tu paciencia :-))

 
Serj_Che:

Problema resuelto, relaciones arregladas )

Tengo una pregunta relacionada:

Es muy incómodo seleccionar una orden por ticket para ver sus propiedades, porque no importa en qué punto del historial o del mercado se encuentre la orden, y el ticket no cambiará.

Así que tenemos que buscar el orden tanto aquí como allí.

No sería más fácil hacer como en MT4: si seleccionamos una orden, no importa donde se encuentre.

Lo he leído en la Ayuda de MT4:

¿Qué te parece?

P.D. Espero que a Michael no le moleste continuar este hilo, para no recibir nuevos.

No, no estoy en contra en absoluto:)

Sobre la cuestión de OrderSelect:

if ( OrderSelect( ticket) )
{
 //Ордер действующий(в истории его нет)
}
else
{
  //Ордер в истории
}

No creo que sea muy difícil....

 
Mikalas:

No, en absoluto:)

Sobre el tema de OrderSelect:

No creo que sea muy difícil....

Ciertamente se puede evitar, pero por qué el movimiento extra, ya que también es seguido por diferentes OrderGet... y HistoryOrderGet...
 

Realmente no entiendo por qué durante veinte páginas el topicstarter está luchando contra los molinos de viento y tercamente tratando de gestionar sus robots a través del control y el análisis de la posición neta FORTS, mientras que en principio no es posible, al menos debido a la presencia de los procedimientos de compensación, y la transferencia de posiciones netas. A diferencia del FOREX, el comercio de FORTS implica un procedimiento de compensación. La compensación es el procedimiento para recalcular los pasivos de los participantes en el mercado, calcular sus resultados financieros de la última sesión de negociación y reunir sus operaciones en una única posición neta, que se abrirá una vez finalizada la sesión de compensación.

Para entender cómo sucede en la realidad, imaginemos que tenemos dos robots, cada uno de los cuales ha realizado una operación completa (en términos de MT4, incluyendo la entrada y la salida del mercado):

Robot 1: Venta descubierta de 1 contrato a 1000 a las 28.02.2014 20:30. Salir de la posición corta a las 23:30 a 700 y toma de beneficios +300 pips (1000 - 700 = 300).

Robot 2: Comprar 1 contrato a 700 el 28.02.2014 23:30. Salir de una posición larga el 01.03.2014 a las 23:00 a un precio de 1050 y tomar ganancias +350 puntos (1050 - 700 = 350).

En cuanto a los cálculos clásicos de FOREX, será sencillo. Inicialmente, habrá una posición de venta en el volumen 1 desde el 28.02.2014 a las 20:30 hasta el 28.02.2014 a las 23:30. Esta posición pertenecerá al robot 1. Luego la cerrará a las 23:30. En el mismo momento el robot #2 abrirá una posición de compra opuesta al volumen 1. Existirá desde el 28.02.2014 23:30 hasta el 01.03.2014 23:00, hasta que el Robot #2 cierre la orden de venta. Visualmente, estas posiciones están indicadas por las líneas punteadas de color naranja en el gráfico siguiente. Como cada orden activada tiene el identificador de la posición a la que pertenecía y el identificador del Asesor Experto, podemos comparar las órdenes que fueron colocadas por los Asesores Expertos con las posiciones netas y concluir que las posiciones pertenecen a los Asesores Expertos correspondientes. Pero en el FORTS las posiciones se ajustan a partir de las operaciones ejecutadas y se transfieren a través de la compensación. Será más comprensible mostrarlo en un gráfico condicional:

En lugar de calcular el resultado de sus posiciones agregadas en el momento de la primera compensación, su corredor calculará el resultado de las operaciones individuales (trades). Se calculará de la siguiente manera:

Precio diario de compensación 01.03.2014: 950

Precio de venta en el volumen 1: 1000; el resultado de la operación: 1000 - 950 = 50 pips.

Precio de la operación de compra en el volumen 1: 700; Resultado de la operación: 950 - 700 = 250 pips.

Precio de la transacción Compra en el volumen 1: 700; resultado de la transacción 950 - 700 = 250 pips.

Resultado total de la operación: 50 + 250 + 250 = 550 pips.

El resultado en pips se convertirá en resultado financiero en rublos y se abonará en su cuenta (en caso de compensación diaria, sólo se realizará el cálculo estimado y se añadirá a la columna "earned profit").

Curiosamente, en un cálculo clásico, el resultado total en el momento de la compensación será similar:

Vendió 1 contrato a 1000 y cerró la venta a 700. Resultado = 100 - 700 = 300 puntos.

Comprar 1 contrato a 700 y cerrar la posición de compra a 950. Resultado = 950 - 700 = 250 pips.

Total de las dos posiciones = 300 + 250 = 550 pips.

En el momento de la compensación se generará una nueva posición neta a partir de sus operaciones, con un nuevo identificador y nuevos parámetros. Esta posición neta estará disponible para su trabajo a partir de la apertura del mercado tras la compensación. Esta posición neta durará hasta la próxima compensación. Entonces se liquidará y se creará una posición similar en su lugar, pero con un identificador diferente. Antes de que se liquide, el margen de variación acumulado en esa posición se abonará en su cuenta. Sin embargo, el resultado total de todas las posiciones netas iniciadas por la compensación y todas las operaciones completadas será exactamente igual al resultado obtenido en el cálculo clásico, FOREX, de las posiciones.

Tarde o temprano, el segundo robot hará una operación de venta para cerrar con el volumen opuesto su compra. Esta operación pertenecerá a alguna posición neta, pero será una posición completamente diferente y no a la que pertenecía la orden de compra. Como las posiciones son diferentes, con identificadores distintos, a través de estas posiciones no podremos conectar dos órdenes de EA (apertura y cierre) y así obtener las posiciones clásicas, como las marcadas con líneas punteadas naranjas en la figura anterior.

El topicstarter se obstina en trabajar con posiciones netas de FORTS (líneas negras en la imagen) como se hace en FOREX (líneas discontinuas naranjas en la imagen). Sin embargo, visualmente está claro que son posiciones muy distintas, y su cálculo es muy diferente.

En realidad, el panorama es aún más complejo, porque hay tasas de conversión, decenas de transacciones con diferentes precios de ejecución que pertenecen a la misma orden, el cobro de comisiones en las operaciones de scalper y las posiciones netas y otras realidades del trabajo en FORTS.

 

C-4, te equivocas, vuelve a leer la referencia del puesto.

 
Lástima que haya cerrado mi cuenta con mi broker. ¿Alguien tiene un historial de operaciones que muestre claramente cómo va la compensación?
 
barabashkakvn:
Lástima que haya cerrado mi cuenta con mi broker. ¿Tal vez alguien tenga un historial de operaciones para ver claramente cómo va la compensación?
Abra una cuenta de demostración en BCS u Otkritie.
 
Mikalas:
Abra una cuenta de demostración en BCS u Otkritie.
Ya he experimentado con una cuenta demo de un broker. Es una completa basura. No es un entorno de combate. Defectos eternos. Sólo real. Y en mi zona no existen estos animales ("BCS u Otkritie") :)
 
barabashkakvn:
Ya he experimentado la cuenta demo del broker. Es una completa basura. No es un entorno de combate. Siempre tiene un rendimiento inferior. Sólo real. Y en mi zona no existen estos animales ("BCS u Otkritie") :)
Tienes Internet, ¿verdad? En Internet lo hacen :)