반응형
✔ C# 보조지표 만들기 - MACD oscillator
이번에는 MACD oscillator 지표를 제작해봅시다.
이전 포스트에서 TA-Lib의 API를 활용하여 제작합니다.
아직 TA-Lib 패키지를 설치하지 않았다면 아래 포스트에서 설치부터!!
2022.05.11 - [주식 자동매매 프로그램 제작/지표 알고리즘] - [C# 주식자동매매제작] 보조지표 알고리즘 - TA-Lib 설치
MACD는 주식 봉의 종가 기준 데이터들을 계산하여 추출합니다.
그래서 우리는 종가 데이터를 TA-Lib의 macd함수에 넣어주면 끝!!
주의할점은 배열의 데이터가 많으면 많을수록 정확한 값을 가지더라구요
배열의 길이가 200정도로 하니까 키움증권에서 보여지는 값과 일치하는 것을 확인하였습니다.
● MACD 계산 코드
/// <summary>
/// MCAD 계산
/// </summary>
/// <param name="prices">종가 배열 </param>
/// <returns></returns>
public static float MACD(int [] prices)
{
if (prices.Length < 200)
return 0;
double[] costArr = prices.Select<int, double>(i => i).ToArray();
int outBegIdx; //변환후 버려지는 배열 수
int outNBElement; //생성된 자료의 배술 수
double[] outMACD = new double[prices.Length]; //생성된 MACD 값이 저장되는 배열
double[] outMACDSignal = new double[prices.Length]; //생성된 MACD signal 저장되는 배열
double[] outMACDHist = new double[prices.Length]; //생성된 MACD Hist 저장되는 배열
TicTacTec.TA.Library.Core.Macd(0, prices.Length - 1, costArr, 12, 26, 9, out outBegIdx, out outNBElement, outMACD, outMACDSignal, outMACDHist);
double oscill = outMACD[outNBElement - 1] - outMACDSignal[outNBElement - 1]; // 마지막 값 Oscillator 확인
return (float)oscill;
}
감사합니다.
반응형
'주식 자동매매 프로그램 제작 > 지표 알고리즘' 카테고리의 다른 글
[C# 주식자동매매제작] 보조지표 알고리즘 - TA-Lib 설치 (0) | 2022.05.11 |
---|
댓글