目录
一、目标
很多策略系统使用VBA已经提供,在权限打开的情况下,VBA中指标的编写和调用更符合同花顺和通达信的指标编译,所以学会如何调用可以极大的省时间。以DMA指标为例。
二、以DMA指标为例
1.计算
DMA(10)=10日股价平均值—50日股价平均值
AMA(10)=10日DMA平均值
2.用VBA库实现
INPUT:S(10,2,300,30);
INPUT:P(50,10,300,29);
INPUT:M(10,1,300,30);
DDD : (MA(CLOSE,S)-MA(CLOSE,P));
AMA : MA(DDD,M)
3.用python函数调用
def dma(ContextInfo):
buy_1 = {i:0 for i in s}
dma = {i:0 for i in s}
ama = {i:0 for i in s}
for i in s: #S是自定义票池
dma[i] = call_vba('DMA.DDD', i, ContextInfo)
ama[i] = call_vba('DMA.AMA', i, ContextInfo)
if dma[i] > ama[i]:
buy1[i] = 1
print(dma)
return buy1
核心代码:
#调用指标名.参数
dma[i] &#