mm_maths
Version:
这是一个可以将数学公式推导变形,并转成js和计算的模块。
140 lines (95 loc) • 2.64 kB
Markdown
# mm_maths
这是一个可以将数学公式推导变形,并转成js和计算的模块。
## 安装
```bash
npm install mm_maths
```
## 基本使用
### 1. 初始化模块
```javascript
const Maths = require('mm_maths');
// 创建实例并指定模块路径
const maths = new Maths(__dirname);
```
### 2. 载入公式
```javascript
// 载入基础数学公式
maths.update(__dirname, "base");
// 也可以分别载入不同类型的公式
maths.load_identities(__dirname, "base"); // 载入恒等式
maths.load_convert(__dirname, "base"); // 载入转换函数
maths.load_symbol(__dirname, "base"); // 载入符号处理函数
maths.load_math(__dirname, "base"); // 载入计算函数
```
### 3. 设置常量和变量
```javascript
// 设置常量
const consts = {
a: 10,
b: 3
};
maths.set_const(consts);
// 设置变量
const vars = {
ma5: "MA(CLOSE, 5)", // 可以设置公式作为变量
price: null
};
maths.set_var(vars);
```
### 4. 公式转换和计算
```javascript
// 转换公式
const expression = "y = abc * ab * 3c * 2";
const express = maths.convertTo(expression);
console.log('转换后的公式:', express);
// 运行代码
const result = maths.run_code("return " + express);
console.log('计算结果:', result);
```
## API 说明
### 主要类
#### Maths
数学公式计算的主类,提供公式转换、计算等功能。
**构造函数参数:**
- `dir` {String} 模块路径,默认为 __dirname
### 主要方法
#### update(path, type)
更新并载入指定类型的所有公式。
- `path` {String} 检索路径
- `type` {String} 公式类型,如 "base"(基础数学)、"stock"(股票)
#### set_const(constant)
设置常量。
- `constant` {Object} 常量集合,如 `{ a: 10, b: 15 }`
#### set_var(vars)
设置变量。
- `vars` {Object} 变量集合,如 `{ ma5: "MA(CLOSE, 5)", price: null }`
#### convertTo(express)
转换公式。
- `express` {String} 要转换的表达式
- 返回 {String} 转换后的表达式
#### run_code(express)
运行代码。
- `express` {String} 要执行的表达式
- 返回 {Object} 执行结果
## 支持的公式类型
- 基础数学 (base)
- 四则运算
- 指数运算
- 对数运算
- 三角函数
- 数组运算 (array)
- 求和
- 平均值
- 最大/最小值
- 中位数
- 股票技术指标 (stock)
- MA (移动平均线)
- MACD
- RSI
- BBANDS (布林带)
## 注意事项
1. 在使用前请确保已正确载入所需的公式类型
2. 设置常量和变量时注意避免名称冲突
3. 公式转换时注意检查语法正确性
## 许可证
ISC License