J'ai besoin d'un indicateur qui lit un fichier CVS et affiche les valeurs dans une sous-fenêtre. Le CVS contient deux valeurs séparées par des virgules, la première valeur est la date et la seconde est la valeur réelle que l'indicateur doit afficher.
J'ai besoin d'un indicateur qui lit un fichier CVS et affiche les valeurs dans une sous-fenêtre. Le CVS contient deux valeurs séparées par des virgules, la première valeur est la date et la seconde est la valeur réelle que l'indicateur doit afficher.
Par exemple
le CVS ressemble à ceci :
Heure,valeur
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
l'indicateur affichera la valeur en fonction de la date.
J'espère que c'est un peu plus clair maintenant...
Merci pour votre aide mon ami !
C'est ce que j'ai accompli jusqu'à présent :
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);
}
Je ne sais pas pourquoi si j'imprime dt[c], il retourne toujours la même valeur... comme si le temps ne changeait jamais même si le arr[0] change à chaque itération de la boucle...
Après cela, nous devrions affecter la valeur à la barre avec ce temps... mais je suis coincé...
J'ai besoin d'un indicateur qui lit un fichier CVS et affiche les valeurs dans une sous-fenêtre. Le CVS contient deux valeurs séparées par des virgules, la première valeur est la date et la seconde est la valeur réelle que l'indicateur doit afficher.
Par exemple
le CVS ressemble à ceci :
Heure,valeur
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
l'indicateur affichera la valeur en fonction de la date.
J'espère que c'est un peu plus clair maintenant...
Merci pour votre aide mon ami !
C'est ce que j'ai accompli jusqu'à présent :
Nevermind j'ai résolu le problème....the SrtToTime only accept string with this format : "yyyy.mm.dd hh:mi" that means that i was loading a CSV with this format instead "yyyy.mm.dd hh.mi" and obviously was giving me an error... anyway i solved !!!
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Salut les gars et les gourous du code,
Je suis à la recherche d'un indicateur simple qui trace ses propres valeurs à partir d'un fichier CSV. Quelqu'un peut-il m'aider ?
Merci d'avance !
Que signifie "sa propre valeur" ?
Merci mladen,
J'ai besoin d'un indicateur qui lit un fichier CVS et affiche les valeurs dans une sous-fenêtre. Le CVS contient deux valeurs séparées par des virgules, la première valeur est la date et la seconde est la valeur réelle que l'indicateur doit afficher.
Par exemple
le CVS ressemble à ceci :
l'indicateur va tracer la valeur en fonction de la date.
J'espère que c'est un peu plus clair maintenant...
Merci pour votre aide mon ami !
Cher ami,
J'ai besoin de coder,
la fermeture de la bougie puis si la bougie est UP alors l'alerteUP et la bougie est DOWN alors l'alerteDOWN n'importe quel cadre temporel.
si vous avez pls partager moi,
merci en adance,
- jesing
Merci mladen,
J'ai besoin d'un indicateur qui lit un fichier CVS et affiche les valeurs dans une sous-fenêtre. Le CVS contient deux valeurs séparées par des virgules, la première valeur est la date et la seconde est la valeur réelle que l'indicateur doit afficher.
Par exemple
le CVS ressemble à ceci :
Heure,valeur
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
l'indicateur affichera la valeur en fonction de la date.
J'espère que c'est un peu plus clair maintenant...
Merci pour votre aide mon ami !
C'est ce que j'ai accompli jusqu'à présent :
AtApi :
Merci mladen,
J'ai besoin d'un indicateur qui lit un fichier CVS et affiche les valeurs dans une sous-fenêtre. Le CVS contient deux valeurs séparées par des virgules, la première valeur est la date et la seconde est la valeur réelle que l'indicateur doit afficher.
Par exemple
le CVS ressemble à ceci :
Heure,valeur
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
l'indicateur affichera la valeur en fonction de la date.
J'espère que c'est un peu plus clair maintenant...
Merci pour votre aide mon ami !
C'est ce que j'ai accompli jusqu'à présent :
bonjour
Mr mladen :
pourriez-vous le mettre à jour pour la nouvelle version de mt4
Bien à vous
Quelqu'un peut-il m'aider à résoudre ces 3 problèmes
1. corriger l'erreur de suivi
2.supprimer le deuxième filtre de temps, le système fonctionnera sur le chat 30m
3.ajouter l'indicateur ci-joint comme un filtre sur le chat 1D
Chers amis,
Mon ea donne l'erreur suivante,.
"EURUSD+,M5 : ticket inconnu 21847676 pour la fonction OrderDelete"
Que signifie cette phrase ? Quel est le problème et que puis-je faire ?
Chers amis,
Mon ea donne le problème suivant.
"EURUSD+,M5 : ticket inconnu 21847676 pour StringConcatenate(function"
Que signifie cette phrase ? Quel est le problème ?
Que puis-je faire ?
Cela signifie qu'il ne peut pas trouver un ordre avec le numéro de ticket 21847676 qu'il peut supprimer.
Soit :
bonjour mr mladen
Pourriez-vous m'aider à mettre cet indicateur sur un graphiqueséparé MTF similaire à cette image ?
regardez