I'm interested in using modules to design algorithms, but i'm having trouble working out how this works within the API. I should mention i'm fairly new to Quantconnect and to python more generally. So I apologise if i'm missing something obvious.

I've read what's available here: 

but i don't feel like it's enough to get me going. I've attached an algorithm that I was playing with to use some existing modules. I see the imported modules at the top, but I really don't know enough about this to see how I should make use of these modules. 

I'd appreciate any help in understanding how to use a module, how I can write my own modules, and in particular, i'd love to see an example algorithm where the framework has been used as it is described in the the documentation linked above.

Many thanks,