Home 소개       다운로드       온라인 설명서      주식차트    Q & A     Blog    

히포차트 4.3 - 주식차트 20일 이동평균선 그리기







히포차트를 이용하여 주식차트 이평선을 그리는 샘플 코드입니다.

20일 이동평균선을 기준으로 해서 해당 숫자를 바꾸면 5, 10, 20, 60, 120일 등 모두 적용이 가능합니다.

데이터는 실제 삼성전자 월봉 데이터를 활용하였고 파일은 아래 카페를 통해 요청하시기 바랍니다.

http://cafe.naver.com/kiwoomhippochart




Candle chart  Candle chart2  주식 캔들 차트 - 최고가, 최저가, 특정 봉 정보  히포차트 4.1 - 주식 차트 활용 (틱 배경색), Area라인 차트  히포차트 4.3 - 주식 봉 차트 HTS 프로그램 개발하기  키움증권 OpenAPI 로 제작된 실시간 주식 차트 프로그램  [히포차트 4.3] - 주식 캔들 차트 보조지표 일목균형표  히포차트 4.3 - 주식차트 20일 이동평균선 그리기  히포차트 4.3 - 주식차트 보조지표 MACD, 시그널, 오실레이터, 지수이동평균선  히포차트 4.3 - 주식차트 보조지표 볼린저밴드(Bollinger Band) 그리기  히포차트 4.3 - 스토캐스틱(Stochastics) 주식차트 보조지표  히포차트 4.3 - 주식 차트 보조지표 RSI 공식적용 그래프  


C#
 
HippoEngine en = new HippoEngine();
en.DataType = DataSourceType.Excel;
en.Query = "select * from [삼성전자2$]";
en.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`C:\삼성전자2.xlsx`;Extended Properties=`Excel 12.0;HDR=YES`";

SeriesList sList = en.GetSeriesListOfStock(DataSourceType.Excel, "Date", "Start", "Close", "Low", "High");

sList.AxisFactor.YAxis.Direction = AxisDirection.Right;

// 이동평균선
sList.SeriesCollection.Add(new Series());
sList.SeriesCollection[1].ChartType = ChartType.Line;
sList.SeriesCollection[1].Points.Width = 0;
sList.SeriesCollection[1].Line.LineWidth = 2;
sList.SeriesCollection[1].SeriesColor = Color.YellowGreen;

int nCnt = sList.SeriesCollection[0].items.Count;
int nLine = 20; // 20 일 이동평균선

for(int i = 0; i < nCnt; i++)
{
SeriesItem item20 = new SeriesItem();
item20.Name = sList.SeriesCollection[0].items[i].Name;

for(int x = 0; x < nLine; x++)
{
try
{
item20.YValue += sList.SeriesCollection[0].items[i - x].YValue;
}
catch
{
item20.YValue = double.NaN;
}
}

item20.YValue = item20.YValue / nLine;

sList.SeriesCollection[1].items.Add(item20);
}

this.hHippoChart1.Titles.Label.Text = "히포차트 주식 - 20일 이동평균선";
this.hHippoChart1.LegendBox.Visible = false;
this.hHippoChart1.SeriesListDictionary.Add(sList);
this.hHippoChart1.DrawChart();


VB
 
Dim en As New. HippoEngine()
en.DataType = DataSourceType.Excel
en.Query = "select * from [삼성전자2$]"
en.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`C:\삼성전자2.xlsx`;Extended Properties=`Excel 12.0;HDR=YES`"

Dim sList As SeriesList = en.GetSeriesListOfStock(DataSourceType.Excel, "Date", "Start", "Close", "Low", "High")

sList.AxisFactor.YAxis.Direction = AxisDirection.Right

` 이동평균선
sList.SeriesCollection.Add(New Series())
sList.SeriesCollection(1).ChartType = ChartType.Line
sList.SeriesCollection(1).Points.Width = 0
sList.SeriesCollection(1).Line.LineWidth = 2
sList.SeriesCollection(1).SeriesColor = Color.YellowGreen

Dim nCnt As Integer = sList.SeriesCollection(0).items.Count
Dim nLine As Integer = 20
` 20 일 이동평균선
For i As Integer = 0 To nCnt - 1
Dim item20 As New. SeriesItem()
item20.Name = sList.SeriesCollection(0).items(i).Name

For x As Integer = 0 To nLine - 1
Try
item20.YValue += sList.SeriesCollection(0).items(i - x).YValue
Catch
item20.YValue = Double.NaN
End Try
Next

item20.YValue = item20.YValue / nLine

sList.SeriesCollection(1).items.Add(item20)
Next

Me.hHippoChart1.Titles.Label.Text = "히포차트 주식 - 20일 이동평균선"
Me.hHippoChart1.LegendBox.Visible = False
Me.hHippoChart1.SeriesListDictionary.Add(sList)
Me.hHippoChart1.DrawChart()


※ 히포차트 샘플 코드는 버전별로 상이한 결과를 나타낼 수 있습니다.

이 코드 관련 문의 사항은 페이스북 리플을 달아주시거나 아래 이메일로 이 페이지 주소와 함께 문의주세요.

helpdesk@hippochart.com





Copyright © 2009-2016, HippoChart. Inc.  All Rights Reserved.