Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求助示范,如何在VBS中 编写均线代码,ma(c,n)

1楼
厚德载物生 发表于:2014/12/1 0:14:44
求助示范,如何在VBS中 编写均线代码,ma(c,n)

利用实盘或历史数据 如何编写1分钟,3分钟的 ma(C,N)的代码 ,十分感谢,假设N为10也ok,谢谢 
2楼
王锋 发表于:2014/12/1 9:32:47
请参考自带的MA均线自定义函数代码
3楼
厚德载物生 发表于:2014/12/1 12:46:54

请问是这一段吗?



逐周期模式

Function CU_MA2(Formula,cyc)

  '防止公式序列模式时调用

   If Formula.WorkMode = 1

       Exit Function

   End If

   '得到K线数据对象

   Set History = Formula.ParentGrid.GetHistoryData()

   '若当前周期尚未到计算周期,不参与计算

   if Formula.IndexData < cyc-1 then

   CU_MA2 = 0

       exit function

   end if

 

   DataCount = 0

   for i = Formula.IndexData-cyc+1 to Formula.IndexData

       '累加收盘价

       DataCount = DataCount + history.close(i)

   next

  '因为是每个周期都会调用一次,因此我们只要计算当前被执行的周期的均价即可

   CU_MA2 = DataCount / cyc

End Function

'序列运行模式

Function CU_MA1(Formula,CLOSE,Cyc)

   CU_MA1=0

 

  '防止公式逐周期模式时调用

   If Formula.WorkMode = 0 Then

       Exit Function

   End If

 

  'CLOSE数组数据长度一定会与Formula.DataSize-1相等

   DataCount = UBound(CLOSE)

   If DataCount <> Formula.DataSize-1 Then

       Exit Function

   End If

 

  '定义一个计算返回的数组

   Dim ResultMa

   Redim ResultMa(DataCount)

 

   For i = Cyc-1 To Formula.DataSize-1

       Count = 0

       For k = i-(Cyc-1) To i

           Count = Count + CLOSE(k)

       Next

       ResultMa(i) = Count / Cyc

   Next

 

  '返回一个计算完毕的均线数组

   CU_MA1 = ResultMa

End Function

4楼
FexTel 发表于:2014/12/1 13:10:03

恩,理念一样的

共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.07813 s, 2 queries.