Suppose Quantopian, Metatrader, Amibroker, Ninjatrader, etc. are like the calculator app on your computer. You type "5" "+" "5" "=" and you see "10" displayed.
Python won't do that until you give it instructions on _how_ to do that. Someone programmed the calculator app to simplify doing mathematics. Someone programmed the platforms listed above to simplify building algos etc.
Here's some crude pseudo code ("mainly" based on old school BASIC) to do what the calculator app did above:
Code:
CLS
PRINT "Please enter the first number.";
INPUT numberInitial
LET currentTotal=numberInitial
DO
PRINT "Please enter an operator: +, -, *, or /.";
INPUT operator$
PRINT "Please enter the next number.";
INPUT number
IF operator$="+" THEN currentTotal=currentTotal+number
IF operator$="-" THEN currentTotal=currentTotal-number
IF operator$="*" THEN currentTotal=currentTotal*number
IF operator$="/" THEN currentTotal=currentTotal/number
LOOP WHILE operator <>"="
PRINT "The answer is ";currentTotal
END
You are given smaller building blocks with programming languages, so it takes 'a lot' to program something useful, but you have 'total' control over every aspect. The other platforms give you bigger building blocks, so you can do things faster/easier, at the expense of control.
Libraries are essentially pre-built blocks of code that you can put into your program. These blocks do common, useful, and/or frequently used tasks, making programming faster/easier.
Crude, simplified, trading program block 'diagram':
Load historical EOD data (csv)
Check if data is up to date
No? Stop and display UPDATE DATA
Calculate [location of] first free column
Fill that column with SMA5
Fill next column with RSI9
...etc...
Each line above could represent several lines of code.