함수설명
특정 그리드의 지정한 셀영역을 제거합니다.
작성방법
Grid_SetTransparency(그리드아이디,시작column,시작row,끝column,끝row)
C
복사
매개변수 설명
•
"그리드아이디": Numeric, 셀을 제거할 그리드 아이디
•
"시작column": Numeric, 제거할 셀영역의 시작 column위치
•
"시작row": Numeric, 제거할 셀영역의 시작 row위치
•
"끝column": Numeric, 제거할 셀영역의 끝 column위치
•
"긑row": Numeric, 제거할 셀영역의 끝 row위치
활용예시
input : ChangeMethod(4); //1:변화율, 2: 포인트, 3: 틱수, 4: n봉 최고가/최저가 갱신
input : Change(20); //ChangeMethod에 따라 변화율, 포인트, 틱수, n봉이 됨
input : UseClose(0); //0이면 고가/저가 사용, 1이면 종가
Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열
Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열
var : cnt(0),Hprice(0),Lprice(0);
var : UpTrend(false),DownTrend(False),Trend(0),ZigZagTL(0),Grid(0);
HPrice = IFf(UseClose == 1 ,C,H);
LPrice = IFf(UseClose == 1 ,C,L);
if Index == 0 Then
{
//초기 최고값
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//초기 최저값
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
}
Else
{
//ChangeMethod에 따른 추세전환 조건
if ChangeMethod == 1 Then
{
UpTrend = HPrice >= LV[0]*(1+Change/100);
DownTrend = LPrice <= HV[0]*(1-Change/100);
}
else if ChangeMethod == 2 Then
{
UpTrend = HPrice >= LV[0]+Change;
DownTrend = LPrice <= HV[0]-Change;
}
else if ChangeMethod == 3 Then
{
UpTrend = HPrice >= LV[0]+Change*PriceScale;
DownTrend = LPrice <= HV[0]-Change*PriceScale;
}
Else
{
UpTrend = HPrice >= Highest(HPrice,Change)[1];
DownTrend = LPrice <= Lowest(LPrice,Change)[1];
}
//상승추세 전환
if trend <= 0 and UpTrend == true Then
{
//추세구분 1
trend = 1;
//과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동
For cnt = 9 DownTo 1
{
HD[cnt] = HD[cnt-1];
HT[cnt] = HT[cnt-1];
HV[cnt] = HV[cnt-1];
}
//0번방에 날짜, 시간, 가격 저장
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//직전 저점에서 현재 고점까지 연결선 출력
ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]);
//색상은 Red
TL_SetColor(ZigZagTL,Red);
//추세선 굵기는 1
TL_SetSize(ZigZagTL,1);
}
Else if trend >= 0 and DownTrend Then//하락추세 전환
{
//추세구분은 -1
trend = -1;
//과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동
For cnt = 9 DownTo 1
{
LD[cnt] = LD[cnt-1];
LT[cnt] = LT[cnt-1];
LV[cnt] = LV[cnt-1];
}
//0번방에 날짜, 시간, 가격 저장
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
//직전 고점에서 현재 저점까지 연결선 출력
ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]);
//색상은 Blue
TL_SetColor(ZigZagTL,Blue);
//굴긱는 1
TL_SetSize(ZigZagTL,1);
}
Else
{
//상승구간
if trend == 1 Then
{
//고점이 갱신되면
if HPrice > HV[0] Then
{
//갱신된 봉의 날짜/시간/가격으로 변경
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//지그재그 추세선의 끝점을 현재봉으로 이동
TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]);
}
}
//하락구간
if trend == -1 Then
{
//저점이 갱신되면
if LPrice < LV[0] Then
{
//갱신된 봉의 날짜/시간/가격으로 변경
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
//지그재그 추세선의 끝점을 현재봉으로 이동
TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]);
}
}
}
}
//2X3그리드 생성
//위치 우측하단,2,3,배경 White,외곽선색 Gray, 외곽선굵기 1, 셀경계선색 Gray, 셀경계선굵기 0
//투명도 150
if Index == 0 Then
{
Grid = Grid_New(7, 2, 3,White, Gray, 1, Gray, 0);
Grid_SetTransparency(Grid,150);
}
if LastBarOnChart == 1 Then
{
//그리드 외관선색
//상승추세이고 고점이 저점대비 1포인트이상 크면 red 아니면 orange
//하락추세이고 저점이 고점대비 1포인트이상 작으면 blue 아니면 cyan
Grid_SetFrameColor(Grid,IFf(trend==1,
iff(HV[0] > LV[0]+1,Red,Orange),
iff(LV[0] < HV[0]-1,Blue,Cyan)));
//그리드 외관선 굵기
//상승추세이고 고점이 저점대비 1포인트이상 크면 2, 아니면 1
//하락추세이고 저점이 고점대비 1포인트이상 작으면 2 아니면 1
Grid_SetFrameWidth(Grid,IFf(trend==1,
iff(HV[0] > LV[0]+1,2,0),
iff(LV[0] < HV[0]-1,2,0)));
//그리드 표시위치
//상승추세이면 우측 상단
//하락추세이면 우측 하단
Grid_SetPosition(Grid,IFf(trend==1,1,7));
//셀 속성 일괄지정
//(0,0)셀에 "고점"텍스트를 표시하고 셀넓이와 높이는 자동
//텍스트색은 black, 배경은 LightRed
Grid_Cell(Grid,0,0,"고점",0,0,BLACK,LightRed);
//(1,0)셀에 고점값을 표시하고 셀넓이와 높이는 자동
//텍스트색은 black, 배경은 White
Grid_Cell(Grid,1,0,NumToStr(HV[0],2),0,0,BLACK,White);
//(0,1)셀에 "저점"텍스트를 표시하고 셀넓이와 높이는 자동
//텍스트색은 black, 배경은 LightBlue
Grid_Cell(Grid,0,1,"저점",0,0,BLACK,LightBlue);
//(1,1)셀에 저점값을 표시하고 셀넓이와 높이는 자동
//텍스트색은 black, 배경은 White
Grid_Cell(Grid,1,1,NumToStr(LV[0],2),0,0,BLACK,White);
//(0,2)셀에 상승추세는 상승, 하락추세는 하락으로 텍스트 출력
if trend == 1 Then
Grid_CellSetText(Grid,0,2,"상승");
else
Grid_CellSetText(Grid,0,2,"하락");
//(0,2)셀의 높이는 텍스트 크기에 맞춰 자동
Grid_CellSetHeight(Grid,0,2,0);
//(0,2)셀의 넓이는 표시영역이 자동
Grid_CellSetWidth(Grid,0,2,0);
//(0,2)셀의 배경색은 상승추세는 LightRed 하락추세는 LightBlue
Grid_CellSetBackColor(Grid,0,2,iff(Trend==1,LightRed,LightBlue));
//(0,2)셀의 텍스트 색상은 상승추세는 Red 하락추세는 Blue
Grid_CellSetTextColor(Grid,0,2,iff(Trend==1,Red,Blue));
//(0,2)셀의 텍스트 수평정렬은 중간
Grid_CellSetTextHAlign(Grid,0,2,2);
//(0,2)셀의 텍스트 수직정렬은 중간
Grid_CellSetTextVAlign(Grid,0,2,2);
//(0,2)셀의 텍스트 굵기는 굵게 지정
Grid_CellSetTextBold(Grid,0,2,true);
//(0,2)셀의 텍스트 크기는 12
Grid_CellSetTextSize(Grid,0,2,12);
//(1,2)셀에 고저점 차이값을 표시하고 셀넓이와 높이는 자동
// 텍스트색은 black, 배경은 White
Grid_Cell(Grid,1,2,NumToStr(HV[0]-LV[0],2),0,0,BLACK,White);
}
C
복사
뒤로가기는 좌측상단의 목차 버튼을 눌러주세요.