SQL Server 2016: create credential and add SQL Server Agent proxy for it
The operation failed because credential '@credential_name' identity is
  not a valid Windows account


That is because you did not use Windows account, but SQL Server account, that is wrong. You just misunderstand SQL Server Agent Proxies


  SQL Server Agent proxies use credentials to store information about
  Windows user accounts.  The user specified in the credential must have
  "Log on as a batch job" permission on the computer on which SQL Server
  is running.
  
  SQL Server Agent checks subsystem access for a proxy and gives access
  to the proxy each time the job step runs.  If the proxy no longer has
  access to the subsystem, the job step fails.  Otherwise, SQL Server
  Agent impersonates the user that is specified in the proxy and runs
  the job step.


In your cited article there is this phrase that you did not read carefully:


  A credential is a record that contains the authentication information
  that is required to connect to a resource outside SQL Server.


That is, CREDENTIAL for Agent is some account to access OS(Windows) resources, so it's Windows account, OS does not know nothing about your SQL Server logins. The permissions to Windows resources are granted to Windows accounts, and one of this account you can use as a proxy for Agent.