Ayuda a la codificación - página 595

 

lo siento, uso el traductor en línea, y esto puede no todos entienden, lo siento de nuevo.

 
v2812:
¿es este el grado de inclinación?

v2812

Eso no es nada

Cambie la escala horizontal (presione el zoom para acercarse o alejarse) y el "ángulo" seguirá siendo el mismo aunque se haya cambiado en el gráfico. Como dije : olvídate de los "ángulos" en las series temporales financieras. Sólo hay algunas aproximaciones (como la que hice cuando se aproxima al cambio de precio sobre algún cambio de rango medio) pero no hay nada que pueda llamarse un ángulo matemático exacto cuando los ejes x e y de un sistema de coordenadas no están usando las mismas unidades

 

Quería que al cambiar la escala del gráfico la pendiente de esta línea se mantuviera igual, mostrando la fuerza del movimiento moviendo la media

 

Mira, la imagen V5- línea muestra la pendiente de 69,0. En la imagen V6 he reducido la escala, pero la pendiente de la línea invariablemente 69,0. Supongamos que el ángulo 69,0 la tendencia es fuerte, y vamos a saber en cualquier gráfico de escala. Lo necesito.

Archivos adjuntos:
 
v2812:
Mira, la imagen V5- línea muestra la pendiente de 69,0. En la imagen V6 he reducido la escala, pero la pendiente de la línea invariablemente 69,0. Supongamos que el ángulo 69,0 la tendencia es fuerte, y vamos a saber en cualquier gráfico de escala. Lo necesito.

v2812

Por favor, lea este post : https://www.mql5.com/en/forum/173056/page3

Espero que esto le ayude a entender lo que estamos tratando. Todo lo mejor

 

si no es un grado, pero que es inmutable, por lo que puede saber que de 30 a 80, por ejemplo - fuerte tendencia, cualquiera que sea la escala del gráfico si el punto es verde (30 a 80), significa creciente tendencia fuerte

 

Tal vez no sea un grado sino un valor específico en números. Significa vincular los puntos de color al rango estos números

 
on my own:
No creo que se puedan sincronizar dos cosas que no son sincrónicas (ticks de dos símbolos diferentes)

Ok pero puedo ignorar la sincronización de los ticks porque me refiero a la barra de precios del último cierre que ha terminado.

Una pregunta:

Cuando la variable 'limit' es igual a 1, significa que estoy considerando la última barra memorizada en el Timeseries Arrays con índice igual a 1 para ambas monedas,

por lo que son las barras que acaban de terminar.

¿Cómo pueden ser influenciados por el tick de la barra actual?

 
twinumbers:

Ok pero puedo ignorar la sincronización de los ticks porque me refiero a la barra de precios del último cierre que ha terminado.

Una pregunta:

Cuando la variable 'limit' es igual a 1, significa que estoy considerando la última barra memorizada en el Timeseries Arrays con índice igual a 1 para ambas monedas,

por lo que son las barras que acaban de terminar.

¿Cómo pueden ser influenciados por el tick de la barra actual?

¿Cómo se sabe que el otro símbolo precio id hasta la fecha?

 
apprentice coder:
¿Cómo se sabe que el precio del otro símbolo está actualizado?

Aquí está el código:

#property indicador_separar_ventana

#property indicator_buffers 1

#property indicador_color1 Rojo

#property indicador_ancho1 2

double Buffer[];

//int bares;

//+------------------------------------------------------------------+

//| Función de inicialización del indicador personalizada ||.

//+------------------------------------------------------------------+

int OnInit()

{

//--- mapeo de buffers de indicadores

IndicatorBuffers(1);

SetIndexBuffer(0, Buffer,INDICATOR_DATA);

ArrayInitialize(Buffer,EMPTY_VALUE);

ArraySetAsSeries(Buffer,True);

//---

return(INIT_SUCCEED);

}

//+------------------------------------------------------------------+

//| Función de iteración de indicadores personalizada ||.

//+------------------------------------------------------------------+

int OnCalculate(const int rates_total,

const int prev_calculado,

const datetime &time[],

const double &open[],

const double &high[],

const double &low[],

const double &close[],

const long &tick_volume[],

const long &volume[],

const int &spread[])

{

//---

if(prev_calculado == 0)

{

int i = rates_total-prev_calculated-1;

for (;i>0;i--)

Buffer = close-(iClose("GBPUSD", 0, i));

// barras = iBars("GBPUSD",0);

}

else

{

if(rates_total > prev_calculated)

// if( (rates_total > prev_calculated) && (iBars("GBPUSD",0) > bars) )

{

int limit = rates_total-prev_calculated;

Buffer[limit] = close[limit]-(iClose("GBPUSD", 0, limit));

// barras = iBars("GBPUSD",0);

Print("GBP: "+iClose("GBPUSD", 0, limit));

Print("EUR: "+close[limit]);

Print("límite: "+límite);

}

}

//--- devolver el valor de prev_calculado para la siguiente llamada

return(rates_total);

}

cuando llega cada nueva barra, imprimo el precio de cierre del último EURUSD y GBPUSD, a veces ocurre que el precio impreso es diferente del precio de cierre de la última vela.

Además si adjunto el indicador por segunda vez en el gráfico es visible la diferencia en el indicador del gráfico entre éste y el anterior.