Mi enfoque. El núcleo es el motor. - página 129
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
Trabaja con la versión del motor que adjuntaste como demostración.
Es bastante sencillo. Si tu planteamiento funciona como creo que lo hace, entonces no veo ningún problema ni con una tabla dinámica ni con la actualización de los valores de posición a través de un temporizador. Peter, ¿por qué hiciste un lío desde el principio?)
Vasiliy, lo principal es no apresurarse a sacar conclusiones. Ni para ti ni para mí)).
Voy a poner mis cinco centavos. No tengo tiempo para ello en este momento. Pero existe la idea de implementar un panel similar en casa. Así que creo que no solo hay que hacer un cruce para cerrar la posición (aunque es necesario), sino también hacer una marca, especificar el lote y hacer este cierre al por mayor. Eso dará un trabajo más flexible con las posiciones, así como su cierre parcial.
Puedo hacerlo.
Peter, haz un bucle for en el temporizador, que recorra las órdenes abiertas y envíe los cambios en la lista de órdenes a tu tabla. Además, haga que el beneficio de la orden en su tabla también cambie dinámicamente.
Vasily, por favor, pega este código en el archivo de prueba del EA (las funciones de tick y timer en lugar de las antiguas)
Y también, tienes que reemplazar la línea 68 y la línea 114 en el archivo de Conexión Externa.
Un poco mezclado allí. En lugar deOrderOpenTime() pongaOrderOpenPrice().
Debería funcionar bien. Compruébalo.
Eh, no es la forma canónica - separar los datos (modelo) de las vistas y utilizar el patrón de observador para suscribir vistas específicas a los cambios del modelo o campos específicos del modelo.
Pero eso requeriría que el usuario de dicha biblioteca, pensara en orientación a objetos y metiera sus datos de EA en la estructura de objetos propuesta (sí, sí, hay que aprender los métodos de esa biblioteca/marco para construir una interfaz). Y mucha gente no sabe nada de OOP.
Pero Pedro dice que no tienes que aprender nada. Solo tienes que meter tus variables globales en el carrete de manejadores generados y la interfaz funcionará. No se trata de "hacer tablas para una estantería, conectarlas según las instrucciones y ordenar los libros", sino de "dibujar tu estantería y ordenar tus libros en ella". Code Less Do More ((c)/JQuery si lo es)
Está claro que hay un problema de posicionamiento del producto. ¿Y qué pasa si lo es? ¡Oye, programador! ¿Quieres ganar dinero? Puede vender lo que le parezca bien. Coge un centenar de Asesores Expertos sin interfaz y véndelos con interfaz. jajaja ))
Bueno, hay una desventaja del archivo de interfaz, en el que los manejadores de los controles "sobresalen" - es estático. Tendré que devanarme los sesos y crear un nuevo tipo de manejador que actúe como plantilla y acepte los datos del usuario/programa mediante parámetros de entrada.
Eh, para no hacer el canon...
Está bien, Rehtag hará Konowam. )))
Eh, no es lo canónico - separar los datos (modelo) de las vistas y utilizar el patrón de observador para suscribir vistas específicas a los cambios del modelo o campos específicos del modelo.
Pero eso requeriría que el usuario de dicha biblioteca, pensara en orientación a objetos y metiera sus datos de EA en la estructura de objetos propuesta (sí, sí, hay que aprender los métodos de esa biblioteca/marco para construir la interfaz). Y mucha gente no sabe nada de OOP.
Pero Pedro dice que no tienes que aprender nada. Solo tienes que meter tus variables globales en el carrete de manejadores generados y la interfaz funcionará. No se trata de "hacer tablas para una estantería, conectarlas según las instrucciones y ordenar los libros", sino de "dibujar tu estantería y ordenar tus libros en ella". Code Less Do More ((c)/JQuery si lo es)
Está claro que hay problemas de posicionamiento de los productos. ¿Y qué pasa si lo es? ¡Oye, programador! ¿Quieres ganar dinero? Puede vender lo que le parezca bien. Coge un centenar de Asesores Expertos sin interfaz y véndelos con interfaz. jajaja ))
Bueno, hay una desventaja del archivo de interfaz, en el que los manejadores de los controles "sobresalen" - es estático. Tendré que devanarme los sesos y crear un nuevo tipo de manejador que actúe como plantilla y acepte los datos del usuario/programa mediante parámetros de entrada.
Al principio pensé que era otra tanda de negativos, pero luego lo leí mejor y resultó que no. Sólo emociones.
Este constructor está destinado a las personas que son realmente aficionadas al trading algorítmico. Tiene sentido que no pierdan el tiempo estudiando bibliotecas gráficas, sino que se limiten a crear un código de este tipo:
Y consigue una ventana con una mesa de comedor.
En el archivo de la interfaz el usuario obtendrá este código:
Y determinará qué hacer y cómo hacerlo en los eventos de clic de los botones.
La próxima tabla dinámica será aún más interesante. Las celdas tendrán campos de entrada, listas emergentes, casillas de verificación, botones, botones de radio, barras de progreso y campos de entrada con botones +/-.
Lo difícil es el dinamismo de dicha mesa. Al fin y al cabo, el acceso a los elementos y la obtención de sus valores no están vinculados a parámetros específicos, sino que dependen de la disposición de las filas.