SJ![]() Member ![]() Posts: 49 Joined: 9/28/2012 Location: Olathe, KS ![]() | Completed experiments last night. I know that I originally stated the problem was observed in OT 2018 and that when trying in OT 2019 all was the same. My last post stated that I started over in OT 2018 and all was mysteriously working. It turned out the same could not be said for OT 2019. In diagnosing the problem, I suspect I had an error in my initial work in OT 2018, but I finally came to the conclusion there is a real issue in OT 2019. When you create a method (by New or Save As) a filename.ITS.txt (ITS) file is created. It is in XML format and contains all the parameter settings for the method. Here is the ATM\ folder. The “Test ascend (descend)” and “Test 2018” files (4) were created in OT2018. The “Test 2019” files (2) were created in OT 2019. I brought all files over to OT 2019 Compiler status in Omnilanguage window after a forced compile. The 4 methods ported over from OT 2018 are compiling. None of the 2019 created methods are compiling. After compilation, a folder is created with OL style code that represents the filters and rankers within the method. Here is the VBA\ITS\ folder in OT 2019. Note there are folders for methods from ported from OT 2018, none for the two created in OT 2019. Within these ITS folders are a folder for Filters (if any) and Ranks (if any). I was only playing with rankers, so I had no Filters folder. After compiling, subRanker and filter files are generated. For ranking, these represent the individual ranking functions. After you Run Analysis, OT determines the highest and lowest values for each ranking function and does two things. First, it creates a long and short Ranker file in the Ranks folder. These represent the composite ranking function inclusive of weights and direction. Without them, no ranking takes place. Second, after Run Analysis completes, the ITS file in the ATM folder (or ATS folder if you don’t have ATM) is modified with this information. Below is a comparison of the ITS files after they are compiled and run. The one on the left is on OT2018 and the difference is the subRanker min and max values are calculated. In the one on the right, OT2019 refused to calculate the values. Without those subRanker values, a composite Ranker formula is not generated and no ranking takes place. With that knowledge, I processed a method in OT2018 and ran it (Run Analysis) so that the ITS file was modified with ranking min/max information and then copied it into OT2019. When OT 2019 is launched, it seems to properly recognize it, does compile and does rank trades. I even modified this ported over method within OT 2019 by adding a second ranker function and it appears to properly integrate that second ranker. I verified the OT 2019 behavior on a second computer. One of the two is updated to 2L. So, specifically what I found after starting over was the following: - Methods created and or modified in OT 2018 are working (I can’t explain what was going wrong initially in my original post.) - Methods created in OT 2019 are not working for Ranker functions. - Methods created and executed in OT 2018 do work if copied to OT 2019. - Subsequent modifications to methods in OT 2019 appear to work. As a side note, I raised some thoughts on how the ranking function works in one of my earlier posts on this topic. I've expanded those thoughts, especially with respect to use of multiple rankers and posted them here. [Edited by SJ on 3/3/2019 9:03 PM] ![]() ![]() ![]() ![]() ![]() |