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

히포차트 4.3 - 렌코차트(Renko chart) 샘플







일본에서 개발되어 주식차트에서 많이 사용하는 추세를 알 수 있는 렌코 차트를 히포차트를 활용하여 그리는 방법을 안내합니다.

히포차트의 range column 차트를 활용하여 그리는 샘플입니다.




Column chart - Gradation  Column chart - 3D, GridDirection, WidthType  Column chart - AxisOrientation, PaletteType  Range Column Chart   WaterFall chart  [히포차트 4.2] Boxplot(박스 플롯) 차트  히포차트 4.3 - 렌코차트(Renko chart) 샘플  


C#
 
this.hHippoChart3.SeriesListDictionary.Clear();

SeriesList sList = new SeriesList();
sList.ChartType = ChartType.Column;

Random r = new Random();

Series sr = new Series();
sr.ColumnRangeType = ColumnRangeType.Range;
sr.Column.WidthType = ColumnWidthType.Tight;

double preVal = 17890;

for(int x = 0; x < 50; x++)
{
SeriesItem item = new SeriesItem();
item.Name = x.ToString();

// 가격 증감 폭을 표현
double plusminus = r.Next(1000, 2000);

int pm = 1;

// 가격 증감을 표현
if((x > 17 && x < 32) || x > 43)
{
pm = -1;
}
else
{
pm = 1;
}

int boxsize = 2000;

// 오늘의 종가 결정
double todayEndVal = (preVal + boxsize * pm);

if(pm > 0)
{
if (plusminus >= preVal * 2 / 100)
{
item.YValue = todayEndVal;
item.YStartValue = item.YValue - boxsize;
item.ItemColor = Color.Green;
}
else
{
item.ItemColor = Color.Empty;
}
}
else
{
item.YValue = todayEndVal;
item.YStartValue = item.YValue + boxsize;
item.ItemColor = Color.Red;
}

sr.items.Add(item);

preVal = todayEndVal;
}
sList.SeriesCollection.Add(sr);

this.hHippoChart3.LegendBox.Visible = false;
this.hHippoChart3.SeriesListDictionary.Add(sList);
this.hHippoChart3.DrawChart();


VB
 
Me.hHippoChart3.SeriesListDictionary.Clear()

Dim sList As New. SeriesList()
sList.ChartType = ChartType.Column

Dim r As New. Random()

Dim sr As New. Series()
sr.ColumnRangeType = ColumnRangeType.Range
sr.Column.WidthType = ColumnWidthType.Tight

Dim preVal As Double = 17890

For x As Integer = 0 To 49
Dim item As New. SeriesItem()
item.Name = x.ToString()

` 가격 증감 폭을 표현
Dim plusminus As Double = r.[Next](1000, 2000)

Dim pm As Integer = 1

` 가격 증감을 표현
If (x > 17 AndAlso x < 32) OrElse x > 43 Then
pm = -1
Else
pm = 1
End If

Dim boxsize As Integer = 2000

` 오늘의 종가 결정
Dim todayEndVal As Double = (preVal + boxsize * pm)

If pm > 0 Then
If plusminus >= preVal * 2 / 100 Then
item.YValue = todayEndVal
item.YStartValue = item.YValue - boxsize
item.ItemColor = Color.Green
Else
item.ItemColor = Color.Empty
End If
Else
item.YValue = todayEndVal
item.YStartValue = item.YValue + boxsize
item.ItemColor = Color.Red
End If

sr.items.Add(item)

preVal = todayEndVal
Next
sList.SeriesCollection.Add(sr)

Me.hHippoChart3.LegendBox.Visible = False
Me.hHippoChart3.SeriesListDictionary.Add(sList)
Me.hHippoChart3.DrawChart()


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

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

helpdesk@hippochart.com





Copyright © 2009-2018 투데이트레이딩. Inc.  All Rights Reserved.