Símbolos personalizados. Errores, fallos, preguntas, sugerencias. - página 15

 
Roman:
Bueno lo que no queda claro aquí, en el post con el bug #20 especifiqué la configuración del ID, e indiqué la razón de no coincidir.
SYMBOL_TRADE_EXEMODE
MODO_DE_COMERCIO_DE_SÍMBOLOS
Estos son modos completamente diferentes, y no se aplican al problema.

Eso debería aclararlo.

Y si quieres usar otro identificador de ENUMSYMBOL_FILLING_XXX
¡No hay identificadorparaSYMBOL_FILLING_RETURN!

Así es, no lo hay. No son identificadores, son banderas. Porque SYMBOL_FILLING_RETURN siempre existe. Y las otras dos banderas pueden ser ambas o una de ellas:

Cuando se envía una orden, se puede especificar una política para llenar el volumen declarado en la orden comercial. Las variantes permitidas de ejecución de órdenes por volumen para cada símbolo se muestran en la siguiente tabla. No sólo se puede establecer un modo para cada símbolo, sino varios modos mediante una combinación de banderas. La combinación de banderas se expresa como la operación lógica OR (|), por ejemplo SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC. Para comprobar si un modo concreto está permitido para un instrumento, el resultado del AND lógico (&) debe compararse con el indicador de modo.

Política de llenado

Identificador

Valor

Descripción

Todos/Ninguno

SÍMBOLO_RELLENO_FOK

1

Esta política de ejecución significa que la orden sólo puede ser ejecutada hasta el volumen especificado. Si no hay suficiente volumen del instrumento financiero disponible en el mercado en ese momento, la orden no se ejecutará. El volumen requerido puede ser compilado a partir de varias ofertas actualmente disponibles en el mercado.

Todo/Parcial

ALL_FILLING_IOC

2

En este caso, el operador se compromete a realizar una operación con el máximo volumen disponible en el mercado dentro del volumen especificado en la orden. Si la ejecución completa no es posible, la orden se ejecutará por el volumen disponible, y el volumen no ejecutado de la orden se cancelará. La posibilidad de utilizar órdenes IOC se define en un servidor de negociación.

Volver

No hay COI

Este modo se utiliza para órdenes de mercado (compra y venta), limitadas y stop-limit, y sólo en los modos "Ejecución de mercado" y "Ejecución de bolsa". En caso de ejecución parcial, una orden de mercado o limitada con un volumen residual no se elimina, sino que sigue vigente.



  • Si SYMBOL_FILLING_FOK está presente, pero SYMBOL_FILLING_IOC no lo está , SYMBOL_FILLING_MODE devolverá 1. Al mismo tiempo hay un "Retorno".
  • Si la bandera SYMBOL_FILLING_IOC está presentepero no la bandera SYMBOL_FILLING_FOK, SYMBOL_FILLING_MODE devolverá 2. En este caso hay un "Retorno".
  • Si hay una bandera SYMBOL_FILLING_FOK y hay una bandera SYMBOL_FILLING_IOC, entonces SYMBOL_FILLING_MODE devolverá 3. Al mismo tiempo hay un "Retorno".
De ahí la conclusión: "Retorno" siempre está ahí, y los otros dos modos están determinados por la presencia de banderas.
 
Artyom Trishkin:

Claro, no. No son identificadores, son banderas. Porque SYMBOL_FILLING_RETURN siempre está ahí. Y las otras dos banderas - pueden ser ambas o una:

Pero no se trata de un comportamiento explícito, lo cual es engañoso.
Y la documentación no dice que SYMBOL_FILLING_RETURN esté siempre presente.
¿Por qué no establecerlo explícitamente? SYMBOL_FILLING_RETURN

Por favor, muéstreme un ejemplo de cómo establecer la bandera para el llenado de intercambio correctamente entonces

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_RETURN);

Me estoy confundiendo con estas banderas no explícitas.

 
Roman:

Pero no es un comportamiento explícito lo que induce a error.
Y la documentación no dice que SYMBOL_FILLING_RETURN esté siempre ahí.
¿Por qué no establecerlo explícitamente? SYMBOL_FILLING_RETURN

Por favor, muéstrame un ejemplo de cómo establecer la bandera para el llenado de intercambio correctamente entonces

Porque me confunden estas banderas no explícitas.

Cero - si no se necesitan otras banderas.

 
Roman:

Pero no es un comportamiento explícito lo que induce a error.
Y la documentación no dice sobre el signo que SYMBOL_FILLING_RETURN está siempre allí.

¿Por qué no establecerlo explícitamente? SYMBOL_FILLING_RETURN

Por favor, muéstrame un ejemplo de cómo establecer la bandera para el llenado de intercambio correctamente entonces

Porque me confunden estas banderas no explícitas.

Esto es de la documentación:

"En los modos de ejecución "Por mercado" y "Intercambio" la política de llenado "Retorno" está siempre permitida para todos los tipos de órdenes. La permisibilidad de los otros tipos se comprueba mediante las propiedades SYMBOL_FILLING_FOK y SYMBOL_FILLING_IOC. "

 
Artyom Trishkin:

Cero - si no se requieren otras banderas.

Si se pone a cero, se pone a cero.
Ninguno es un relleno de intercambio.
Si lo intento de esta manera

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC);

SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC también devuelve Ninguno, no 3 como dijiste arriba.

¿Cómo configuro el relleno de intercambio correctamente después de todo?

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_RETURN);
 

Y luego está esto.

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, 3);

Establece Todo, que es lo mismo que Todo permitido.

Y en la documentación, en la columna "Valor", no hay nada, ¡vacío!
Y en la columna "Identificador" de la línea "Retorno", sigo sugiriendo que se especifique la combinación correcta de las banderas.
Por qué no añadir simplementeSYMBOL_FILLING_RETURN con el valor 3, de forma clara y comprensible para todos.

 
Roman:

¿Relleno de banderas en las personalizadas con qué fin práctico?

 
Roman:

Si se pone a cero, se pone a cero.
Ninguno es un relleno de intercambio.
Si lo intento de esta manera

SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC también devuelve Ninguno, no 3 como dijiste arriba.

¿Cómo configuro el relleno de intercambio correctamente después de todo?

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC);
 
Artyom Trishkin:

Allí, esa combinación establece Todo. Gracias.
Pero coinciden en que esta combinación no parece obvia.
No utilizamos un "No" lógico al establecer las propiedades

Si noSYMBOL_FILLING_FOK o noSYMBOL_FILLING_IOC
entonces se utiliza el
SYMBOL_FILLING_RETURN oculto-"Siempre allí"

En su combinación, en su lugar decimos explícitamente, establecer FOK o IOC.
En el relleno de la bolsa no hay BDC ni COI, por lo que es engañoso.

Por lo tanto, es lógico, esta combinación debe añadirse a la documentación, en la columna"Identificador" y su valor 3
O mejor añadir
SYMBOL_FILLING_RETURN

Entonces el Bug #20 se excluye de los errores.
Pero hay que tener en cuenta que se viola la característica de explicitación.

 
fxsaber:

¿Relleno de banderas en las personalizadas con qué fin práctico?

Para mostrar correctamente la especificación de la herramienta.
También es posible que estos modos se utilicen en alguna parte de las profundidades del terminal.
En el probador o en otro lugar, por lo que estoy acostumbrado a rellenar todo explícitamente.

Razón de la queja: