Discusión sobre el artículo "Desarrollando un EA comercial desde cero (Parte 19): Un nuevo sistema de órdenes (II)"

 

Artículo publicado Desarrollando un EA comercial desde cero (Parte 19): Un nuevo sistema de órdenes (II):

Aquí vamos a desarrollar un sistema gráfico de órdenes, del tipo «vea lo que está pasando». Cabe decir que no partiremos de cero, sino que modificaremos el sistema existente añadiendo aún más objetos y eventos al gráfico del activo que estamos negociando.

Hay varias formas de modelar los datos, y cada una tiene sus pros y sus contras.

  • Una primera forma sería utilizar una lista, ya sea enlazada simple circular, enlazada doblemente circular o incluso un sistema de hashing. La ventaja en utilizar cualquiera de estos enfoques es la simplicidad al implementar el sistema, la desventaja es que vamos a obstaculizar la manipulación de los datos o limitar el número de órdenes, pero de una manera u otra en este caso tendríamos que crear toda una lógica extra, solo para mantener la lista.
  • Una segunda forma sería crear un array de clase, donde la clase tendría y daría soporte a todos los nuevos objetos creados, en este caso el array funcionaría como una lista, solo que tendríamos que crear menos código, porque MQL5 ya da soporte a varias cosas que tendríamos que codificar en el caso de la lista, pero tendríamos otros problemas como el manejo de eventos, que en este caso sería algo bastante complicado.
  • Una tercera vía es la que utilizaremos, haremos que el código creado en MQL5 dé soporte a objetos dinámicos, parece surrealista, pero si hacemos un correcto modelado de los datos a utilizar, el lenguaje MQL5 nos dará el soporte para crear un sistema donde no habrá límites en el número de objetos en pantalla, y todos ellos podrán generar y recibir eventos, pero a pesar de ser individuales, la plataforma los verá a todos ellos conectados como si estuvieran en una lista o en un índice de array.

Si crees que esto no es fácil de lograr, mira el siguiente fragmento en la clase C_HLineTrade:

inline void SetLineOrder(ulong ticket, double price, eHLineTrade hl, bool select)
{
        string sz0 = def_NameHLineTrade + (string)hl + (string)ticket, sz1;
                                
        ObjectCreate(Terminal.Get_ID(), sz0, OBJ_HLINE, 0, 0, 0);

//... Restante do código da classe .... 

Este fragmento resaltado muestra exactamente eso, podemos crear tantas líneas horizontales como queramos, y ellas recibirán eventos de forma totalmente independiente, pero lo único que tenemos que hacer es implementar los eventos basados en el nombre que tendrá cada una de las líneas, ya que los nombres serán únicos, la plataforma MetaTrader 5 se encargará del resto por nosotros, así que el resultado será efectivamente como se ve a continuación:


Autor: Daniel Jose

 

ATFX oro plataforma de divisas agentes de reclutamiento
ATFX libre de abrir agentes personales / empresa, fondo exclusivo agente, la comisión se devuelve. Corredores de divisas con licencia completa FCA del Reino Unido reclutando agentes
Ventaja] 12 oficinas en el extranjero en 11 países de todo el mundo, en Europa, América, África y Asia.
[Ventaja] estabilidad de la plataforma, la oferta de liquidez superior. el modo STP, una serie de proveedores de liquidez conocida oferta LP, el volumen de negocios rápido, no chucking no se cayó, no deslizamiento, la cobertura, marcar cuero cabelludo, segundo single, EA, etc sin ningún tipo de restricciones comerciales.
Ventaja] Reino Unido FCA licencia superior de divisas, Chipre licencia stp. Mauricio licencia financiera, Abu Dhabi licencia de divisas, San Vicente de divisas licencia financiera y otros múltiples regulación. La seguridad del capital, la plataforma regular para apoyar a largo plazo grandes ganancias de capital fuera del oro.
[Ventaja] rápido y seguro una variedad de acceso público al dinero: transferencia bancaria, UnionPay, público, Alipay, WeChat y así sucesivamente.
[Ventaja] variedad de completo: divisas, oro, petróleo crudo, índice, acciones de EE.UU., las acciones de Hong Kong y otros 200 tipos de variedades de comercio.
[Ventaja] ultra-bajo spread oro 0,35, Europa y Estados Unidos 0,18. comisión base oro / índice / petróleo crudo / por mano 14/15/16 dólares EE.UU. por mano; divisas 8/9/10 dólares EE.UU. por mano. mt4 operación
ATFX agente de consultoría: 85292029084 (WeChat) QQ: 1171513819 WeChat: AT5050