you are basically right. If all you want to do is append every day's new records to the history and you don't have to worry about your history_table (qvd) growing, then it's rather easy.
All you do is (the very first time) load the table such as you want it (check in a straight_table or so) and store it into a qvd using the STORE command - just remember to add the ending .qvd to it.
The second time - and every time from then on - you load that qvd (it must contain a date obviously), then execute your code, append the final table to the loaded history table (you can use a WHERE NOT EXISTS(date) clause in the LOAd to make sure that, when running the app twice on the same day, that isn't appended) and store it to qvd again.
That's it basically.