Introduction: QRS detection is a fundamental step in ECG analysis. Although there are many algorithms reporting results close to 100%, this problem is still not resolved. The reported numbers are influenced by the quality of the detector, the quality of annotations and also by the chosen method of testing. In this study, we proposed and properly tested robust QRS detection algorithm based on a combination of three independent principles. Methods: For enhancement of QRS complexes there were developed three independent approaches based on continuous wavelet transform, Stockwell transform and phasor transform which are followed by individual adaptive thresholding. Each method produces candidates for QRS complexes which are further processed by cluster analysis resulting in final QRS positions. Parameters of all methods were optimized on the first lead of the whole MIT-BIH Arrhythmia Database. Results: The proposed detection algorithm was tested on three complete standard ECG databases: MIT-BIH Arrhythmia Database, European ST-T Database and QT Database without any change in algorithm setting. Altogether, these databases involve 440 unique signals with duration of 449 hours and almost 2 million beats. We utilized complete data from mentioned databases including all provided leads and used original (not adjusted) reference positions of QRS complexes. Summarized detection accuracy for all three databases was expressed by sensitivity 99.16% and positive predictive value 98.99%. Conclusion: It is common that authors do not report all information regarding the testing setting (e.g. the length of the tolerance window for successful detection) or report them different. Our results present a real quality of the proposed QRS detection approach regarding the proper testing setting. However, the results are still affected by low quality annotations. The examples of such annotations are reported in this study. For objective comparison of QRS detection algorithms, we need unified testing methodology and precise annotations.