Zitat:
Zitat von Raul0
Hallo,
ich möchte eine CSV Datei auslesen. Leider erhalte ich nicht die richtigen Werte in der gewünschten Reihenfolge.
Die gewünschte Reihenfolge lautet:
OrderTicket, OrderSymbol, OrderType, OrderLots, OrderOpenPrice, OrderStopLoss, OrderTakeProfit.
Empfangen per Printausgabe im MT4: 0 358864481 0 0.0 2.0 0.01 1.10108
In der CSV Datei steht es richtig: 358864481,EURUSD,2,0.01,1.10108,0,0
Der Fehler tritt auf, wenn ich verschiedene Variablen aufrufe, lasse ich alles auf double, dann stimmt die Reihenfolge. Was mache ich an der Stelle falsch?l
|
Meine Auslese Funktion sieht z.B. so aus (den Kommentar lasse ich immer drin, damit ich dran denke, die Art zu berücksichtigen):
Code:
int handle=FileOpen(ConfigCVS, FILE_CSV|FILE_READ,Delim);
if(handle>0)
{
/* Examples how to write and read the values
1. Variabel = true||false
=> write: BoolToInteger(Variable)
=> saved: as 1||0
=> read : StrToInteger(FileReadString(handle));
2. Variable = "13:00"
=> write: Variable
=> saved: as 13:00
=> read : FileReadString(handle);
3. Variable = "Arial"
=> write: Variable
=> saved: as Arial
=> read : FileReadString(handle);
=============== colors
BEST: always convert colors to uint type, as we don't know what user inputs
x. Variable = clrColor
Variable = C'128,128,128'
=> convert: ColorToARGB(Variable,255); //TableChoiceHasNoAlpha
=> write: ColorToARGB(Variable,255);
=> write: ColorToString(Variable);
=> saved: as 128,128,128
=> read : (color)StringToColor(FileReadString(handle));
*/
MAGIC = StrToInteger(FileReadString(handle));
ASDSHOWSIG = (bool)StrToInteger(FileReadString(handle));
LOOKBACKBARS = StrToInteger(FileReadString(handle));
ASDMAPRICE = (ENUM_APPLIED_PRICE)StrToInteger(FileReadString(handle));
ASDMAKIND = (ENUM_MA_METHOD)StrToInteger(FileReadString(handle));
ASDPOS = (ENUM_BASE_CORNER)StrToInteger(FileReadString(handle));
ASDCOLORLONG = (color)StringToColor(FileReadString(handle));
ASDCOLORSHORT = (color)StringToColor(FileReadString(handle));
ASDCOLOREXIT = (color)StringToColor(FileReadString(handle));
if(FileIsEnding(handle)==true) FileClose(handle);
}
BoolToInteger is ne Minifunktion, die eine Benutzereingabe =true||false umwandelt.
Versuch es also mal bei jedem Wert, der nicht Double ist, die Art voranzustellen. AVT