I'm total newbie. Let's assume I want to create a contract that sell BTC when price reach 20.000$ for example, how can I do that? How smart contract check the price? How many times? I don't understand how smart contract can see the price of BTC and how many times check it.