Discusión sobre el artículo "Símbolo personalizados: fundamentos de uso en la práctica"

 

Artículo publicado Símbolo personalizados: fundamentos de uso en la práctica:

El presente artículo está dedicado a la generación programática de los símbolos personalizados que sirven para mostrar varios métodos populares de representación de cotizaciones. Asimismo, ofrecemos una adaptación poco invasiva de asesores para comerciar con un símbolo real desde el gráfico del símbolo personalizado derivado. Los códigos fuente se adjuntan al artículo.

Para los instrumentos bursátiles, el asesor experto nos permite usar el modo de volumen real, por ejemplo, de la forma siguiente:

Gráfico original de LKOH con un volumen real de 10,000 por barra generado por el experto EqualVolumeBars en MetaTrader 5

Gráfico de equivolumen de LKOH con un volumen real de 10,000 por barra generado por el experto EqualVolumeBars en MetaTrader 5

Gráficos inicial (a) y de equivolumen (b) de LKOH con un volumen real de 10000 por barra generado por EqualVolumeBars EA en MetaTrader 5

No importa el marco temporal del símbolo en el que se ejecuta el asesor, ya que las barras M1 o la historia de ticks siempre se usan para los cálculos.

El marco temporal de los gráficos de los símbolos personalizados debe ser igual a M1 (el menor marco temporal disponible en el terminal). Por consiguiente, el tiempo de las barras, en general, se corresponde con sus momentos de formación de manera bastante próxima. No obstante, durante los movimientos intensos del mercado, cuando el número de ticks o el tamaño de los volúmenes forman varias barras por minuto, el tiempo de las barras adelantará al real. Cuando el mercado se tranquiliza, las marcas temporales de las barras de equivolumen vuelven a la normalidad. Probablemente, esta limitación de la plataforma no resulte especialmente crítica para las barras de equivolumen o de igual rango, ya que la propia idea de dichos gráficos consiste en desvincularlos del tiempo absoluto.

Autor: Stanislav Korotky

 
En el artículo he visto una característica de MQL que no conocía. Un ejemplo de su uso.
template <typename T>
void f( T& ) {}

// Funciona sólo para objetos de estructuras y clases.
template <typename T>
void OnlyObjects( T& )
{  
  const T Tmp;
  
  f((T)Tmp);
  
  // ....
}

void OnStart()
{
  int i;
  MqlTick Tick;
  
  OnlyObjects(Tick); // OK
  OnlyObjects(i);    // Error
}
 
fxsaber:
En el artículo he visto una característica de MQL que no conocía. Un ejemplo de su uso.

Probablemente pertenece a otro artículo ;-) - https://www.mql5.com/es/articles/8028/ - plantillas se utilizaron allí, y el ejemplo de allí fue simplemente trasladado aquí listo.

Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции
Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции
  • www.mql5.com
В этой статье мы продолжаем изучать различные методы парсинга математических выражений и их реализацию на языке MQL. В первой части были рассмотрены парсеры рекурсивного спуска. Их главное достоинство — интуитивно понятное устройство, напрямую связанное с конкретной грамматикой выражений. Но если речь заходит об эффективности и технологичности...
 

Stanislav, ¡gracias por tu trabajo!

¿Por qué los cuatro tipos de gráficos (equi-, renge-, tick- y renko) no están combinados en un EA? ¿Había alguna razón para separarlos, o simplemente era más fácil rehacer algo ya hecho?


К сожалению, имя исходного символа и созданного на его основе ренко никак нельзя связать средствами самой платформы. Было бы удобно иметь среди свойств пользовательского символа строковое поле "origin" (источник) или "parent" (родитель), в которое мы могли бы записать имя реального рабочего инструмента. По умолчанию оно было бы пустым, но если его заполнить, то платформа могла бы автоматически и прозрачно для пользователя подменять символ во всех торговых приказах и запросах истории.

Muy buena idea. Además de comercio de la carta trabajaría inbuilt.

¿A quién debo contactar? @Renat Fatkhullin @Slava

 
Andrey Khatimlianskii:

¿Por qué los cuatro tipos de gráficos (equi-, renge-, tick-, y renko) no están combinados en un EA? ¿Había razones para separarlos, o simplemente era más fácil rehacer algo ya hecho?

En primer lugar, históricamente se han hecho por separado (para empezar algunas cosas no son mías ;-). En segundo lugar, IMHO cada tipo de gráfico tiene sus propios adeptos y no se solapan mucho (por ejemplo, los fans del tick no son fans del renko, y el timeshift es un tema totalmente aparte). En tercer lugar, tienen en común sólo la inicialización, y no completamente, porque la continuación de la generación después de reiniciar debe hacerse de manera diferente. Hubo una idea de poner el común en un includnik separado, pero teniendo en cuenta el punto 2, es más fácil para todos a elegir un archivo sin dependencias.

 
Stanislav Korotky:

En primer lugar, históricamente se han hecho por separado (para empezar algunos no son lo mío ;-). En segundo lugar, IMHO, cada tipo de gráficos tiene sus propios adeptos y no se solapan mucho (por ejemplo, los fans del tick no son fans del renko, y el timeshift es un tema aparte). En tercer lugar, tienen en común sólo la inicialización, y no completamente, porque la continuación de la generación después de reiniciar debe hacerse de manera diferente. Hubo una idea de poner el común en un includnik separado, pero teniendo en cuenta el punto 2, es más fácil para todos a elegir un archivo sin dependencias.

Bueno, todos tienen el mismo significado - para tomar las garrapatas (o minutos), y construir un gráfico de ellos sin una línea de tiempo.

La preparación de la historia (idealmente una sola vez, con la continuación después de una pausa desde el lugar correcto), la generación de nuevas barras, y la emulación de los ticks son todos similares. Sólo las reglas para "nueva barra" son diferentes.

Pero entiendo la respuesta, yo también empezaría con la adaptación de una ya hecha, en lugar de inventar una bicicleta.

 
MetaTrader 5 ha añadido soporte para el historial de ticks reales y la propia plataforma se posiciona, entre otras cosas, como una herramienta para el comercio de alta frecuencia (HFT). <br/ translate="no">

Divertido) ¿y quién y dónde lo posiciona así?

El servidor MT5 de mi broker no puede ejecutar una orden pendiente en 100ms, así que cómo puede ser HFT).

Por no hablar de que las órdenes pendientes se ejecutan como órdenes de mercado.

 
secret:

Divertido) y ¿quién y dónde lo posiciona así?

El servidor MT5 de mi broker no puede ejecutar una orden pendiente en 100ms, qué es HFT).

Por no hablar de que las órdenes pendientes se ejecutan como órdenes de mercado.

https://www.mql5.com/en/welcome/en-metatrader-5-high-frequency-trading

MetaTrader 5 – the best solution for HFT traders!
MetaTrader 5 – the best solution for HFT traders!
  • www.mql5.com
Speed is a key attribute of High-Frequency Trading. Everything from data delivery and trade execution to the instant analysis based on huge amounts of data using hundreds of analytical tools must be as fast as possible. All this is available in MetaTrader 5! In MetaTrader 5, quotes are updated dozens of times per second. The quoting speed is an...
 
Stanislav Korotky:

Renko

Para realizar gráficos renko, utilizamos el Asesor Experto no comercial RenkoTicks.mq5. Genera renko en forma de cotizaciones de un instrumento personalizado mediante el procesamiento de ticks reales (disponibles en MetaTrader 5 desde su broker). Las cotizaciones (barras) del símbolo original y el marco temporal del gráfico de trabajo donde se coloca RenkoTicks no importan.

Una alternativa a los símbolos personalizados a la hora de trazar renko podría ser un indicador o un dibujo (usando objetos o sobre lienzo),pero en ambos casos sería imposible aplicar indicadores o scripts sobre tales pseudo-gráficos.

Bueno, por qué ser tan categórico. Se puede dibujar sobre el lienzo, escribir los valores en el buffer del indicador y aplicar otros indicadores al precio "Datos del indicador anterior". Y ésta es sólo una de las variantes más primitivas. Hay otras más avanzadas.





 
Nikolai Semko:

¿Por qué tan categórico? Puede dibujar en el lienzo, escribir los valores en el búfer del indicador y aplicar otros indicadores al precio "Datos del indicador anterior". Y esta es sólo una de las variantes más primitivas. Hay otras más avanzadas.

Esta solución no cubre toda la variedad de herramientas utilizadas en la práctica.

 
Andrey Khatimlianskii:

Esta solución no abarca toda la variedad de herramientas utilizadas en la práctica.

Esta solución no pretende cubrir toda la diversidad, sino sólo como refutación de la afirmación de que no hay posibilidad de utilizar indicadores en un gráfico con un esquema de temporización de barrasno estándar .
Repito - hay soluciones más avanzadas (aunque mucho más complicadas), que ya pueden afirmar que cubren "toda la diversidad".