The main cashout method used in Ireland is FIFO (first in first out), and applies to assets of the same class (i.e. multiple units of ETH).
Example:
User A buys 0.5ETH on 1st of February at a cost of 1,000€ (ETH price 2,000€)
User A buys 1ETh on 7th of April at a cost of 1,600€ (ETH price1,600€)
User A sells 1ETH on 3rd of June at a price of 1,800€ (ETH price 1,800€)
Gain/loss calculation is as follow:
[(0.5*2,000)+(0.5*1,600)]-(1*1,800) = 0
An exception to the FIFO rule is for assets bought and sold or disposed of within four weeks, in this case the LIFO (last in first out) will be applied.
Example:
User A buys 0.5ETH on 5th of March at a cost of 950€ (ETH price 1,900€)
User A buys 0.5ETH on 10th of May at a cost of 900€ (ETH price 1,800€)
User A buys 1ETH on 2nd of June at a cost of 1,600€ (ETH price 1,600€)
User A sells 1.5ETH on 6th of June at a price of 2,400€ (ETH price 1,600)
Gain/loss calculation as follow:
(1.5*1,600)-[(1*1,600)+(0.5*1,800)] = -100
If in this four weeks period you made some losses, you can only offset them against gains also made during the same period.