Incomplete Log output after ***MAX CONSOLE OUTPUT LIMIT REACHED***
CloudQuant limits the amount of text that can be output by a script. When this limit is reached, the string "MAX CONSOLE OUTPUT LIMIT REACHED" is written to the log.
In some of my recent backtests, I have seen the console output limit reached, and there is additional output after it. This suggests the feature to limit log size output has a bug.
It is troubling that the output which follows the max output limit reached message, appears to be an incomplete line of text which my code wrote afterward;
It suggests a more complex kind of bug than just ignoring the limit and it keeps writing output.
Please feel free to reach out to me if more information is needed in troubleshooting this issue.
Log output showing the issue below.
---- 8< -----
Symbol Shares Price
buy 50 SPY @ 234.85
buy 50 SPY @ 234.84
buy 50 SPY @ 234.76
SPY Orders pending short = 0
on_minute_bar:
Time: 2017-03-21 11:55:00.174000
MAX CONSOLE OUTPUT LIMIT REACHED
ve_match_price=234.4499969482422)
on_arca_imbalance 15:28:33.908000 ArcaImbalanceEvent(timestamp=1490124513903000, symbol='SPY', exchange='P', type='C', total_imbalance=2887, market_imbalance=0, indicative_match_volume=265634, indicative_match_price=234.4499969482422)
on_arca_imbalance 15:28:34.908000 ArcaImbalanceEvent(timestamp=1490124514903000, symbol='SPY', exchange='P', type='C', total_imbalance=1033, market_imbalance=0, indicative_match_volume=265634, indicative_match_price=234.4600067138672)
fill: At 15:28:35.397300 SLD -50 SPY @ 234.47 : bid 234.46 to 234.47 ask
Comments
Title is probably somewhat misleading. There is log output after MAX CONSOLE OUTPUT LIMIT REACHED, and it is not a complete line of text which my code would have logged.
Thanks for the report ms. This would be a low priority bug for us as it is not impacting performance.
There are obvious sensible reasons for the MAX CONSOLE OUTPUT LIMIT.
I would suggest you look at the following options...
Write File Documentation
https://tathauthqa.kershnertrading.com/#/glossary/148
Capture
Set up a dictionary in on_start, call it something like self.data_collection
self.data_collection = {'value1': 1, 'last': 0, 'prevclose': 'SPY', 'atr': 0, 'OMG': 0,'wellhello": 0}
Add data to the dictionary before placing your order.
self.data_collection['value1']=md.stat.prev_close
On your order.algo line add "collect=" ie...
order.algo_sell(self.symbol, algorithm="market", intent="exit", collect=self.data_collection)
Thanks for the post.