[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 753
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por favor, avise de cuál es la trampa:
1) Relleno un array bidimensional con el tiempo de formación del extremo ZigZag y el propio valor del extremo.
2) Rellenar la segunda matriz con unos o dos en función de si el extremo correspondiente a un elemento dado es un máximo o un mínimo local.
3) Emitiré los resultados a través de Alert.
pero en un lugar donde debería imprimirse 1 o 2 siempre se imprimen ceros.
¿Cuál es la trampa?
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
string TimeSave1[100][2], TimeSave2[100][2];
double A[], B[];
double Number_of_extremum[];
extern string Currency = "EURUSD";
+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
int k;
k=0;
double date;
int status;
for(int shift = 0; shift <= Bars-1; shift++)
{
date = iCustom(NULL, 0, "ZigZag", 12, 5, 3, 0, shift);
//----------------------------------------------------
if(date > 0)
{
TimeSave1[k][0]=TimeToStr(Time[shift]);
TimeSave1[k][1]=date;
k++;
}
}
//====================================================
for (int u=1;u<=k;u++)
{
if (StrToDouble(TimeSave1[u][1])<=StrToDouble(TimeSave1[u-1][1]))
{
Number_of_extremum[u]=1;// значит под номером u - нашли min
}
else
if (StrToDouble(TimeSave1[u][1])>=StrToDouble(TimeSave1[u-1][1]))
{
Number_of_extremum[u]=2;// значит под номером u - нашли max
}
}
//====================================================
for (int j=1;j<10;j++)
{
Alert("время== ",TimeSave1[j][0], " значение== ", TimeSave1[j][1], " max/min== ", Number_of_extremum[j]);
}
//----
return(0);
}
//+------------------------------------------------------------------+
Y una aclaración más:
cómo comparar fechas y horas en mql (por ejemplo, necesito determinar qué vértice de ZZ se formó antes - para ello necesito comparar la hora de su formación...)
No he mirado el resto, acabo de llegar...
Amigos, una pregunta:
Se enfrenta a este problema:
el indicador emite alguna información a través de la Alerta.
Pero, poco a poco, el campo de salida de la alerta acumula demasiada "basura"...
Cuando vuelva a poner en marcha el indicador, ¿se podrán borrar todos los registros antiguos en Alert?
Gracias de antemano.
P.D.
Por favor, comenten mi post anterior (por qué se muestran valores nulos en lugar de 1 y 2)
No lo encontré en el foro...
Pregunta - ¿es posible cambiar el comentario de la orden? Bueno, cuando la operación OrderSend() pongo en el comentario algún valor de "OrderNotModify", y al hacer más acciones con esta orden, por ejemplo el cierre parcial, cambio OrderComment a "OrderIsModify"... ¿o no?
¿Puede decirme cuál es la trampa?
El array se llena desde 0, pero aquí se salta el índice 0, y se llena desde el 1, y
El array se llena desde 0, pero aquí se salta el índice 0 y se llena desde el 1, y
No entiendo muy bien su comentario.
1) ¡k, al principio, no es cero! k = el número de vértices ZigZag que hemos detectado en una determinada profundidad de la historia
2) "entonces, siempre funciona [1][1]>=[0][1]" - ¿por qué siempre funciona? si el elemento anterior del array TimeSave1 > el siguiente elemento, no funcionará.
repita, por favor, lo que quiso decir.
no entendí bien tu comentario.
1) ¡k, al principio, no es igual a cero! k = el número de vértices ZigZag que hemos detectado en una determinada profundidad de la historia
2) "entonces, siempre funciona [1][1]>=[0][1]" - ¿por qué siempre funciona? si el elemento anterior del array TimeSave1 > el siguiente elemento, no funcionará.
Por favor, dígame de nuevo lo que quiere decir.
Entiendo k. Esto es lo que no entiendo.
en la parte derecha
¿es posible cambiar el comentario de orden?
Parece que no.
así que... parece que es el calor... Y también está afectando a mi compilador :)
Verás, necesito pasar por un array que registre la fecha de formación del max/min del ZigZ y el valor de ese max/min.
Necesito entender, de hecho, qué vértice de ZZ es un mínimo y cuál es un máximo.
Para ello, comparo el siguiente punto más alto de ZZ con el anterior.
Si el tope consecutivo es mayor, entonces es un tope.
si es más pequeño, es una depresión.
Dependiendo de si se trata de un vértice o una depresión, añadimos 1 o 2 a un elemento de otra matriz, respectivamente.
¡¡¡¡Tengo curiosidad por esto, DONDE podría haber un error!!!!
Quiero poder calcular los niveles de fiba a partir de dos valores conocidos:
El nivel de fibra cero corresponde a 1,2807, el nivel 23,6 corresponde a 1,2838.
Tenemos que encontrar los otros niveles 38,2, 50,0, 61,5, 100,0 y a qué precios corresponden.
No pude encontrar ninguna conexión entre 1,2807 y 1,2838 para entender los principios de
de encontrar todos los demás valores.
Por favor, dígame, alguien ... :)
Alguien ha conocido el indicador para ver el tiempo de apertura de la barra en un TF bajo, no cuánto tiempo es interesante, y para dibujar las marcas en el gráfico donde la barra comenzó y donde terminó
Creo que sí. El código no está optimizado, pero dibuja lo que me gustaría ver.