PHPackages                             romulodl/do - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. romulodl/do

ActiveLibrary

romulodl/do
===========

Donchian Oscillator Indicator

v1.0.0(5y ago)081Apache-2.0PHP

Since Oct 29Pushed 5y ago1 watchersCompare

[ Source](https://github.com/romulodl/do)[ Packagist](https://packagist.org/packages/romulodl/do)[ RSS](/packages/romulodl-do/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Donchian Oscillator
===================

[](#donchian-oscillator)

Calculate the DO of giving values.

[![Do](https://github.com/romulodl/do/workflows/Do/badge.svg)](https://github.com/romulodl/do/workflows/Do/badge.svg)

Instalation
-----------

[](#instalation)

```
composer require romulodl/do

```

or add `romulodl/do` to your `composer.json`. Please check the latest version in releases.

Usage
-----

[](#usage)

```
$do = new Romulodl\DonchianOscillator();
$do->calculate(array $hlc_values, int $period = 30, int $signal_period = 9) : array;
// return array [Donchian Oscillator value, Signal Line Value]
```

For example:

```
$do = new Romulodl\DonchianOscillator();
$do->calculate(
  [
    [9950.00,9250.66,9786.80],
    [9843.50,9100.00,9310.73],
    [9585.00,9210.03,9374.99],
    [9880.00,9317.16,9678.57],
    [9958.67,9450.00,9731.10],
    [9900.00,9462.00,9773.64],
    [9838.00,9281.42,9508.11],
    [9573.00,8812.20,9060.00],
    [9259.38,8920.00,9166.40],
    [9300.00,9076.90,9176.41],
    [9294.44,8674.00,8711.37],
    [8977.00,8623.38,8895.65],
    [9011.82,8693.18,8837.05],
    [9230.00,8811.00,9197.32],
  ],
  14,
  9
);
```

Although I recommend using more values to have a better signal line result.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2027d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/727de2473b3f8e612546e83f5831779cd5928b4af8ed6ca3f91a533b522b7a0a?d=identicon)[romulodl](/maintainers/romulodl)

---

Top Contributors

[![romulodl](https://avatars.githubusercontent.com/u/922624?v=4)](https://github.com/romulodl "romulodl (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/romulodl-do/health.svg)

```
[![Health](https://phpackages.com/badges/romulodl-do/health.svg)](https://phpackages.com/packages/romulodl-do)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
