In this paper, we develop a novel statistical detection algorithm following similar principles to that of expectation maximization (EM) algorithm. Our goal is to develop an iterative algorithm for joint channel estimation and data detection in channels that have a long memory and are fast varying in time. At each iteration, starting with an estimate of the channel, we combine a Markov Chain Monte Carlo (MCMC) algorithm for data detection, and an adaptive algorithm for channel tracking, to develop a statistical search procedure that finds joint important samples of possible transmitted data and channel impulse responses. The result of this step, which may be thought as E-step of the proposed algorithm, is used in an M-step that refines the channel estimate, for the next iteration. Excellent behavior of the proposed algorithm is presented by examining it on real data from underwater acoustic communication channels.