:
is sufficient indication that you want to bind another variable.
List<OpportunityHistory> oppHistories = [SELECT Id, Probability, OpportunityID
From OpportunityHistory
where OpportunityID IN :opportunities];
Or even better - with one query:
SELECT Opportunity.OwnerId, Owner.Name,
(SELECT Id, OldValue, NewValue FROM Histories WHERE Field = 'Probability'),
(SELECT Id, Probability, StageName FROM OpportunityHistories)
FROM Opportunity
WHERE LastModifiedDate = LAST_N_DAYS:7
This goes to 2 related lists, regular "field history tracking" as well as special thing available only for opportunities that tracks Probability & Stage only. Very useful if you need to have them automapped to the Opportunity.
Yet another format that wastes only 1 query:
SELECT Opportunity.OwnerId, Opportunity.Owner.Name, Probability, StageName
FROM OpportunityHistory
WHERE Opportunity.LastModifiedDate = LAST_N_DAYS:7
ORDER BY OpportunityId, CreatedDate