¡Promotores! ¿Acaso pruebas lo que creas? - página 7

 

¡Buenas tardes!

С-4

Stock# no es gratuito para la nueva pasarela Cgate Plaza II.

La API de Cgate es distribuida gratuitamente por la bolsa. Escribe tu propio terminal (por supuesto, no será tan bonito como MQ),

no es difícil, es difícil de traducir Cgate API para el usuario de la API, que será capaz de escribir en cualquier idioma su propio Asesor de Expertos - DLL.

En esencia, mi idea es ésta:

BASE --> PLAZAII(Cgate API) --> Simple Terminal --> DLL user advisor.

En la figura obtengo una cotización de prueba de la bolsa a través del protocolo Plaza II


¡El terminal está casi listo (lo escribí en 3 días)!

En el lenguaje (en cualquier asesor DLL) puedes crear los "gadgets" que quieras (tazas, botones, gráficos adicionales, etc.),

sólo estará limitado por el entorno de desarrollo.

Sin embargo, hay una gran desventaja en este concepto: la complejidad de probar el EA (sólo a través de los registros, por ahora).

Pero las ventajas innegables - la conexión "directa" con el intercambio, y cualquier lenguaje de programación.

P.S El concepto cliente-servidor (como en general cualquier comercio electrónico) se basa SOLO en el modelo de eventos: PETICIÓN-RESPUESTA - ¡esa es la BASE!

Puedes inventar lo que quieras (comprobaciones varias, etc.), pero si no funciona correctamente petición-respuesta, al final seguirá

Inevitablemente, dará lugar a un error en el Asesor Experto.


 
Mikalas:

...

Sin embargo, hay una gran desventaja en este concepto: la dificultad de probar el EA (sólo a través de los registros, por ahora).

...

La mayor ventaja del concepto MT5 es la comunicación en el foro con los chicos inteligentes. Si no cuesta nada, entonces ...

 
Mikalas:

¡El terminal está casi listo (3 días enteros de escritura)!

¡Impresionante para tres días!

La única pregunta es: si todo es tan bueno, ¿por qué sigues usando MT5?

DC2008:

Hay una gran ventaja en el concepto de MT5: la comunicación en el foro con chicos inteligentes. Si no cuesta nada, entonces .

Sí, eso es seguro. Hoy en día, este tipo de productos no pueden sobrevivir sin su ecosistema. Un foro, comunicación, miles de usuarios, activistas como tú y yo dispuestos a publicar, discutir, bloguear... Sin el apoyo de los usuarios, cualquier proyecto, sea cual sea, se estancará tarde o temprano, y todos los esfuerzos para desarrollarlo serán inútiles.
 

¡С-4!

El terminal - ¡sólo sirve para mostrar cualquier cosa!

Ya he escrito antes que no es nada difícil. Lo más difícil es transformar la API de Cgate en una API de usuario,

He hecho 1/200 (no lo más difícil) parte de lo que hay que hacer.

Cgate Plaza II es un cliente-servidor asíncrono de streaming, y los streams pueden

contienen más de un tipo de información.

Desgraciadamente, no tengo el nivel para hacer esta transformación completamente ....

Sólo hay 2 productos (de pago) en el mercado que funcionan a través de Cgate, y no estoy

No estoy seguro de que sea el correcto.

Así que, en FORTS, hasta que escriba CGate Trader, es MT5.

 

Por cierto, me encontré con un interesante artículo sobre MetaTrader 5 Trading Events de MetaQuotes Software Corp, con fecha 24 de enero de 2011. Entre otras cosas dice:

Сообщения о торговых событиях и об изменениях в торговой истории поступают по независимым каналам. При отправке запроса на покупку функцией OrderSend() можно сразу же узнать тикет ордера, который был создан при успешном результате проверки запроса. Но в то же время сам ордер еще может не появиться в клиентском терминале и попытка выбрать его с помощью функции OrderSelect() окажется неуспешной. 

También:

Todas las operaciones en el servidor comercial y el envío de mensajes sobre eventos comerciales se realizan de forma asíncrona. Sólo hay una forma garantizada de saber qué ha cambiado exactamente en una cuenta comercial. De esta forma se recuerda el estado del comercio y el historial de operaciones y se compara el nuevo estado con el guardado.

A continuación se presentan ejemplos de cómo organizar correctamente el mostrador de pedidos y operaciones.

Si usted mira cuidadosamente en el problema del autor, resultará que no hay ningún problema, sólo tiene que encontrar la fuerza moral para rechazar OnTradeTransaction() función y la captura de todos los cambios en OnTimer() con la actualización de alta resolución.

En un par de minutos redacté mi ejemplo de trabajo con la historia cambiada.

///
/// Следит за поступлением новых трейдов и ордеров.
///
void OnTimer()
{
     datetime tBegin = TimeCurrent();
     HistorySelect(dataBegin, TimeCurrent());
     //Если новые трейды не поступили, то и нечего обрабатывать.
     if(HistoryDealsTotal() == 0)return;
     AddDeals();
     dataBegin = tBegin;
}
Hay una trampa oculta en este ejemplo y no se puede utilizar tal cual, pero creo que el concepto está claro. Cada vez cargamos un trozo de historia desde la última operación procesada hasta el momento actual. Si llega un nuevo comercio, lo procesamos y barajamos el inicio de la carga de la historia al momento de la llegada del comercio.
 
C-4:

Por cierto, me encontré con un interesante artículo sobre MetaTrader 5 Trading Events de MetaQuotes Software Corp, con fecha 24 de enero de 2011. Entre otras cosas dice:

Uh-huh

 

Y le recomiendo al autor que lea el artículo Cómo crear un robot de trading y no perder el tiempo. Encaja exactamente:

Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда.

Pero "no se puede sacar el pez del estanque sin mano de obra", y el programador suele empezar a escribir toda la infraestructura necesaria -obtención y procesamiento de datos de precios, representación visual de gráficos e indicadores, herramientas personalizadas para probar la estrategia en el historial, etc.- desde cero, en lugar del robot de trading.

En el proceso de este trabajo obtiene mucha experiencia útil. Pero al mismo tiempo él o ella, en la mayoría de los casos, no está ni un poco más cerca del objetivo final - la creación de un sistema de comercio automatizado. E incluso si llega hasta el final, ¿dónde está la garantía de que el robot escrito será rentable? ¿Y qué pasa si él o ella quiere escribir otro sistema de comercio? Hay que reconstruir todo y lidiar con los nuevos e inevitables errores de programación.

 

¡Vasily!

Ciertamente entiendo su apego a la MT-5, pero créame.

No tiene sentido rebuscar en los historiales, porque allí también pueden escribirse datos erróneos.

Por favor, comprenda una cosa sencilla: ¡cliente-servidor = solicitud-respuesta!

Mira, la orden se actualizó y la respuesta viene que se ejecutó parcialmente,

¿qué crees que pasará en la historia?

 

¡Roch!

Tú también me impones lo que he leído cinco veces.

No estoy hablando de hacer un robot (o de cómo escribir uno), sino de

No estoy hablando de hacer un robot (o de cómo escribirlo), sino de errores específicos en MT-5.

Ni siquiera te molestas en mirar de cerca la foto

He adjuntado (TIEMPO DE MENSAJE)

 
Mikalas:

Ni siquiera te molestas en mirar de cerca la foto que

Adjunto.

Pobrecito, ojalá pudiera ayudarte... estás tan tenso que gritas.


puedes darme un archivo de registro de texto en lugar de capturas de pantalla.

+ un código donde pueda reproducir su error?