me explico un poco mejor: necesito un indicador que lea de un archivo CVS y grafique los valores en una sub-ventana, el CVS tendrá 2 valores separados por comas, el primer valor es la fecha y el segundo es el valor real que el indicador debe graficar.
me explico un poco mejor: necesito un indicador que lea de un archivo CVS y grafique los valores en una sub-ventana, el CVS tendrá 2 valores separados por comas, el primer valor es la fecha y el segundo es el valor real que el indicador debe graficar.
Por ejemplo
el CVS se ve así:
Hora,valor
2016.10.26.21.20,127.765
2016.10.26.21.15,127.777
2016.10.26.21.10,127.777
2016.10.26.21.05,127.799
2016.10.26.21.00,127.791
2016.10.26.20.55,127.788
el indicador trazará el valor correspondiente a la fecha
Espero que sea un poco más claro ahora...
¡Gracias por tu ayuda amigo!
Eso es lo que he logrado hasta ahora:
externstring FileName = "AUDCAD.CSV";
datetime dt[9999];
double val[9999];
string arr[2];
int h = FileOpen(FileName, FILE_CSV|FILE_READ,'~');
if (h==0) Comment("File "+FileName+" not found.");
for (int c=0; !FileIsEnding(h) && c<9999; c++) {
string tmp = FileReadString(h);
if (FileIsEnding(h)) break;
StrToStringArray(tmp,arr,",");
dt[c] = StrToTime(arr[0]); // <==== This should convert the date value (in the format of "yyyy.mm.dd hh:mi") to datatime type and assign it to the array
val[c] = StrToNumber(arr[1]); // <==== This will assign the value to the array
}
FileClose(h);
//+------------------------------------------------------------------+void StrToStringArray(string str, string &a[], string delim=",") {
//+------------------------------------------------------------------+int z1=-1, z2=0;
for (int i=0; i<ArraySize(a); i++) {
z2 = StringFind(str,delim,z1+1);
a[i] = StringSubstr(str,z1+1,z2-z1-1);
if (z2 >= StringLen(str)-1) break;
z1 = z2;
}
}
//+------------------------------------------------------------------+double StrToNumber(string str) {
//+------------------------------------------------------------------+// Usage: strips all non-numeric characters out of a stringint dp = -1;
int sgn = 1;
double num = 0.0;
for (int i=0; i<StringLen(str); i++) {
string s = StringSubstr(str,i,1);
if (s == "-") sgn = -sgn; elseif (s == ".") dp = 0; elseif (s >= "0" && s <= "9") {
if (dp >= 0) dp++;
if (dp > 0)
num = num + StrToInteger(s) / MathPow(10,dp);
else
num = num * 10 + StrToInteger(s);
}
}
return(num*sgn);
}
No estoy seguro de por qué si imprimo dt[c] siempre devuelve el mismo valor... como si el tiempo nunca cambiara aunque el arr[0] cambie en cada iteración del bucle...
Después de esto deberíamos asignar el valor a la barra con ese tiempo... pero estoy atascado...
me explico un poco mejor: necesito un indicador que lea de un archivo CVS y grafique los valores en una sub-ventana, el CVS tendrá 2 valores separados por comas, el primer valor es la fecha y el segundo es el valor real que el indicador debe graficar.
Por ejemplo
el CVS se ve así:
Hora,valor
2016.10.26.21.20,127.765
2016.10.26.21.15,127.777
2016.10.26.21.10,127.777
2016.10.26.21.05,127.799
2016.10.26.21.00,127.791
2016.10.26.20.55,127.788
el indicador trazará el valor correspondiente a la fecha
Espero que sea un poco más claro ahora...
¡Gracias por tu ayuda amigo!
Eso es lo que he logrado hasta ahora:
¡¡No importa, he resuelto el problema: .... el SrtToTime solo acepta cadenas con este formato: "aaaa.mm.dd hh:mi" eso significa que estaba cargando un CSV con este formato en vez de "aaaa.mm.dd hh.mi" y obviamente me estaba dando un error.. de todas formas lo he resuelto!!
Hola chicos y gurús del código,
Estoy buscando un indicador simple que traza sus propios valores de un archivo CSV. ¿Puede alguien ayudarme?
¡Gracias de antemano!
¿Qué significa "su propio valor"?
Gracias mladen,
me explico un poco mejor: necesito un indicador que lea de un archivo CVS y grafique los valores en una sub-ventana, el CVS tendrá 2 valores separados por comas, el primer valor es la fecha y el segundo es el valor real que el indicador debe graficar.
Por ejemplo
el CVS tiene este aspecto:
el indicador trazará el valor correspondiente a la fecha
Espero que esté un poco más claro ahora...
¡Gracias por tu ayuda amigo!
Querido amigo,
necesito codificar,
si la vela se cierra, si la vela está arriba, entonces alertaarriba y si la vela está abajo, entonces alertaabajo en cualquier marco de tiempo
si usted tiene pls compartirme,
gracias en adance,
- jesing
Gracias mladen,
me explico un poco mejor: necesito un indicador que lea de un archivo CVS y grafique los valores en una sub-ventana, el CVS tendrá 2 valores separados por comas, el primer valor es la fecha y el segundo es el valor real que el indicador debe graficar.
Por ejemplo
el CVS se ve así:
Hora,valor
2016.10.26.21.20,127.765
2016.10.26.21.15,127.777
2016.10.26.21.10,127.777
2016.10.26.21.05,127.799
2016.10.26.21.00,127.791
2016.10.26.20.55,127.788
el indicador trazará el valor correspondiente a la fecha
Espero que sea un poco más claro ahora...
¡Gracias por tu ayuda amigo!
Eso es lo que he logrado hasta ahora:
AtApi:
Gracias mladen,
me explico un poco mejor: necesito un indicador que lea de un archivo CVS y grafique los valores en una sub-ventana, el CVS tendrá 2 valores separados por comas, el primer valor es la fecha y el segundo es el valor real que el indicador debe graficar.
Por ejemplo
el CVS se ve así:
Hora,valor
2016.10.26.21.20,127.765
2016.10.26.21.15,127.777
2016.10.26.21.10,127.777
2016.10.26.21.05,127.799
2016.10.26.21.00,127.791
2016.10.26.20.55,127.788
el indicador trazará el valor correspondiente a la fecha
Espero que sea un poco más claro ahora...
¡Gracias por tu ayuda amigo!
Eso es lo que he logrado hasta ahora:
hola
señor mladen:
podría actualizarlo para la nueva construcción de mt4
saludos
Por favor, ¿alguien puede ayudarme a solucionar estos 3 problemas?
1. arreglar el error de arrastre
2.eliminar el segundo filtro de tiempo, el sistema se ejecutará en el chat de 30m
3.añadir el indicador adjunto como un filtro en el chat 1D
@Estimados amigos,
Mi ea da el siguiente error,.
"EURUSD+,M5: ticket desconocido 21847676 para la función OrderDelete"
¿Qué significa esta frase? ¿Cuál es el problema y qué puedo hacer?
@Estimados amigos,
Mi ea da el siguiente problema.
"EURUSD+,M5: ticket desconocido 21847676 para StringConcatenate(function"
¿Qué significa esta frase? ¿Cuál es el problema?
¿Qué puedo hacer?
Significa que no puede encontrar una orden con el número de ticket 21847676 que pueda eliminar
O bien
hola señor mladen
¿podría ayudar a poner este indicador en MTF gráficoseparado similar esta imagen
respecto a