Pharos
TAMath ops

ADD - 向量加法

TA.ADD() - 数组元素相加

返回数学运算目录


语法

python
result = TA.ADD(array1, array2)

参数

参数类型说明
array1array第一个数组
array2array第二个数组

返回值

返回一个新数组,每个元素是两个输入数组对应位置元素的和。

计算方法

plaintext
result[i] = array1[i] + array2[i]

对应位置元素相加。

使用场景

  1. 合成指标:将多个指标相加
  2. 价格叠加:计算多个资产的价格和
  3. 信号组合:合并多个交易信号

基础示例

python
def onTick():
    exchange.SetContractType("swap")
    records = exchange.GetRecords()
    
    if len(records) < 30:
        return
    
    # 提取收盘价和开盘价
    closes = [r.Close for r in records]
    opens = [r.Open for r in records]
    
    # 计算两者之和
    sum_prices = TA.ADD(closes, opens)
    
    Log("最新收盘价+开盘价:", sum_prices[-1])

高级应用

1. 多均线合成

python
def onTick():
    records = exchange.GetRecords()
    
    # 计算多条均线
    ma5 = TA.MA(records, 5)
    ma10 = TA.MA(records, 10)
    ma20 = TA.MA(records, 20)
    
    # 计算均线总和
    ma_sum = TA.ADD(TA.ADD(ma5, ma10), ma20)
    
    # 计算均线平均值
    ma_avg = TA.DIV(ma_sum, [3] * len(ma_sum))
    
    Log("三均线平均值:", ma_avg[-1])

2. 价差分析

python
def onTick():
    # 获取两个交易对的数据
    records_btc = exchange.GetRecords()
    
    exchange.SetCurrency("ETH_USDT")
    records_eth = exchange.GetRecords()
    
    btc_closes = [r.Close for r in records_btc]
    eth_closes = [r.Close for r in records_eth]
    
    # 计算总市值(假设持有1 BTC和10 ETH)
    btc_value = TA.MULT(btc_closes, [1] * len(btc_closes))
    eth_value = TA.MULT(eth_closes, [10] * len(eth_closes))
    
    total_value = TA.ADD(btc_value, eth_value)
    
    Log("组合总价值:", total_value[-1])

3. 自定义振荡器

python
def onTick():
    records = exchange.GetRecords()
    
    # RSI
    rsi = TA.RSI(records, 14)
    
    # CCI
    cci = TA.CCI(records, 14)
    
    # 标准化CCI到0-100范围
    cci_norm = TA.ADD(TA.DIV(cci, [2] * len(cci)), [50] * len(cci))
    
    # 组合振荡器
    combo_osc = TA.DIV(TA.ADD(rsi, cci_norm), [2] * len(rsi))
    
    if combo_osc[-1] > 70:
        Log("组合超买:", combo_osc[-1])
    elif combo_osc[-1] < 30:
        Log("组合超卖:", combo_osc[-1])

注意事项

  1. 数组长度:两个数组长度必须相同
  2. 数据对齐:确保对应位置的数据在时间上对齐
  3. 性能考虑:处理大数组时注意内存占用

相关函数

  • SUB - 向量减法
  • MULT - 向量乘法
  • DIV - 向量除法
  • SUM - 数组求和

返回数学运算目录 | 返回TA指标