Posted By: MatPed
Again on parsing data... - 08/15/19 16:05
Hi I am trying to load a dataset from a csv file, but i get this error from the log
Parse Data\storedRER1.csv..
180102 08:40:00,AUD/USD,TRD,87901,1,1.115
Error 058: Bad date 180102 08: - can't parse storedRER1.csv
This is the format I am using
string readFormat = "%Y%m%d %H:%M:%S,ss,s,i,i,f1";
Can somebody help me?
This is the full testing script for reference:
Parse Data\storedRER1.csv..
180102 08:40:00,AUD/USD,TRD,87901,1,1.115
Error 058: Bad date 180102 08: - can't parse storedRER1.csv
This is the format I am using
string readFormat = "%Y%m%d %H:%M:%S,ss,s,i,i,f1";
Can somebody help me?
This is the full testing script for reference:
Code
#define _sTradeSize 50 // Global Variables string nameFile; string writeFormat = "%s,%s,%s,%i,%i,%.3f\n"; string readFormat = "%Y%m%d %H:%M:%S,ss,s,i,i,f1"; void initReR(){ nameFile = "Data\\storedRER1.csv"; // strcpy(nameFile, 'Data\\storedRER.txt'); // <- tobeImproved rer_Scrptname_test||_real if(is(FIRSTRUN)) file_delete(nameFile); // quit(); } int saveTrades(){ // TradeDate,Algo,Asset,ID,Lots,Profit // ,Roll,ExitType int iCounter = 0; char sTrade[_sTradeSize]; for(closed_trades){ if (TradeIsPhantom && TradeIsClosed && (int) TradeBarClose == Bar){ iCounter++; string _date = strdate(YMDHMS, TradeDate); sprintf(sTrade, writeFormat, _date, TradeAsset, TradeAlgo, (int) TradeID, (int) TradeLots, TradeProfit ); // sprintf(sTrade, _sTemp, _date, TradeAsset, TradeAlgo, (int) TradeID, (int) TradeLots, TradeProfit ); // watch(sTrade); file_appendfront(nameFile, sTrade, 0); } } return iCounter; } var calcReR(int maxTrades){ // 180102 01:05:00,AUD/USD,TREND,78801,1,-1.744 // "%Y%m%d %H:%M:%S,ss,s,i,i,f1" int numTrades = dataParse (1, readFormat, nameFile); // watch("!numTrades", numTrades); } void run() { set(LOGFILE); MaxLong = 5; MaxShort = 5; Verbose = 7; StartDate = 20180101; EndDate = 20180102; BarPeriod =5; Hedge = 5; initReR(); algo("TRD"); LifeTime = (int) random(10); if (random(6) > 3) enterLong(); else enterShort(); saveTrades(); if(is(EXITRUN))calcReR(15); }