Most technical indicators use a moving average of some kind, and this usually dooms the indicator to lag price.
Some indicators use momentum, or rate of change, to generate a leading function.
However, this is similar to taking the derivative of a continuous function, and it results in a very noisy signal. The noise is usually reduced by smoothing or averaging. This averaging delays the indicator so that, at best, it runs even with price, without lag or lead. I have developed a new indicator that provides leading signals when cycles are present in the data. The indicator's parameters may be optimized so you can use it in a turnkey fashion.