You may like to read this article on the traditional buy vs build choice: https://www.forbes.com/sites/chuckc...-software-over-canned-solutions/#50ba2b14c371
I wonder if there is any way to edit my original post on this thread. I'd like to use that to keep track of what's done, and what needs to be done, add any extra tasks, etc.

But then again, one could easily see the progress compared to the previous status overview if it were a new journal entry. And it is more easily visible how many new "items to be done" have been added meanwhile. In my own log book (not available online) I noticed that such approach gave me much better visibility, instead of going back in the past and modifying those original posts. Even two years later is it sometimes helpful to see why a certain portion of the code has developed (i.e. got changed) over time the way it did.Easiest way would be to send a group message to the active mods here...Baron, Magna and oraclewizard77.
Just insert the link to the OP in your message, and the edited text. Don't make it a habit though, or they might spittle at you.![]()
for indicator in self._vm.indicators():
if indicator.drawOnChart():
for name,values,colour in indicator.subindicators():
colName = f'{indicator.title()}-{name}-values'
if indicator.plotType() == indicators.PlotType.SCATTER:
pl = p.scatter('date',colName,fill_color=colour,line_color=colour,source=self._bokehSource)
elif indicator.plotType() == indicators.PlotType.LINE:
pl = p.line('date',colName,line_color=colour,source=self._bokehSource)
p.add_tools(HoverTool(renderers=[pl],tooltips=[('date','@display_date'),(name,'@{%s}{1.11111}' % colName)]))
for indicator in self._vm.indicators():
if indicator.drawOnChart():
for name,values,colour in indicator.subindicators():
colName = f'{indicator.title()}-{name}-values'
if indicator.plotType() == indicators.PlotType.SCATTER:
pl = p.scatter('date',colName,fill_color=colour,line_color=colour,source=self._bokehSource)
elif indicator.plotType() == indicators.PlotType.LINE:
pl = p.line('date',colName,line_color=colour,source=self._bokehSource)
p.add_tools(HoverTool(renderers=[pl],tooltips=[('date','@display_date'),(name,'@{%s}{1.11111}' % colName)]))
else:
indplot = figure(x_range=p.x_range,sizing_mode="scale_width",
x_axis_type="datetime",
title=indicator.title(),
y_range=indicator.range(),
toolbar_location=None)
indplot.title.align = bokeh.core.enums.TextAlign.right
plots.append(indplot)
for name,values,colour in indicator.subindicators():
colName = f'{indicator.title()}-{name}-values'
if indicator.plotType() == indicators.PlotType.SCATTER:
pl = indplot.scatter('date',colName,fill_color=colour,line_color=colour,source=self._bokehSource)
elif indicator.plotType() == indicators.PlotType.LINE:
pl = indplot.line('date',colName,line_color=colour,source=self._bokehSource)
indplot.add_tools(HoverTool(renderers=[pl],tooltips=[('date','@display_date'),(name,'@{%s}{1.11111}' % colName)]))
Wow this is crazy. There are plenty of platforms out there to implement trend following instead of rolling your own. Platform is like 5% whereas strategy is 95% for making money unless it's HFT
Then again, if you know you will commit years of your life to your codebase, then YMMV.

If you want to automate this you could run the review one minute before the end of the trading day. That gives you enough time to process data and get your order line filled. In most cases will the price in the last minute not change that much that it will have a substantial influence on your trading results (my assumption).This is something I will have to figure out obviously, since I can't enter "at the close" necessarily, but I'm sure most of the time it'll be close enough.