Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Gracias.
Sí, en el primer punto estoy claramente confundido. ¿Explique qué es exactamente lo que está mal en la descripción, para que se devuelva una copia?
Y sobre la concatenación en tu caso deberías haber escrito algo como
Para aclarar. Dice"Devuelve una copia de la cadena con un valor modificado del carácter en la posición especificada. "El prototipo de la función es boolStringSetCharacter(...). Obviamente, no se puede poner una cadena en un bool. Si efectivamente se devuelve un booleano, entonces aparentemente esto es una señal de éxito/error. Normalmente, otras páginas de documentación tienen una sección separada de valores devueltos, pero esta página no la tiene. Debería añadirse, y en la descripción textual formular una frase relativa a la semántica de la función, no al valor de retorno.
En cuanto a la concatenación, si lo que has escrito es correcto, también habría que cambiar la descripción de la función StringConcatenate . La descripción dice que el parámetrostring_var es un String [in][out] que se generará como resultado de la concatenación. Usted indica que este parámetro es sólo [out].
Lamentablemente, el problema es que el terminal sólo publica las órdenes de cierre de posiciones con comentarios en la pestaña "Resultados".
El pedido correspondiente no se añade a la lista de HistoryDealsTotal().
En la lista general de pedidos HistoryOrdersTotal(), también falta el pedido, aunque se seleccione un periodo con cierta redundancia.
Te puedo asegurar que tanto las órdenes como los tratos, en el caso de cerrar por "fin de prueba", están presentes en el historial. Mi multidivisa calcula el beneficio obtenido en cada símbolo. Las operaciones cerradas en el probador por "fin de prueba" se corrigen en la desinicialización para reflejar estas operaciones. El beneficio total de todos los símbolos coincide con los datos del informe de pruebas. Este es el código;
Colegas, ¿hay alguna manera de hacer que SymbolInfoSessionTrade funcione en el probador de estrategias?
Una entrada trivial no funciona:
Una pregunta más, si es posible. Me gustaría entender el significado del nuevo operador. ¿Cuál es la idea que hay detrás? ¿Por qué no crear el objeto de la forma habitual? Después de todo, tras el final del bloque se perderá el acceso al objeto declarado a través de new, así que ¿para qué lo necesitamos?
P.D. Sinceramente, no lo he encontrado en la documentación :)
Una pregunta más, si es posible. Me gustaría entender el significado del nuevo operador. ¿Cuál es la idea que hay detrás? ¿Por qué no crear el objeto de la forma habitual? Después de todo, tras el final del bloque se perderá el acceso al objeto declarado a través de new, así que ¿para qué lo necesitamos?
P.S honestamente no pude encontrarlo en la documentación :)
Gracias. Lo he descubierto. Es necesario y suficiente utilizarTimeTradeServer() en lugar de TimeCurrent().
Al final de la semana de negociación no hay cotizaciones frescas y por eso TimeCurrent() no se actualiza durante mucho tiempo.
Al desinicializar el Asesor Experto, TimeCurrent() muestra la hora 23:00; TimeTradeServer() muestra la hora 23:59, que coincide con el final de la prueba.
Gracias. Lo he descubierto. Es necesario y suficiente utilizarTimeTradeServer() en lugar de TimeCurrent().
Al final de la semana de negociación no hay cotizaciones frescas y, por tanto, TimeCurrent() no se actualiza durante mucho tiempo.
Una pregunta más, si es posible. Me gustaría entender el significado del nuevo operador. ¿Cuál es la idea que hay detrás? ¿Por qué no crear el objeto de la forma habitual? Al fin y al cabo, tras el final del bloque se perderá el acceso al objeto declarado mediante new, así que ¿para qué lo necesitamos?
P.D. honestamente no pude encontrarlo en la documentación :)
No cree objetos dinámicos - no tendrá que usar ahora y todo lo que está asociado a estos objetos (Aunque no podrá hacer mucho entonces).
Quieres entender no el significado de ahora, sino el significado de trabajar con objetos dinámicos...
Inicialización y desinicialización de objetos colocados dinámicamente
Los punteros a objetos sonun caso especial, porque la declaración de un puntero no requiere la inicialización del objeto en cuestión. Los objetos colocados dinámicamente se inicializan sólo en el momento de crear una instancia de una clase mediante el operador new. La inicialización de un objeto implica una llamada al constructor de la clase correspondiente. Si no hay un constructor correspondiente en una clase, sus miembros de tipo simple no se inicializarán automáticamente; los miembros de tipo cadena, matriz dinámica y objeto complejo se inicializarán automáticamente.
Los punteros pueden ser declarados local o globalmente, y pueden ser inicializados con un valor NULL vacío o con un puntero del mismo tipo o de un tipo engendrado . Si se llama anewsobre un puntero declarado en el nivel local , la sentencia deletede ese puntero debe ejecutarse también antes de salir del nivel local. De lo contrario, el puntero se perderá y el objeto no podrá ser eliminado explícitamente.
Todos los objetos creados por la expresión puntero_objeto=nuevo_nombre_clase deben ser destruidos posteriormente con el operador delete(puntero_objeto).Si, por alguna razón, esta variable no fue destruida por el operador de borrado, el mensaje sobre ella aparecerá en el Diario de Expertos. Puedes declarar múltiples variables, y asignar a todas ellas punteros al mismo objeto.
Si el objeto que se crea dinámicamente tiene un constructor, este constructor será llamado cuando se ejecute el operador new. Si el objeto tiene un destructor, éste será llamado cuando se ejecute el operador deborrado.
Porlo tanto, los objetos colocados dinámicamente se crean sólo cuando se crean utilizando el operador new, y se garantiza que se eliminan mediante el operador delete o automáticamente por el sistema de ejecución MQL5 en el momento de la descarga del programa.El orden de declaración de los punteros de los objetos creados dinámicamente no afecta al orden de su inicialización. El orden de inicialización y desinicialización está totalmente controlado por el programador.