So, do you see a pdoc (psychiatrist) regularly for your problems and are you on meds?
You know, a Sociopath or otherwise known as a person with Antisocial personality disorder means they have a mental health condition in which a person has a long-term pattern of manipulating, exploiting, or violating the rights of others. This behavior is often criminal. Just because your father doesn't show his emotions or love for others, does not make him a sociopath.
BTW, if you've been cutting for 4 years, and you've hundreds of cuts all over your arms, you can pretty much be sure that people know, they just don't say anything about it.
There are many ways to get help for self-harming, at such a young age, it'd do you good to stop now and not carry this problem into adulthood.