I've used pipeline to look for cheap breakouts (inexpensive valuation combined with large price move on big volume). I want to hold that stock until it breaks down (simplistically defined as falling below 50 day moving average). How best to compare the current price to its 50 day moving average?
Here's the relevant code:
for security in context.portfolio.positions:
# check to see if our longs have broken down. otherwise, continue owning
if security.USEquityPricing.price.latest < security.SimpleMovingAverage(inputs=[USEquityPricing.close], window_length=50) and data.can_trade(security): order_target_percent(security,0) for security in context.longs: if data.can_trade(security): order_target_percent(security,context.long_weight)