constructor(symbol, side, amount, profit, updatedAt, entry, createdAt, raw = undefined) {
    if (![Position.SIDE_LONG, Position.SIDE_SHORT].includes(side)) {
      throw new Error(`Invalid position direction given:${side}`);
    }

    if (amount < 0 && side === Position.SIDE_LONG) {
      throw new Error(`Invalid direction amount:${side}`);
    }

    if (amount > 0 && side === Position.SIDE_SHORT) {
      throw new Error(`Invalid direction amount:${side}`);
    }

    this.symbol = symbol;
    this.side = side;
    this.amount = amount;
    this.profit = profit;
    this.updatedAt = updatedAt;
    this.entry = entry;
    this.createdAt = createdAt;
    this.raw = raw;
  }
@param symbol 'BTCUSD'
@param side "long" or "short"
@param amount negative for short and positive for long entries
@param profit Current profit in percent: "23.56"
@param updatedAt Item last found or sync
@param entry The entry price
@param createdAt
@param raw