커뮤니티
전전일_전일 중심선 수정
2017-08-31 12:15:27
128
글번호 112377
항상 감사드립니다
1_ 아래 54602번 [전전일-전일 중심선] 지표식에 대한 주석 부탁드립니다
2_전전일-전일 중심선 라인의 고가 또는 저가를 갱신하지 못할시 계속연장되도록 셋팅되어
있으나 익일 고가또는 저가를 갱신순간 라인이 3일치에서 2일치로 변환되는것 같습니다
당일기준 전전일-전일 고가또는 저가 미갱신시 익일에도 기존의 라인을 그대로 연장표시하고
익일기준 전전일-전일 고점~저점라인 표시
이경우 전전전일~전일(3일간) 의 라인이 표시되며(색상은 블랙)
전전일 ~전일(2일간)의 라인은 추가표시되어 라인이 지표식이 2개로 늘어남.
(색상은 화이트)
*** 당일 전전일~전일 고가 또는 저가를 갱신못할경우 라인을 익일까지 계속연장/
고점또는 저점을 갱신하는 날까지 표시 /그이후는 표시안함
*** 라인변환기준일이 당일로 당일에 갱신못할경우 연장표시함.
감사합니다
답변 1
예스스탁 예스스탁 답변
2017-08-31 13:47:50
안녕하세요
예스스탁입니다.
1
올려드린 식은 당일 무조건 전일과전전일 최고가/최조가를 기준으로
전전일 부터 그리게 하는 식입니다.
당일값으로 갱신하거나 하는 부분은 없습니다.
var : cnt(0),tl1(0),tl2(0),tl3(0),tl4(0),tl5(0);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0);
Array : HH[10](0),LL[10](0),DD[10](0),TT[10](0);
#영업일 변경
if Bdate != Bdate[1] Then{
LL[0] = L;#당일저가 초기값
HH[0] = H;#당일고가 초기값
DD[0] = sdate;#첫봉 날짜
TT[0] = stime;#첫봉시간
#이전값을 다음배열방으로 순차적으로 옮김
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
DD[cnt] = DD[cnt-1][1];
TT[cnt] = TT[cnt-1][1];
}
var1 = max(HH[1],HH[2]);#전일,전전일중 최고값
var2 = min(LL[1],LL[2]);#전일,전전일중 최저값
var3 = var1-var2;#두값의 차이
value1 = var1;#최고
value2 = var2+var3*0.75; #75%
value3 = var2+var3*0.50; #50%
value4 = var2+var3*0.25; #25%
value5 = var2;#최저
#전일과 전전일 값이 있을때만 계산
if HH[2] > 0 and LL[2] > 0 then{
#이전에 그어진 추세선이 있으면 삭제
TL_delete(TL1);
TL_delete(TL2);
TL_delete(TL3);
TL_delete(TL4);
TL_delete(TL5);
#2일전 첫봉부터 현재까지 최고값 수평으로 그림
TL1 = TL_new(DD[2],TT[2],value1,sdate,stime,value1);
#2일전 첫봉부터 현재까지 75%값 수평으로 그림
TL2 = TL_new(DD[2],TT[2],value2,sdate,stime,value2);
#2일전 첫봉부터 현재까지 50%값 수평으로 그림
TL3 = TL_new(DD[2],TT[2],value3,sdate,stime,value3);
#2일전 첫봉부터 현재까지 25%값 수평으로 그림
TL4 = TL_new(DD[2],TT[2],value4,sdate,stime,value4);
#2일전 첫봉부터 현재까지 최저값 수평으로 그림
TL5 = TL_new(DD[2],TT[2],value5,sdate,stime,value5);
#모두 점그래프로 지정
TL_setStyle(TL1,3);
TL_setStyle(TL2,3);
TL_setStyle(TL3,3);
TL_setStyle(TL4,3);
TL_setStyle(TL5,3);
#색상은 모두 빨강으로 지정
TL_setColor(TL1,red);
TL_setColor(TL2,red);
TL_setColor(TL3,red);
TL_setColor(TL4,red);
TL_setColor(TL5,red);
#굵기는 모두 0으로 지정(0~8 정수로만 지정가능),높을수록 굵어짐
TL_setsize(TL1,0);
TL_setsize(TL2,0);
TL_setsize(TL3,0);
TL_setsize(TL4,0);
TL_setsize(TL5,0);
#우측으로 모두 연장
TL_setextright(tl1,true);
TL_setextright(tl2,true);
TL_setextright(tl3,true);
TL_setextright(tl4,true);
TL_setextright(tl5,true);
#이전 출력된 텍스트가 있으면 모두 삭제
text_delete(tx1);
text_delete(tx2);
text_delete(tx3);
text_delete(tx4);
text_delete(tx5);
#각 라인이름 및 값 텍스트로 출력
tx1 = text_new(sdate,stime,value1,"100% "+NumToStr(value1,2));
tx2 = text_new(sdate,stime,value2,"75% "+NumToStr(value2,2));
tx3 = text_new(sdate,stime,value3,"50% "+NumToStr(value3,2));
tx4 = text_new(sdate,stime,value4,"25% "+NumToStr(value4,2));
tx5 = text_new(sdate,stime,value5,"0% "+NumToStr(value5,2));
}
}
#당일 새로운 고가가 발생하면 값갱신
if H > HH[0] Then
HH[0] = H;
#당일 새로운 저가 바랫ㅇ하면 값갱신
if L < LL[0] Then
LL[0] = L;
#각 텍스트를 차트 마지막완성봉 위치로 옮김
text_setlocation(tx1,sdate,stime,value1);
text_setlocation(tx2,sdate,stime,value2);
text_setlocation(tx3,sdate,stime,value3);
text_setlocation(tx4,sdate,stime,value4);
text_setlocation(tx5,sdate,stime,value5);
2
갱신 부분은 정확히 내용 판단이 되지 않습니다.
업무상 2번 내용까지는 시간이 많이 소모되어 추가해 드릴수 없습니다.
아래 수정된 내용 주석 참고하셔서 식 수정보완해 사용하시기 바랍니다.
3
var : cnt(0),tl1(0),tl2(0),tl3(0),tl4(0),tl5(0);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0);
Array : HH[10](0),LL[10](0),DD[10](0),TT[10](0);
#영업일 변경
if Bdate != Bdate[1] Then{
LL[0] = L;#당일저가 초기값
HH[0] = H;#당일고가 초기값
DD[0] = sdate;#첫봉 날짜
TT[0] = stime;#첫봉시간
#이전값을 다음배열방으로 순차적으로 옮김
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
DD[cnt] = DD[cnt-1][1];
TT[cnt] = TT[cnt-1][1];
}
if HH[2] > 0 and LL[2] > 0 Then{
#최초는 전일,전전일 중 최고가/최저가
if var1 == 0 and var2 == 0 Then{
var1 = max(HH[1],HH[2]);
var2 = min(LL[1],LL[2]);
}
#두번째 날부터
if var1[1] > 0 and var2[1] > 0 Then{
#전일고가가 기존 var1보다 크거나
#전일저가가 기존 var2보다 작으면
#다시 전일과 전전일 최고값/최저값으로 변경
if HH[1] > var1[1] or LL[1] < var2[1] Then{
var1 = max(HH[1],HH[2]);
var2 = min(LL[1],LL[2]);
}
Else{#전일 갱신이 없으면 기존값 그대로 사용
var1 = var1[1];
var2 = var2[1];
}
}
var3 = var1-var2;#두값의 차이
value1 = var1;#최고
value2 = var2+var3*0.75; #75%
value3 = var2+var3*0.50; #50%
value4 = var2+var3*0.25; #25%
value5 = var2;#최저
#이전에 그어진 추세선이 있으면 삭제
TL_delete(TL1);
TL_delete(TL2);
TL_delete(TL3);
TL_delete(TL4);
TL_delete(TL5);
#2일전 첫봉부터 현재까지 최고값 수평으로 그림
TL1 = TL_new(DD[2],TT[2],value1,sdate,stime,value1);
#2일전 첫봉부터 현재까지 75%값 수평으로 그림
TL2 = TL_new(DD[2],TT[2],value2,sdate,stime,value2);
#2일전 첫봉부터 현재까지 50%값 수평으로 그림
TL3 = TL_new(DD[2],TT[2],value3,sdate,stime,value3);
#2일전 첫봉부터 현재까지 25%값 수평으로 그림
TL4 = TL_new(DD[2],TT[2],value4,sdate,stime,value4);
#2일전 첫봉부터 현재까지 최저값 수평으로 그림
TL5 = TL_new(DD[2],TT[2],value5,sdate,stime,value5);
#모두 점그래프로 지정
TL_setStyle(TL1,3);
TL_setStyle(TL2,3);
TL_setStyle(TL3,3);
TL_setStyle(TL4,3);
TL_setStyle(TL5,3);
#색상은 모두 빨강으로 지정
TL_setColor(TL1,red);
TL_setColor(TL2,red);
TL_setColor(TL3,red);
TL_setColor(TL4,red);
TL_setColor(TL5,red);
#굵기는 모두 0으로 지정(0~8 정수로만 지정가능),높을수록 굵어짐
TL_setsize(TL1,0);
TL_setsize(TL2,0);
TL_setsize(TL3,0);
TL_setsize(TL4,0);
TL_setsize(TL5,0);
#우측으로 모두 연장
TL_setextright(tl1,true);
TL_setextright(tl2,true);
TL_setextright(tl3,true);
TL_setextright(tl4,true);
TL_setextright(tl5,true);
#이전 출력된 텍스트가 있으면 모두 삭제
text_delete(tx1);
text_delete(tx2);
text_delete(tx3);
text_delete(tx4);
text_delete(tx5);
#각 라인이름 및 값 텍스트로 출력
tx1 = text_new(sdate,stime,value1,"100% "+NumToStr(value1,2));
tx2 = text_new(sdate,stime,value2,"75% "+NumToStr(value2,2));
tx3 = text_new(sdate,stime,value3,"50% "+NumToStr(value3,2));
tx4 = text_new(sdate,stime,value4,"25% "+NumToStr(value4,2));
tx5 = text_new(sdate,stime,value5,"0% "+NumToStr(value5,2));
}
}
#당일 새로운 고가가 발생하면 값갱신
if H > HH[0] Then
HH[0] = H;
#당일 새로운 저가 바랫ㅇ하면 값갱신
if L < LL[0] Then
LL[0] = L;
#각 텍스트를 차트 마지막완성봉 위치로 옮김
text_setlocation(tx1,sdate,stime,value1);
text_setlocation(tx2,sdate,stime,value2);
text_setlocation(tx3,sdate,stime,value3);
text_setlocation(tx4,sdate,stime,value4);
text_setlocation(tx5,sdate,stime,value5);
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 전전일_전일 중심선 수정
> 항상 감사드립니다
1_ 아래 54602번 [전전일-전일 중심선] 지표식에 대한 주석 부탁드립니다
2_전전일-전일 중심선 라인의 고가 또는 저가를 갱신하지 못할시 계속연장되도록 셋팅되어
있으나 익일 고가또는 저가를 갱신순간 라인이 3일치에서 2일치로 변환되는것 같습니다
당일기준 전전일-전일 고가또는 저가 미갱신시 익일에도 기존의 라인을 그대로 연장표시하고
익일기준 전전일-전일 고점~저점라인 표시
이경우 전전전일~전일(3일간) 의 라인이 표시되며(색상은 블랙)
전전일 ~전일(2일간)의 라인은 추가표시되어 라인이 지표식이 2개로 늘어남.
(색상은 화이트)
*** 당일 전전일~전일 고가 또는 저가를 갱신못할경우 라인을 익일까지 계속연장/
고점또는 저점을 갱신하는 날까지 표시 /그이후는 표시안함
*** 라인변환기준일이 당일로 당일에 갱신못할경우 연장표시함.
감사합니다
다음글
이전글