https://bugs.winehq.org/show_bug.cgi?id=47221
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Summary|COleDateTime class is not |Zorro 2.x (time series |100% compatible |analysis and trading | |strategies software) using | |OLE Date/Time API via MFC | |'COleDateTime' class shows | |incorrect data Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |oleaut32
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
Stable download link to Zorro v2.09 (matching screenshot from comment #2) via Internet Archive:
https://web.archive.org/web/20190518095628/http://opserver.de/down/Zorro_set...
I've rephrased the title of the bug report as it was misleading. Wine doesn't implement MFC at all which provides the 'COleDateTime' class (it could have been interpreted as such).
Trace log shows the following OLE date/time APIs being used by the app (or rather the MFC COleDateTime code the app is linked with):
* oleaut32.SystemTimeToVariantTime * oleaut32.VariantTimeToSystemTime * oleaut32.VarUdateFromDate
--- snip --- $ pwd /home/focht/.wine/drive_c/users/focht/Zorro
$ WINEDEBUG=+seh,+relay,+ole,+variant wine ./Zorro.exe >>log.txt 2>&1 ... --- snip ---
@jcl (comment #3)
--- quote ---
From comparing both logs, I suspect a difference of COleDateTime.GetDayOfWeek()
or GetHour() when the date is close to a day or hour boundary. --- quote ---
I presume you are one of the developers of this app?
https://zorro-project.com/development.php
It would definitely help to have a small test app that shows this behaviour or alternatively reduce the simulation to the absolute minimum.
I've played a bit with the simulation parameters to reduce the amount of data/smaller time series but I was only partially successful.
'/home/focht/.wine/drive_c/users/focht/Zorro/Strategy/Workshop4.c'
--- snip --- // Trend Trading /////////////////// #include <profile.c>
function run() { EndDate = 2017; // fixed simulation period Verbose = 2; set(LOGFILE|PLOTNOW); // log all trades
vars Prices = series(priceClose()); vars Trends = series(LowPass(Prices,300));
Stop = 30*ATR(100);
vars MMI_Raw = series(MMI(Prices,300)); vars MMI_Smooth = series(LowPass(MMI_Raw,300));
if(falling(MMI_Smooth)) { if(valley(Trends)) enterLong(); else if(peak(Trends)) enterShort(); }
PlotWidth = 800; PlotHeight1 = 300; //setf(PlotMode,PL_FILE); //setf(PlotMode,PL_FILE); //plot("MMI_Raw",MMI_Raw,NEW,GREY); //plot("MMI_Smooth",MMI_Smooth,0,BLACK); //plotTradeProfile(-50); } --- snip ---
You have way more insight how adjust the parameters to reduce the amount of output, specifically Lookback and Depth.
$ sha1sum Zorro_setup.exe 9c9f0f65bf3d045df0d92084a48916869b060577 Zorro_setup.exe
$ du -sh Zorro_setup.exe 95M Zorro_setup.exe
$ wine --version wine-5.0-rc5
Regards