PROTECTED SOURCE SCRIPT
Awesome Oscillator and MACD, AntiStep Version

Any indicator based on moving averages (MAs) lags real-time movement. Immediately after large ("step") changes in level, the pre-step values that are still within the MA window cause the result to falsely reflect continued movement, even if real-time values remain flat or move in the opposite direction.
To counter this, when a step change of a configurable size is detected, my technique temporarily shrinks the MA window size to include only those values occurring since the step change, and then allow the size to increase to normal length as we move away from the step change.
Changes from my previous AO/MACD indicator:
Added anti-step capabilities, including brand-new functions that implement my anti-step technique in ema() and rma().
Created generalized alpha_ma() function, which allows ema function creation using custom alpha structures.
Created "_external" versions of all antistep functions, allowing step detection to be based on some other series, aside from the one being averaged (this is required for the macd signal ma).
Added options to calculate ao and macd using SMA, EMA, or RMA, including anti-step versions of all three.
Added bull and bear signal indicators based on previous descriptions.
Comparison with anti-step enabled and disabled:

Comparison with different tolerance levels (positive tolerance detects fewer steps; negative tolerance detects more steps):

To counter this, when a step change of a configurable size is detected, my technique temporarily shrinks the MA window size to include only those values occurring since the step change, and then allow the size to increase to normal length as we move away from the step change.
Changes from my previous AO/MACD indicator:
Added anti-step capabilities, including brand-new functions that implement my anti-step technique in ema() and rma().
Created generalized alpha_ma() function, which allows ema function creation using custom alpha structures.
Created "_external" versions of all antistep functions, allowing step detection to be based on some other series, aside from the one being averaged (this is required for the macd signal ma).
Added options to calculate ao and macd using SMA, EMA, or RMA, including anti-step versions of all three.
Added bull and bear signal indicators based on previous descriptions.
Comparison with anti-step enabled and disabled:
Comparison with different tolerance levels (positive tolerance detects fewer steps; negative tolerance detects more steps):
Mã được bảo vệ
Tập lệnh này được đăng dưới dạng mã nguồn đóng. Tuy nhiên, bạn có thể sử dụng tự do và không giới hạn – tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.
Mã được bảo vệ
Tập lệnh này được đăng dưới dạng mã nguồn đóng. Tuy nhiên, bạn có thể sử dụng tự do và không giới hạn – tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.