This Algorithm DIFF: EMA (close, short)-EMA (close, long) is used in WP7 applications );
DEA: EMA (diff, M );
Macd: 2 * (DIFF-DEA );
Zero: 0. The key point is that if the data on the first day is the data on the interval, the dif dea macd on the first day is all 0. View code
1 /// <Summary>
2 /// Macd Algorithm
3 /// </Summary>
4 /// <Param name = "N1"> 12 </Param>
5 /// <Param name = "N2"> 26 </Param>
6 /// <Param name = "N3"> 9 </Param>
7 /// <Param name = "day"> K-line data </Param>
8 /// <Returns> </returns>
9 Public Static List <klinfo> computationmacd2 ( Int Short, Int Long, Int M, list <klinfo> klstocklist)
10 {
11 For ( Int I = 0 ; I <klstocklist. Count; I ++)
12 {
13
14 If (Klstocklist [I]. KID = 1 )
15 {
16 Klstocklist [I]. ema12value = klstocklist [I]. closeprice;
17 Klstocklist [I]. ema26value = klstocklist [I]. closeprice;
18 Klstocklist [I]. difvalue = klstocklist [I]. ema12value-klstocklist [I]. ema26value;
19 Klstocklist [I]. deavalue = klstocklist [I]. difvalue;
20 Klstocklist [I]. macdvalue = 2.0 * (Klstocklist [I]. difvalue-klstocklist [I]. deavalue );
21 }
22 Else
23 {
24 Klstocklist [I]. ema12value = ( 2 * Klstocklist [I]. closeprice + (Short- 1 ) * Klstocklist [klstocklist [I]. kid- 2 ]. Ema12value)/(SHORT + 1 );
25 Klstocklist [I]. ema26value = ( 2 * Klstocklist [I]. closeprice + (long- 1 ) * Klstocklist [klstocklist [I]. kid- 2 ]. Ema26value)/(long + 1 );
26 Klstocklist [I]. difvalue = klstocklist [I]. ema12value-klstocklist [I]. ema26value;
27 Klstocklist [I]. deavalue = ( 2 * Klstocklist [I]. difvalue + (m- 1 ) * Klstocklist [klstocklist [I]. kid- 2 ]. Deavalue)/(m + 1 );
28 Klstocklist [I]. macdvalue = 2.0 * (Klstocklist [I]. difvalue-klstocklist [I]. deavalue );
29
30 }
31 }
32
33 Return Klstocklist;
34 }