yeah, why good times can never last with trend following ?
Now when-ever I see a jump to new highs, I just want to sell everything and stop trading forever, because I know that most of it almost certainly will be given back in the next few days 
The way I do logging is I have only one simple db table for all logs. And each log-message has a "severity" column, which can take many int values, the higher - the more critical. And then in the code I have a logic that all log msgs with severity>X will also be emailed to me. During development I changed that emailing severity threshold several times and also added some new severity numbers in between existing ones, to achieve the right balance of what I want to see in emails and what is fine to only have in the database. I also have a logic which prevents sending more than X number of emails per minute and more than Y per hour (the rest emailing attempts will be ignored untill the current hour\minute ends), because getting e.g. 1k emails in 1 minute wouldn't be very useful anyway.. And for details I can always go and run a select from that log table..
Apart from severity I also log timestamp, the message itself and "source", which indicates the part of the system where the situation occurred., so it's a pretty-simple structure, and it was enough for me, because usually, I only filter by severity and time and sometimes by source. And if I'm looking for something more specific, by a phrase in the message with like '%%'..
But these are the unstructured\unpredictable log-messages. I don't build reports from them., All the concrete expected decisions the system took (e.g. raw position after receiving a tick, raw and final forecast values, etc.) I record in the more structured tables, where each value has it's own column. So I can use these tables to plot all sorts of things and run specific queries against specific values stored in separate columns..
Now when-ever I see a jump to new highs, I just want to sell everything and stop trading forever, because I know that most of it almost certainly will be given back in the next few days 
The way I do logging is I have only one simple db table for all logs. And each log-message has a "severity" column, which can take many int values, the higher - the more critical. And then in the code I have a logic that all log msgs with severity>X will also be emailed to me. During development I changed that emailing severity threshold several times and also added some new severity numbers in between existing ones, to achieve the right balance of what I want to see in emails and what is fine to only have in the database. I also have a logic which prevents sending more than X number of emails per minute and more than Y per hour (the rest emailing attempts will be ignored untill the current hour\minute ends), because getting e.g. 1k emails in 1 minute wouldn't be very useful anyway.. And for details I can always go and run a select from that log table..
Apart from severity I also log timestamp, the message itself and "source", which indicates the part of the system where the situation occurred., so it's a pretty-simple structure, and it was enough for me, because usually, I only filter by severity and time and sometimes by source. And if I'm looking for something more specific, by a phrase in the message with like '%%'..
But these are the unstructured\unpredictable log-messages. I don't build reports from them., All the concrete expected decisions the system took (e.g. raw position after receiving a tick, raw and final forecast values, etc.) I record in the more structured tables, where each value has it's own column. So I can use these tables to plot all sorts of things and run specific queries against specific values stored in separate columns..
Last edited:
Joke.