No es un trabajo fácil, pero inicialmente el enfoque parece equivocado - a través de líneas de tendencia-objetos.
¿Por qué no a través de Bitmap-objeto con recurso personalizado - lienzo? Lo más probable es que la lib. mat. se implementará en 3D de esta manera.
No es un trabajo fácil, pero inicialmente el enfoque parece equivocado - a través de líneas de tendencia-objetos.
¿Por qué no a través de Bitmap-objeto con recurso personalizado - lienzo? Lo más probable es que la lib. mat. se implementará en 3D de esta manera.
Y entonces, ¿cómo realizar la interactividad (control del objeto 3D)? ¿Cómo reaccionar al cambio de timeframe, escala del gráfico, cambio de ventana, nuevo tick (barra) y muchos otros?
En esta implementación, el terminal y la funcionalidad del lenguaje MQL5 lo hacen todo, y no hay necesidad de programar nada. Es decir, se ofrece una solución sencilla a un problema complejo.
¿Y cómo realizar la interactividad (control de objetos 3D)? ¿Cómo reaccionar a un cambio de timeframe, escala del gráfico, cambio de ventana, nuevo tick (barra) y muchos otros?
En esta implementación, el terminal y la funcionalidad del lenguaje MQL5 lo hacen todo, y no hay necesidad de programar nada. Es decir, se ofrece una solución sencilla a un problema complejo.
Sólo a través del kanvas. He publicado un indicador de tick en este principio en Kodobaza. La interactividad es bastante fuerte allí.
Un poco de interactividad y mat. bibla ahora sabe cómo hacerlo
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading.
fxsaber, 2016.11.14 10:11 AM
Por favor finalicen CGraphic y CCurve. Son clases débiles. Y es casi irreal heredar de ellas, porque lo necesario es privado. Tardé mucho en ponerme a ello, pero para corregirlas al funcionamiento normal, tuve que reescribir las clases yo mismo.
Quería hacer un gráfico de tick interactivo - me salió sólo crudamente (sin reescribir las clases)
void GetPrices( double &Bids[], double &Asks[], const int Count = 100 )
{
MqlTick Ticks[];
const int Amount = CopyTicks(_Symbol, Ticks, COPY_TICKS_INFO, 0, Count);
ArrayResize(Bids, Amount);
ArrayResize(Asks, Amount);
for (int i = 0; i < Amount; i++)
{
Bids[i] = Ticks[i].bid;
Asks[i] = Ticks[i].ask;
}
}
CGraphic* Graphic = new CGraphic;
const string Name = "Graphic" +(string)(GetTickCount() + MathRand());
void OnDeinit( const int Reason )
{
Graphic.Destroy();
delete Graphic;
ChartRedraw();
}
void GraphTicks( const double &Price1[], const double &Price2[] )
{
Graphic.Destroy();
delete Graphic;
Graphic = new CGraphic;
Graphic.Create(0, Name, 0, 0, 0, (int)(ChartGetInteger(0, CHART_WIDTH_IN_PIXELS) * 0.8), (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS));
Graphic.AddCurve(Price1, CURVE_LINES);
Graphic.AddCurve(Price2, CURVE_LINES);
Graphic.PlotAllCurves();
Graphic.Update();
}
void OnTick()
{
double Bids[], Asks[];
GetPrices(Bids, Asks);
GraphTicks(Bids, Asks);
}

Sin DeleteCurve, ChangeCurve, etc.
¿Y cómo realizar la interactividad (control de objetos 3D)? ¿Cómo reaccionar a un cambio de timeframe, escala del gráfico, cambio de ventana, nuevo tick (barra) y muchos otros?
En esta implementación, el terminal y la funcionalidad del lenguaje MQL5 lo hacen todo, y no hay necesidad de programar nada. Es decir, se ofrece una solución sencilla a un problema complejo.
¿Es el tema del artículo algún tipo de control interactivo? El tema del artículo es el modelado 3D. ¿Dónde está la función mágica en la que das coordenadas espaciales y obtienes coordenadas de pantalla como salida?
No sólo no se revela el tema en el artículo, sino que incluso parece que el autor no tiene ni idea de cuál es la esencia de este tema.
No es un trabajo fácil, pero inicialmente el enfoque parece equivocado - a través de líneas de tendencia-objetos.
¿Por qué no a través de Bitmap-objeto con recurso personalizado - lienzo? Lo más probable es que la lib. mat. se implementará en 3D de esta manera.
No deberían ser ambas, son opciones de mapeo. Inicialmente todo debería estar en arrays.
Así que la matriz 3D son los datos en bruto. Creo que estamos hablando de visualización.
Si sólo... nada de visualización.
¿El tema del artículo es algún tipo de control interactivo? El tema del artículo es el modelado 3D. ¿Dónde está la función mágica en la que se dan coordenadas espaciales y se obtienen coordenadas de pantalla como salida?
En el artículo no sólo no se revela el tema, sino que incluso parece que el autor no se da cuenta de la esencia de este tema en absoluto.
3D - sin la posibilidad de cambiar el punto de vista - es dibujo 2D. Por lo tanto, la interactividad es la cualidad más importante en el modelado de objetos tridimensionales. ¿Qué sentido tiene una imagen estática?
Existe una función mágica y se da un ejemplo de su uso.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Modelado 3D en MQL5:
Una serie temporal es un sistema dinámico en el que los valores de una cierta magnitud aleatoria llegan de forma consecutiva: ininterrumpidamente o tras un cierto intervalo temporal. El paso del análisis plano del mercado al análisis con volumen permitirá mirar de una forma nueva a los complejos procesos y manifestaciones que interesan al investigador. En el artículo se describen las funciones de visualización de la representación 3-D de datos bidimensionales.
Las líneas en las superficies paralelas a las superficies XZ e YZ se dibujan por separado. Es posible variar el número de nodos en cada eje y también en la propia función.
Fig. 6. Ejemplo de construcción de una superficie 3D.
Autor: Sergey Pavlov