Skip to content
This repository was archived by the owner on Nov 13, 2025. It is now read-only.

v1.0.1 Update

Latest

Choose a tag to compare

@PrivyXe PrivyXe released this 06 Oct 19:37
· 2 commits to main since this release
dd047b6

πŸš€ Release v1.0.1 β€” Logic Refinement & Stability Update

πŸ”§ Core Fixes & Logic Improvements

🧩 IndicatorCalculator.kt
Fixed: Incorrect EMA loop range.
Replaced for (i in period.index) with for (i in period until index + 1) to ensure proper EMA propagation.
Reason: The old loop caused incomplete or incorrect EMA calculations.
Improved: calculateSMA() now checks for Double.isFinite() instead of rejecting values <= 0.
Reason: Prevents valid low-priced assets from returning null due to false zero filtering.
Deprecated: CMF_Old() and MFI_Old() functions marked as @ Deprecated.
Reason: To remove confusion between legacy and modern implementations.

βš™οΈ SignalConfig.kt
Fixed: Increased daily (D1) timeframe minimum data requirement from 150 β†’ 250.
Reason: Ensures sufficient candles for SMA200 and EMA200 calculations.
Logic Update: Replaced
minOf(calculatedMin, maxReasonableMin)
with
maxOf(maxPeriod, minOf(calculatedMin, maxReasonableMin))
Reason: Prevents the system from using too few data points for long-term indicators.

πŸ“ˆ VWAP Logic
Improved: findSessionStart() now derives the session start from candle openTime instead of relying on system clock.
Reason: Provides consistent session detection across exchanges and time zones.

🧠 Design Consistency & Code Cleanup
Removed redundant or legacy functions to simplify maintenance.
Improved code readability and naming consistency.
Ensured indicator logic is fully aligned across modules.

βœ… Outcome
EMA and SMA calculations are now consistent and accurate.
Long-term indicators (SMA200, EMA200) compute properly across all timeframes.
VWAP session detection is robust in multi-timezone environments.
Deprecated legacy indicators improve future maintainability.