There are a few things in your algorithm:
1) "VIX" is not a valid ETF ticker. If you want to trade the VIX ETF, the ticker should be "VXX".
2) Indicators are not ready when you first create them. The length of time it takes to warm up depends on the indicator period. To use the indicator in the algorithm, you need to initialize the indicator with self.SetWarmUp(period). Please check out this example.
3) self.vix.Price is incorrect. To get the current asset price, you can use self.Securities[symbol].Price.
4) You only request the Daily data of "SPXL" with self.AddEquity("SPXL", Resolution.Daily). You should use the minute resolution here. Otherwise, when you place the market order, all orders will be converted to the MaketOnOpen() because of missing minute price data. You can still use the daily resolution when creating the SPXL indicator.