open-index/open-npm huggingface dataset:
npm package: @ombro/cli-chat
Description: OChat is a CLI chat tool. With the help of OpenAI services, it can answer any question you have.
Author: Cphayim
Latest version: 1.2.0

# @ombro/cli-chat

[![npm package](https://badgen.net/npm/v/@ombro/cli-chat)](https://npmjs.com/package/@ombro/cli-chat)

English | [简体中文](./README_zh.md)

OChat is a command line interface chat tool. With the help of OpenAI services, it can answer any question you have.

![guide](https://cdn.jsdelivr.net/gh/cphayim/oss@main/images/2024/03/20/010945Yxy2YJ.gif)

> GPT-4 is already supported and can be initialized using the `--gpt-4` or `--gpt-4o` parameter.

## Install

```sh
$ npm i -g @ombro/cli-chat
```

## Usage

Before using it, you need to configure the `baseURL` and `apiKey` by executing the following command:

```sh
$ ochat config set
```

It will start an interactive interface to guide you through the setup process:

- `baseURL` is the address of the API, the default is: https://api.openai.com/v1
  - If you are using a third-party API or proxy, you need to make modifications accordingly.
- `apiKey` is your OpenAI apiKey

Great, now you are all set and ready to have a delightful conversation!

```sh
# Let's start the conversation using the default GPT-3.5 model.
$ ochat

# Using the GPT-4 model.
# Please make sure to monitor your API consumption while using the service.
$ ochat --gpt-4

# Using the GPT-4o model.
# Please make sure to monitor your API consumption while using the service.
$ ochat --gpt-4o
```

## CHANGELOG

[CHANGELOG.md](./CHANGELOG.md)

## LICENSE

MIT
npm package: @ombro/cli-helper
Description: cli-helper
Author: Cphayim
Latest version: 0.0.1

# @ombro/cli-helper

[![npm package](https://badgen.net/npm/v/@ombro/cli-helper)](https://npmjs.com/package/@ombro/cli-helper)

English | [简体中文](./README_zh.md)

TODO

## Install

```sh
$ npm install @ombro/cli-helper
```

## Usage

TODO
npm package: @ombro/dnd-backend
Description: dnd backend set
Author: Cphayim
Latest version: 0.1.6

# @ombro/dnd-backend

![npm package](https://badgen.net/npm/v/@ombro/dnd-backend)

English | [简体中文](README_zh.md)

Integrate the following 3 dnd-backends to support on-demand import

- [react-dnd-html5-backend](https://www.npmjs.com/package/react-dnd-html5-backend)
- [react-dnd-touch-backend](https://www.npmjs.com/package/react-dnd-touch-backend)
- [react-dnd-test-backend](https://www.npmjs.com/package/react-dnd-test-backend)

## Install

```sh
$ npm install @ombro/dnd-backend
# or
$ pnpm install @ombro/dnd-backend
```

## Usage

```ts
import { HTML5Backend, TouchBackend, TestBackend } from '@ombro/dnd-backend'
```

Only import required backends

```ts
import { HTML5Backend } from '@ombro/dnd-backend/html5'
// or
import { TouchBackend } from '@ombro/dnd-backend/touch'
// or
import { TestBackend } from '@ombro/dnd-backend/test'
```

## License

MIT
npm package: @ombro/dnd-react
Description: dnd react
Author: Cphayim
Latest version: 0.1.6

# @ombro/dnd-backend

![npm package](https://badgen.net/npm/v/@ombro/dnd-react)

English | [简体中文](README_zh.md)

Integrate [react-dnd](https://www.npmjs.com/package/react-dnd)

## Install

```sh
$ npm install @ombro/dnd-react
# or
$ pnpm install @ombro/dnd-react
```

## Usage

```ts
import { useDrag, useDrop } from '@ombro/dnd-react'
```

[Document for react-dnd](https://react-dnd.github.io/react-dnd/)

## License

MIT
npm package: @ombro/dnd-vue
Description: dnd vue
Author: Cphayim
Latest version: 0.1.6

# @ombro/dnd-backend

![npm package](https://badgen.net/npm/v/@ombro/dnd-vue)

English | [简体中文](README_zh.md)

Integrate [vue3-dnd](https://www.npmjs.com/package/vue3-dnd)

## Install

```sh
$ npm install @ombro/dnd-vue
# or
$ pnpm install @ombro/dnd-vue
```

## Usage

```ts
import { useDrag, useDrop } from '@ombro/dnd-vue'
```

[Document for vue3-dnd](https://haochenguang.gitee.io/vue3-dnd/)

## License

MIT
npm package: @ombro/eslint-config
Description: Shared eslint config
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config

![npm package](https://badgen.net/npm/v/@ombro/eslint-config)

Shared eslint config for JavaScript

## Install

```sh
$ npm install -D @ombro/eslint-config
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-react
Description: Shared eslint config for React
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-react

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-react)

Shared eslint config for React

## Install

```sh
$ npm install -D @ombro/eslint-config-react
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-react'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-react-typescript
Description: Shared eslint config for React + TypeScript
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-react-typescript

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-react-typescript)

Shared eslint config for React + TypeScript

## Install

```sh
$ npm install -D @ombro/eslint-config-react-typescript
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-react-typescript'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-typescript
Description: Shared eslint config for TypeScript
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-typescript

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-typescript)

Shared eslint config for TypeScript

## Install

```sh
$ npm install -D @ombro/eslint-config-typescript
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-typescript'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-vue2
Description: Shared eslint config for Vue2
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-vue2

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-vue2)

Shared eslint config for Vue2

## Install

```sh
$ npm install -D @ombro/eslint-config-vue2
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-vue2'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-vue2-typescript
Description: Shared eslint config for Vue2 + TypeScript
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-vue2-typescript

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-vue2-typescript)

Shared eslint config for Vue2 + TypeScript

## Install

```sh
$ npm install -D @ombro/eslint-config-vue2-typescript
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-vue2-typescript'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-vue3
Description: Shared eslint config for Vue3
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-vue3

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-vue3)

Shared eslint config for Vue3

## Install

```sh
$ npm install -D @ombro/eslint-config-vue3
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-vue3'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/eslint-config-vue3-typescript
Description: Shared eslint config for Vue3 + TypeScript
Author: Cphayim
Latest version: 0.1.5

# @ombro/eslint-config-vue3-typescript

![npm package](https://badgen.net/npm/v/@ombro/eslint-config-vue3-typescript)

Shared eslint config for Vue3 + TypeScript

## Install

```sh
$ npm install -D @ombro/eslint-config-vue3-typescript
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.eslintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  root: true,
  extends: ['@ombro/eslint-config-vue3-typescript'],
}
```

This configuration already integrates with `eslint-config-prettier`, you can go ahead and configure `.prettierrc` and `eslint` rules will be consistent with it
npm package: @ombro/fetchin
Description: http client
Author: Cphayim
Latest version: 0.0.1

# @ombro/fetchin

[![npm package](https://badgen.net/npm/v/@ombro/fetchin)](https://npmjs.com/package/@ombro/fetchin)

English | [简体中文](./README_zh.md)

TODO

## Install

```sh
$ npm install @ombro/fetchin
```

## Usage

TODO
npm package: @ombro/fetchin-locale
Description: fetchin-locale
Author: Cphayim
Latest version: 0.0.1

# @ombro/fetchin-locale

[![npm package](https://badgen.net/npm/v/@ombro/fetchin-locale)](https://npmjs.com/package/@ombro/fetchin-locale)

English | [简体中文](./README_zh.md)

TODO

## Install

```sh
$ npm install @ombro/fetchin-locale
```

## Usage

TODO
npm package: @ombro/is-main
Description: Check if the current module is an entry module for ESM
Author: Cphayim
Latest version: 0.1.1

# @ombro/is-main

![npm package](https://badgen.net/npm/v/@ombro/is-main)

Check if the current module is an entry module for ESM, usually useful in command line scripts.

## Install

```sh
$ npm install @ombro/is-main
```

## Usage

```js
import { isMain } from '@ombro/is-main'

if (isMain(import.meta)) {
  // ...
}
```

If you're using CommonJS modules, then judge directly:

```js
if (require.main === module) {
  // ...
}
```

## Example

Suppose we want to create two tasks, `clean` and `build`. Before `build`, we will pass a parameter `--clean` to determine whether `clean` needs to be performed first, and the `clean` task can also be executed separately

```sh
# Only clean
node clean.js

# Only build
node build.js
# Clean and build
node build.js --clean
```

`clean.js`:

```js
import { isMain } from '@ombro/is-main'

export function clean() {
  // clean...
}

// Executed only when the clean.js is an entry module
if (isMain(import.meta)) {
  clean()
}
```

`build.js`:

```js
import { isMain } from '@ombro/is-main'
import { clean } from './clean.js'

export function build() {
  // build...
}

// Executed only when the build.js is an entry module
if (isMain(import.meta)) {
  process.argv.includes('--clean') && clean()
  build()
}
```

## License

MIT
npm package: @ombro/mitten
Description: Tiny functional event emitter
Author: Cphayim
Latest version: 0.1.0

# @ombro/mitten

[![npm package](https://badgen.net/npm/v/@ombro/mitten)](https://npmjs.com/package/@ombro/mitten)

Mitten is a lightweight event emitter library for TypeScript that allows you to create, manage, and emit custom events.

## Installation

Use your favorite package manager to install it:

```sh
npm install @ombro/mitten
# or
pnpm add @ombro/mitten
```

## Usage

### Creating an Emitter

To create an emitter, you can use the `mitten` function. It takes an optional `EventHandlerMap` object as an argument, which is a map of event types and their corresponding event object.

```ts
import mitten from '@ombro/mitten'

type MyEvents = {
  foo: string
  bar: number
}

const emitter = mitten<MyEvents>()
```

### Registering Event Handlers

To register an event handler, use the `on` method of the emitter. It takes two arguments: the event type to listen for, and the callback function to execute in response to the event.

```ts
emitter.on('foo', (event) => {
  console.log(`Received event with value: ${event}`)
})
```

To register a wildcard event handler that will execute for all events, use the `on` method with a `'*'` type and a callback that takes two arguments: the event type and the event object.

```ts
emitter.on('*', (type, event) => {
  console.log(`Received ${type} event with value: ${event}`)
})
```

### Emitting Events

To emit an event, use the `emit` method of the emitter. It takes two arguments: the event type to emit, and the event object to pass to the event handlers.

```ts
emitter.emit('foo', 'hello world')
```

If you need to emit an event with an undefined value, pass `undefined` as the second argument to `emit`. You can also omit the second argument entirely if the event type has an optional value.

```ts
type MyEvents = {
  foo: string
  bar?: number
}

emitter.emit('foo', 'hello world')
emitter.emit('bar')
```

### Unregistering Event Handlers

To unregister an event handler, use the `off` method of the emitter. It takes two arguments: the event type to unregister the handler from, and the optional callback function to remove.

```ts
const handler = (event: string) => {
  console.log(`Received event with value: ${event}`)
}

emitter.on('foo', handler)

// Unregister a specific handler
emitter.off('foo', handler)

// Unregister all handlers for a specific event type
emitter.off('foo')

// Unregister all handlers for wildcard event types
emitter.off('*')
```

## Example

```ts
import mitten from '@ombro/mitten'

type MyEvents = {
  foo: string
  bar?: number
}

const emitter = mitten<MyEvents>()

emitter.on('foo', (event) => {
  console.log(`Received foo event with value: ${event}`)
})

emitter.on('bar', (event) => {
  console.log(`Received bar event with value: ${event}`)
})

emitter.on('*', (type, event) => {
  console.log(`Received ${type} event with value: ${event}`)
})

emitter.emit('foo', 'hello world')
emitter.emit('bar', 42)
emitter.emit('bar')
```
npm package: @ombro/node
Description: 🚀 A zero-configuration, quick-start `ESNext` Node.js runtime
Author: Cphayim
Latest version: 1.2.2

# @ombro/node

![npm package](https://badgen.net/npm/v/@ombro/node)

[简体中文](./README.zh-CN.md)

🚀 A zero-configuration, quick-start `ESNext` Node.js runtime

## Install

```sh
# install in the current project
$ npm install -D @ombro/node

# install in the global
$ npm install -g @ombro/node
```

## Usage

You can use `@ombro/node` like Node.js

```sh
$ onode index.js
```

Before execution, `@ombro/node` will use `babel` to compile the file, you don’t need to configure it separately

## CHANGELOG

[CHANGELOG.md](./CHANGELOG.md)

## LICENSE

MIT
npm package: @ombro/stylelint-config
Description: Shared stylelint config for CSS/SCSS
Author: Cphayim
Latest version: 0.1.5

# @ombro/stylelint-config

![npm package](https://badgen.net/npm/v/@ombro/stylelint-config)

Shared stylelint config for CSS/SCSS

## Install

```sh
$ npm install -D @ombro/stylelint-config
```

> If your package manager does not automatically install `peerDependencies`, you need to install it yourself according to the warning message

## Usage

Create `.stylelintrc.js` in the project root directory and add the following content:

```js
module.exports = {
  extends: ['@ombro/stylelint-config'],
}
```

This configuration already integrates with `stylelint-config-prettier`, you can go ahead and configure `.prettierrc`, `stylelint` rules will be consistent with it
npm package: @ombro/tsconfig
Description: Shared TypeScript tsconfig.json
Author: Cphayim
Latest version: 2.0.1

# @ombro/tsconfig

![npm package](https://badgen.net/npm/v/@ombro/tsconfig)

> Shared TypeScript [tsconfig.json](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) for projects

## Install

```sh
npm install -D @ombro/tsconfig

# pnpm
pnpm add -D @ombro/tsconfig
```

> Since version 2.0.0, TypeScript 5.0+ is required.
>
> If you are using TypeScript 4, you need to install `@ombro/tsconfig@1.4.3`.

## Usage

Add `extends` to your project `tsconfig.json`

```json
{
  "extends": "@ombro/tsconfig"
}
```

### Use ESM

This is actually the default configuration

`@ombro/tsconfig@^2.0.0`:

```json
{
  "extends": "@ombro/tsconfig/esm"
}
```

`@ombro/tsconfig@^1.0.0`:

```json
{
  "extends": "@ombro/tsconfig/tsconfig.esm.json"
}
```

### Use Commonjs

`@ombro/tsconfig@^2.0.0`:

```json
{
  "extends": "@ombro/tsconfig/cjs"
}
```

`@ombro/tsconfig@^1.0.0`:

```json
{
  "extends": "@ombro/tsconfig/tsconfig.cjs.json"
}
```

## Change log

[CHANGELOG.md](./CHANGELOG.md)
npm package: @omcs/request
Description: *request client of omcs*
Author: JW
Latest version: 1.5.3

# @omcs/request
*request client of omcs*

[![npm](https://img.shields.io/npm/v/@omcs/request)](https://github.com/ohmycheatsheet/ohmycheatsheet/tree/master/packages/request) [![GitHub](https://img.shields.io/npm/l/@omcs/request)](https://github.com/ohmycheatsheet/ohmycheatsheet/tree/master/packages/request) [![stackblitz](https://img.shields.io/badge/%E2%9A%A1%EF%B8%8Fstackblitz-online-blue)](https://stackblitz.com/github/ohmycheatsheet/ohmycheatsheet/tree/master/packages/request)

[Edit on StackBlitz ⚡️](https://stackblitz.com/github/ohmycheatsheet/ohmycheatsheet/tree/master/packages/request)


# features

- list, search on algolia
- list github issue and labels

## install

```console
pnpm i @omcs/request
```

## development

1. Use `.env.sample` file as reference, set the required variables in development environment.
npm package: @omdr/candlestick-patterns
Description: A powerful collection of candlestick pattern detection algorithms for traders and developers. Identify key reversal signals and trend confirmations using classic Japanese candlestick logic.
Author: OM
Latest version: 0.0.1

# @omdr/candlestick-patterns

A powerful collection of candlestick pattern detection algorithms for traders and developers. Identify key reversal signals and trend confirmations using classic Japanese candlestick logic.

## Installation

```bash
npm install @omdr/candlestick-patterns
```

## Usage

```js
const {
  engulfing,
  hammer,
  hangingMan,
  morningStar,
  eveningStar,
  doji,
  piercingLine,
  darkCloudCover,
  threeWhiteSoldiers,
  threeBlackCrows,
  harami,
  shootingStar
} = require('@omdr/candlestick-patterns');

// Sample candle format
const candles = [
  { open: 100, high: 105, low: 95, close: 104 },
  { open: 104, high: 106, low: 100, close: 101 },
  { open: 101, high: 102, low: 97, close: 98 },
];

// Check for a bearish engulfing pattern
const isEngulfing = engulfing(candles);
console.log('Engulfing Detected:', isEngulfing);
```

## Included Patterns

### Reversal Patterns

- `engulfing(candles)` — Bullish/Bearish
- `hammer(candles)`
- `hangingMan(candles)`
- `morningStar(candles)`
- `eveningStar(candles)`
- `doji(candles)`
- `piercingLine(candles)`
- `darkCloudCover(candles)`
- `threeWhiteSoldiers(candles)`
- `threeBlackCrows(candles)`
- `harami(candles)` — Bullish/Bearish
- `shootingStar(candles)`

Each function returns a boolean indicating if the pattern is detected based on the latest candles.

## Candle Format

```ts
{
  open: number;
  high: number;
  low: number;
  close: number;
}
```

Use an array of the latest 2–5 candles depending on the pattern.


## Structure

```
.
├── src
│   ├── dev files (not included in package)
├── dist
│   ├── index.js (code is obfuscated already)
│   └── index.obf.js
├── package.json
└── README.md
```

## Designed For
- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.
npm package: @omdr/momentum-oscillator
Description: A powerful, lightweight collection of momentum oscillators for financial and stock market analysis. This package includes a wide range of technical indicators to support algorithmic trading strategies, market momentum detection, and quant-based analysis.
Author: OM
Latest version: 1.0.4

# @omdr/momentum-oscillator

A powerful, lightweight collection of momentum oscillators for financial and stock market analysis. This package includes a wide range of technical indicators to support algorithmic trading strategies, market momentum detection, and quant-based analysis.

## Installation

```bash
npm install @omdr/momentum-oscillator
```

## Features

This library includes the following technical momentum oscillators:

- RSI (Relative Strength Index)
- Stochastic %K and %D
- CCI (Commodity Channel Index)
- Williams %R
- Ultimate Oscillator
- Chande Momentum Oscillator (CMO)
- Money Flow Index (MFI)
- Force Index
- ROC (Rate of Change)
- Awesome Oscillator
- Know Sure Thing (KST)
- Coppock Curve
- Elder-Ray Index
- Detrended Price Oscillator (DPO)
- Mass Index
- Relative Vigor Index (RVI)
- Gopalakrishnan Range Index (GAPO)
- Choppiness Index
- Qstick

### Example

```js
const oscillators = require('@omdr/momentum-oscillator');

const prices = [120, 121, 122, 125, 124, 126, 127, 128, 126, 124, 123, 122, 121, 120];
const result = oscillators.rsi(prices);
console.log('RSI:', result);
```


## Designed For

- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.
npm package: @omdr/statistical-ml-ready
Description: A collection of advanced statistical and machine learning-ready tools tailored for financial data analysis, regime detection, and predictive modeling.
Author: OM
Latest version: 0.0.1

# @omdr/statistical-ml-ready

A collection of advanced statistical and machine learning-ready tools tailored for financial data analysis, regime detection, and predictive modeling.

## Installation

```bash
npm install @omdr/statistical-ml-ready
```

or

```bash
pnpm add @omdr/statistical-ml-ready
```

## Features

Includes 20 tools for time-series analysis, volatility modeling, statistical profiling, and ML regime detection:

- Z-Score (Price)
- Hurst Exponent
- Shannon Entropy
- Kalman Filter
- ARIMA Forecast
- Linear Regression Channel
- Standard Deviation Bands
- Skewness / Kurtosis
- Dickey-Fuller Test
- Half-Life of Mean Reversion
- Hidden Markov Models
- K-Means Clustering (Regimes)
- Random Walk Probability
- Fractal Dimension
- Wavelet Transforms
- Correlation Heatmaps
- PCA (Price/Volume)
- LSTM Volatility Prediction
- Bayesian Structural Time Series
- Monte Carlo Simulations

## Usage

```js
// index.js
const statistical = require('@omdr/statistical-ml-ready');

// Example usage
const prices = [ 100, 101, 99, 98, 102, 105 ];
const zScore = statistical.zScore(prices);
console.log('Z-Score:', zScore);

const hurst = statistical.hurstExponent(prices);
console.log('Hurst Exponent:', hurst);
```

## Output Examples

```js
Z-Score: 1.23
Hurst Exponent: 0.42
```


## Structure

```
.
├── src
│   ├── dev files (not included in package)
├── dist
│   ├── index.js (code is obfuscated already)
│   └── index.obf.js
├── package.json
└── README.md
```

## Designed For
- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.
npm package: @omdr/support-resistance
Description: Comprehensive library of support and resistance technical indicators for financial market analysis. Includes standard pivot points, Fibonacci retracements, and advanced tools like Market Profile and Anchored VWAP.
Author: OM
Latest version: 0.0.1

# @omdr/support-resistance

Comprehensive library of support and resistance technical indicators for financial market analysis. Includes standard pivot points, Fibonacci retracements, and advanced tools like Market Profile and Anchored VWAP.

## Installation

```bash
npm install @omdr/support-resistance
```

## Usage

```js
const {
  pivotPoints,
  fibonacciRetracements,
  camarillaPivots,
  woodiePivots,
  tomDemarkPivots,
  murreyMathLines,
  gannSquareOfNine,
  volumeProfile,
  anchoredVWAP,
  marketProfile
} = require('@omdr/support-resistance');

// Example usage
const pivots = pivotPoints(200, 190, 195);
console.log('Standard Pivots:', pivots);

const fib = fibonacciRetracements(210, 190);
console.log('Fibonacci Levels:', fib);

const vw = anchoredVWAP([195, 197, 199, 202], [1000, 1100, 1050, 1200], 0);
console.log('Anchored VWAP:', vw);
```

## Included Tools

### Pivot-Based Tools

- `pivotPoints(high, low, close)`
- `fibonacciRetracements(high, low)`
- `camarillaPivots(close, high, low)`
- `woodiePivots(high, low, close)`
- `tomDemarkPivots(open, high, low, close)`

### Geometric/Mathematical Tools

- `murreyMathLines(price)`
- `gannSquareOfNine(price)`

### Volume-Based Support/Resistance

- `volumeProfile(priceData, volumeData, bins)`
- `anchoredVWAP(priceData, volumeData, anchorIndex)`
- `marketProfile(priceData)`

## Structure

```
.
├── src
│   ├── dev files (not included in package)
├── dist
│   ├── index.js (code is obfuscated already)
│   └── index.obf.js
├── package.json
└── README.md
```

## Designed For
- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.
npm package: @omdr/technical-indicator
Description: A lightweight, framework-agnostic JavaScript/TypeScript library for calculating popular technical indicators like **SMA**, **EMA**, **MACD**, **SuperTrend**, **Ichimoku Cloud**, and more — usable in **Node.js**, **React**, **Angular**, **Vue**, and even *
Author: OM
Latest version: 1.0.1

# @omdr/technical-indicators

A lightweight, framework-agnostic JavaScript/TypeScript library for calculating popular technical indicators like **SMA**, **EMA**, **MACD**, **SuperTrend**, **Ichimoku Cloud**, and more — usable in **Node.js**, **React**, **Angular**, **Vue**, and even **VS Code extensions**.

---

## Installation

```bash
npm install @omdr/technical-indicators
```

---

## Usage

```js
import indicators from '@omdr/technical-indicators';

const sampleData = [
  { open: 100, high: 110, low: 90, close: 105, volume: 1000 },
  { open: 105, high: 115, low: 95, close: 110, volume: 1200 },
  { open: 110, high: 120, low: 100, close: 115, volume: 1300 },
  // ... more OHLCV data
];

// Simple Moving Average
const sma6 = indicators.sma(6, sampleData);

// Exponential Moving Average
const ema9 = indicators.ema(9, sampleData);

// MACD
const macd = indicators.macd(sampleData, 12, 26, 9);

// SuperTrend
const supertrend = indicators.supertrend(sampleData, 10, 3);
```

---

## Supported Indicators

- **SMA** (Simple Moving Average)
- **EMA** (Exponential Moving Average)
- **MACD** (Moving Average Convergence Divergence)
- **SuperTrend** (ATR-based)
- **Parabolic SAR**
- **Ichimoku Cloud**
- **Vortex Indicator**
- **Trix**
- **KAMA** (Kaufman’s Adaptive MA)
- **Hull Moving Average**
- **Double EMA**
- **Triple EMA**
- **ZLEMA** (Zero Lag EMA)
- **VWMA** (Volume Weighted MA)
- **Tillson T3**

More indicators coming soon!

---

## Designed For

- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.
npm package: @omdr/volume-based
Description: A curated collection of 15 volume-based technical indicators for algorithmic and discretionary traders. Built for Node.js environments and optimized for financial data analysis and trading signal generation.
Author: OM
Latest version: 0.0.1

# @omdr/volume-based

A curated collection of 15 volume-based technical indicators for algorithmic and discretionary traders. Built for Node.js environments and optimized for financial data analysis and trading signal generation.

## Installation

```bash
npm install @omdr/volume-tools
```

## Available Indicators

- OBV (On-Balance Volume)
- VWAP (Daily)
- Accumulation/Distribution Line
- Chaikin Money Flow
- Ease of Movement
- Volume ROC
- Volume Price Trend
- Negative Volume Index
- Positive Volume Index
- Demand Index
- Herrick Payoff Index
- Volume-Weighted MACD
- Volume-Adjusted RSI
- Volume Oscillator
- Twiggs Money Flow

## Usage

```js
const volume = require('@omdr/volume-based');

// Example inputs
const close = [101, 103, 102, 105, 108];
const high = [102, 104, 103, 106, 110];
const low = [100, 101, 100, 104, 107];
const open = [100, 102, 101, 103, 106];
const volumeArr = [1000, 1100, 1050, 1150, 1200];

// Calculate On-Balance Volume
const obvResult = volume.obv(close, volumeArr);
console.log('OBV:', obvResult);

// Calculate VWAP
const vwapResult = volume.vwap(close, volumeArr);
console.log('VWAP:', vwapResult);
```

## Structure

```
.
├── src
│   ├── dev files (not included in package)
├── dist
│   ├── index.js (code is obfuscated already)
│   └── index.obf.js
├── package.json
└── README.md
```

## Designed For
- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.