Quando você compra, você estabelece um preço de compra (custo) dos ativos em sua carteira. Se comprar várias vezes em quantidades e/ou preços diferentes, vai gerar um preço médio de compra diferente, mais especificamente a média ponderada pelas quantidades compradas.
Quando vende, o preço de venda não altera seu preço médio de compra. Você pode até calcular um preço médio de venda para efeito de calcular lucro, caso venda em quantidades/preços diferentes, mas os dois não se misturam.
Exemplo:
1, Compra 100 x R$ 5,00
2. Compra 200 x R$ 6,00
Preço médio de compra atual:
((100 x 5,00) + (200 x 6,00)) ÷ (100 + 200) = (500,00 + 1.200,00) ÷ 300 = R$ 5,66
Alguns dias depois:
1. Venda 100 x R$ 7,00
- Venda 100 x R$ 8,00
Preço médio das vendas acima:
((100 x 7,00) + (100 x 800)) ÷ (100 + 100) = 1,500 ÷ 200 = R$ 7,50
Você pode então usar este preço média de venda para calcular seu lucro:
(7,50 - 5,66) x 200 = R$ 368,00
Mas note que seu preço médio de compra não muda. Só o que muda preço média de compra são novas compras.
Tem algumas outras boas respostas aqui: https://mrmercado.com.br/tag/pre%C3%A7o+m%C3%A9dio
Sobre quem vai primeiro em uma venda: não há realmente uma regra específica. E se calcular por preço médio de compra/venda, quando vender tudo não vai fazer diferença. Já para cálculo de imposto de renda, acho que há regras, principalmente se estas compras/vendas envolvem daytrade. Melhor olhar no site da Receita para ver sempre quais as regras atuais.