J'ai pas mal galéré aussi pour comprendre comment ça marchais, je vais essayer de faire simple !
Donc voici le fichier CSV qui me servira d'exemple :
EUR/USD | SELL
GBP/JPY | BUY
soit :
LIGNE 1 : COLONNE 1, COLONNE 2
LIGNE 2 : COLONNE 1, COLONNE 2
1. Ouvrir le fichier
2. On boucle sur les lignes
3. Dans la boucle on lis les colonnes
4. On stop la boucle quand on a trouvé ce qu'on cherche
5. On ferme le fichier
Admettons qu'on cherche a connaitre le sens de GBP/JPY (qui est BUY)
Voila le code :
Code:
int Handle=FileOpen("MONFICHIER.csv",FILE_CSV|FILE_READ,";"); // 1. Ouvrir le fichier
string valeurGBPJPY ; // On crée une variable qui va contenir le résultat de la boucle
while(FileIsEnding(Handle)==false){ // 2. On boucle sur les lignes, tant qu'on arrive pas a la fin du fichier
string colonne1 = FileReadString(Handle); // Contient colonne 1 pour la ligne en cours
string colonne2 = FileReadString(Handle); // Contient colonne 2 pour la ligne en cours
if(colonne1 == "GBP/JPY"){ // Si dans la colonne 1 on lis GBP/JPY
valeurGBPJPY = colonne2 ; // Alors on assigne a notre variable ce qu'il y a dans la colonne 2 (BUY)
}
if(FileIsEnding(Handle)==true){ break; } // Si on arrive a la fin du fichier, on sort de la boucle while
}
FileClose(Handle) ; // On ferme le fichier pour eviter que l'ea ouvre le fichier a chaque fois sans refermer les précedent (ce qui cause une erreur)
Je précise que pour les backtest, ton fichier doit etre placé dans tester/files !
N'hésite pas si tu as des questions, et bonne fêtes de fin d'année.