Preguntas Más Frecuentes

Voy a establecer NetTradeX Advisors en otro ordenador. ¿Cómo puedo exportar todos mis scripts*?

Todos los scripts de NetTradeX Advisors están almacenados en el archivo Documents\NeTTradeX Advisors\scripts. Después de instalar el terminal en otro ordenador, tendrá que copiar todo el contenido de ese archivo en el archivo correspondiente del nuevo ordenador y reiniciar el terminal.

He creado un indicador pero la línea está interrumpida. ¿Cómo puedo visualizar la línea del indicador sin espacios?

Para establecer líneas sin gaps, utilice la función SetIndexStyle con el parámetro de tipo que tiene valor ltSection.

Empiezo usar un experto, pero se detiene en pocos segundos; el diario muestra el mensaje "stopped by timeout". ¿Por qué sucede esto?

Después de la llegada del tick, el experto debe realizar toda la lógica del programa en un tiempo limitado (60 segundos). Si se supera este límite, el experto se detiene y para finalizar el trabajo del experto se dan 3 segundos adicionales. Se recomienda analiar el estado de System.IsStopped para finalizar correctamente el trabajo del experto. Cuando se detiene el experto, se muestra un mensaje "stopped by timeout". En este caso, se debe elaborar el programa de tal manera que su aplicación tome menos tiempo.

Envío una solicitud para la apertura de una posición usando la función Deals.Open(), pero la posición no se abre. ¿Por qué sucede eso?

Después de asegurarse de que la función Deals.Open() devuelve cero, usted debe acceder a la propiedad System.LastError y recibir el código der error. La descripción de los códigos de error se presenta en el manual del usuario en la sección "Basics" – "Error Codes". Por favor note, que se debe acceder a la propiedad System.LastError inmediatamente después de la llamada de la función comercial, si no, la operación comercial posterior cambiará esa propiedad de acuerdo con los resultados de su labor.

He abierto posicion y he puesto una orden e intento recibir sus propiedades , pero los valores resultantes son incorrectos.

Para acceder a las propiedades de una posición o de una orden, usted debe elegir la función Select() primero, y asegurándose que Select() ha vuelto el valor verdadero, referirse a las propiedades de la posición o de la orden.

¿Cómo puedo determinar el tipo de la orden pendiente (Buy stop o Buy limit)?

Para determiner el tipo de la orden puesta, debe acceder a sus propiedades eligiendo la función Select() . Hay dos condiciones que deben realizarse para la orden Buy Stop: Orders.Direction == opBuy and Orders.IsLimit == false, y respectivamente , para la orden Buy Limit es necesario la realización de las condiciones Direction == opBuy y Orders.IsLimit == true.

¿Qué es la propiedad SubType (subtipo de orden)?

La Propiedad subtipo se usa para las ordenes “complejas” y permite identificar cual es la orden principal y cuáles son las subordinadas. Por ejemplo, si está presente una orden de activación y se activa de manera que se establecen dos órdenes OCO, la orden de activación será la orden principal (orden de 1 nivel) y las ordenes OCO – las subordinadas (orden de 2 nivel).

Necesito abrir una posición en un símbolo determinado. He abierto la ventana "Make deal", pero el símbolo que necesito no está.

La lista de los símbolos en el diálogo de abrir una posición contiene los mismos símbolos que el Market Watch. Por tanto, antes de hacer una solicitud para abrir posición, asegúrese que está suscrito al símbolo que necesita en el Market Watch.

¿Cómo puedo conseguir información sobre las ganancias de las pocisiones que cerré ayer o hace unos días?

La información sobre las posiciones cerradas se muestra en la ficha History del terminal NetTradeX Advisors. Se puede acceder a esas posiciones por medio del objeto History. La información sobre las posiciones cerradas se guarda hasta que el terminal se actualice.

Estoy invocando la función Symbols.Distance () pero recibo distancia mínima de orden cero.

Antes de llamar el método Symbols.Distance() debe suscribirse al símbolo necesario en el Market Watch.

¿Qué funciones del sistema deben estar presentes en un script*? Si no tengo que tomar alguna medida durante la inicialización y desinicialización, puedo eliminar las funciones correspondientes?

Para ejecutar un script es necesario la función Run ().Las funciones Initialize () y DeInitialize () son opcionales y si no es necesario ningún paso en la inicialización y deinicialización, pueden ser excluidos del programa.
En algunos casos, como la creación archivos con descripciones de funciones auxiliaries de uso, la función Run() puede faltar en el script. Estos archivos pueden ser compilados, pero no se ejecutan. Estas skripts se utilizan junto con el # include> directivo y se incluyen en el código de los scripts ejecutables.

¿Hay algún archivo de registro que mantiene la información sobre el trabajo del programa?

Sí, toda la información que aparece en la ficha diaria también se almacena en el archivo de registro, que está en el archivo Documents\ NetTradeX Advisors\ bases\ account_type\ account_number\logs. Hay un archivo separado con el registro para cada día. Ese archivo se puede abrir en un editor de texto.

¿Por qué algunas variables globales tienen el modificador 'extern' delante?

Una variable global puede ser declarada con el modificador extern y sin ella. Si el modificador extern está presente, después de ejecutar el skript, se abrirá una ventana para cambiar esos parámetros. Además, estos parámetros se pueden cambiar sobre la marcha cuando un asesor o indicador se está ejecutando.

¿Cuáles son las combinaciones de teclas útiles para trabajar con el programa?

Presionando la combinación de teclas Ctrl+N se abre una lista de símbolos disponibles para la creación de un gráfico de cotizaciones.
Al trabajar con gráficos, puede utilizar las teclas + y - del teclado numérico para cambiar la escala del gráfico horizontalmente. La misma operación se puede realizar cuando el cursor está en la escala de tiempo y el usuario mantiene el botón izquierdo del ratón y mueve el ratón hacia la izquierda o hacia la derecha. Para cambiar la escala vertical, mueva el cursor en la escala de precios, mantenga pulsado el botón izquierdo del ratón y mueva hacia arriba o hacia abajo.
Para mostrar el gráfico de precios de la fecha más lejana, puede pulsar Home, y para acceder a las últimas cotizaciones - End.
Un doble clic en un campo vacío de la ficha Open Positions abrirá la ventana de abrir posiciones, y un doble clic en un campo vacío de la ficha de órdenes – la ventana para establecer órdenes. Las mismas operaciones se pueden realizar pulsando F4 (abrir posición) o F3 (poner una orden).
Es conveniente cambiar los valores de los campos numéricos en los cuadros de abrir posiciones y poner posiciones girando la rueda del ratón. Por ejemplo, al fijar los precios para las órdenes vinculadas, el giro de la rueda en un paso cambia el precio por un punto.

Realizo la división entera de System.Print ("2/3 =" 2/3), pero el resultado es 2/3 = 0, ¿por qué sucede eso?

Dado que ambos operandos son enteros, el resultado de la operación de división será un número entero, por lo que debe convertir uno de los operandos al tipo doble de la siguiente manera: double(2)/3, y el resultado será 2/3 = 0.666667.

¿Dónde están almacenadas las variables del terminal del usuario?

Las variables globales se puede ver a través de la ventana "Global Variables", que se puede llamar del menú View – Global Variables. Tenga en cuenta que cada cuenta tiene sus propias variables globales.

¿Cómo determinar el precio del último fractal?

Al usar el método de Indicators.Fractals, es útil intentar recibir el valor para la última barra, ya que serán cero. Los valores seguros se generan a partir de la cuarta barra (la barra con el índice 3), puesto que en este caso, dos barras totalmente formadas serán usadas para cada lado de la barra requerida.

¿Cómo comparar las cifras de tipo double?

Las cifras en la memoria del ordenador se guardan en el sistema binario de cálculo. Debido a esto, muchas figuras, que se especifican en el sistema decimal, se pueden presentar sólo como fracción continua. Por ejemplo, una cifra, presentada como 0.1, en realidad puede equivaler a 0.09999999. Es por eso que el uso de una doble igualdad para comparar las cifras con coma flotante, no es correcto. Es mejor usar el método matemático Math.Abs(a - b) < delta, donde 'a' es el valor resultado, 'b' - valor, con que se hace la comparación y delta - un error absoluto.