Check next things in your postgresql.conf
wal_keep_segments have to be big enough ( depends how fast you are changing data in DB. In my case - 12 TB dataset - 16000 segments to be able backup in time )
archive_mode = on - to store all WAL
archive_command - the way how to archive logs
wal_level = hot_standby
full_page_writes = on
During recovery be sure that slave have access to place where your archive WAL logs is placed.
(check your recovery.conf)