TradingView Pine-Script的ta.change对应AmiBroker AFL的等效函数是什么?
替代TradingView Pine Script中ta.change的AmiBroker AFL实现
TradingView的ta.change(source, length)功能分为两种场景:
- 当
source是数值型时,返回当前值与length根K线前值的差值 - 当
source是布尔型时,返回当前值与length根K线前值是否不同的布尔结果(不同则返回True)
AmiBroker AFL中没有完全匹配的单一函数,但可以通过Ref()函数结合简单运算实现完全一致的逻辑:
1. 数值型source的实现
直接用当前值减去length周期前的对应值即可,对应逻辑:
// 等价于 Pine Script 的 ta.change(source, length) ChangeValue = source - Ref(source, length);
示例:计算收盘价与前2根K线收盘价的差值
CloseChange = Close - Ref(Close, 2);
2. 布尔型source的实现
通过判断当前值与length周期前的值是否不等来实现,对应逻辑:
// 等价于 Pine Script 的 ta.change(source, length) ChangeBool = source != Ref(source, length);
示例:判断当前K线是否为阳线,且与前1根K线的阳线状态是否不同
IsBullish = Close > Open; BullishStateChange = IsBullish != Ref(IsBullish, 1);
内容的提问来源于stack exchange,提问作者Krishnendu Bhattacharyya
相关产品推荐
相关产品推荐

