커뮤니티
고점 저점 표시 등
2015-07-13 12:53:15
150
글번호 88343
안녕하세요. 항상 성실하고 정확한 답변에 감사드립니다.
하기 조건에 대한 수식 부탁드립니다.
1. 최근 5일간 고점, 저점을 챠트에 표시
2. 최근 5일간 고저 폭만큼 당일 시가 기준으로 표시
3. 최근 5일간 고저 1/2폭만큼 당일 시가 기준으로 표시
복합챠트에 적용 가능하도록 부탁드립니다.
감사합니다.
추신 : 하기와 같이 기존에 알려주신 전일 전고저 폭만큼 표시하는건 틱 및 분 설정을 변경할 경우 선이 변화는데 이유를 알수가 없습니다. 이에 대한 수정 사항 및 설명도 부탁드립니다.
var : cnt(0);
Array : HH[10](0),LL[10](0),CC[10](0),OO[10](0);
if Bdate != Bdate[1] Then
{
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if stime >= 090000 and stime <= 151500 Then
{
if H > HH[0] Then
HH[0] = H;
if L < Ll[0] Then
LL[0] = H;
CC[0] = C;
}
var1 = abs(OO[1]-OO[0]);
var2 = HH[1];
var3 = Ll[1];
var4 = var2-var3;
plot1(OO[0],"당시가");
plot2(OO[0]+var4*2,"+폭2");
plot3(OO[0]+var4*1,"+폭1")
plot4(OO[0]-var4*1,"-폭1");
plot5(OO[0]-var4*2,"-폭2");
감사합니다.
답변 1
예스스탁 예스스탁 답변
2015-07-13 14:57:14
안녕하세요
예스스탁입니다.
1-1.
차트에 최소 5일이상 데이터가 있어야 합니다.
아래식은 주간장의 데이터만으로 최근 5일간 최고가와 최저가를 계산합니다.
input : N(5);
var : cnt(0),Hv(0),LV(0);
Array : HH[10](0),LL[10](0),CC[10](0),OO[10](0);
if Bdate != Bdate[1] Then
{
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if stime >= 090000 and stime <= 151500 Then
{
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
}
if HH[N] > 0 Then
{
Hv = HH[1];
Lv = Ll[1];
for cnt = 1 to 5
{
if HH[cnt] > Hv Then
Hv = HH[cnt];
if LL[cnt] < Lv Then
Lv = LL[cnt];
}
plot1(OO[0],"당시가");
plot2(OO[0]+(HV-LV),"+폭");
plot3(OO[0]-(HV-LV) ,"+폭");
plot4(OO[0]+(HV-LV)/2,"+폭절반");
plot5(OO[0]-(HV-LV)/2,"-폭절반");
}
1-2
아래식은 주야간 합친값으로 이전 5일간 최고가와 최저가를 계산합니다.
input : N(5);
var : cnt(0),Hv(0),LV(0);
Hv = dayhigh(1);
Lv = DayLow(1);
for cnt = 1 to 5
{
if dayhigh(cnt) > Hv Then
Hv = daylow(cnt);
if DayLow(cnt) < Lv Then
Lv = DayLow(cnt);
}
plot1(dayopen,"당시가");
plot2(dayopen+(HV-LV),"+폭");
plot3(dayopen-(HV-LV) ,"+폭");
plot4(dayopen+(HV-LV)/2,"+폭절반");
plot5(dayopen-(HV-LV)/2,"-폭절반");
2.
주간장 저가 계산이 잘못되고 있었습니다.
수정한 식입니다.
var : cnt(0);
Array : HH[10](0),LL[10](0),CC[10](0),OO[10](0);
if Bdate != Bdate[1] Then
{
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if stime >= 090000 and stime <= 151500 Then
{
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
}
var1 = abs(OO[1]-OO[0]);
var2 = HH[1];
var3 = LL[1];
var4 = var2-var3;
plot1(OO[0],"당시가");
plot2(OO[0]+var4*2,"+폭2");
plot3(OO[0]+var4*1,"+폭1");
plot4(OO[0]-var4*1,"-폭1");
plot5(OO[0]-var4*2,"-폭2");
즐거운 하루되세요
> 한국사람73 님이 쓴 글입니다.
> 제목 : 고점 저점 표시 등
> 안녕하세요. 항상 성실하고 정확한 답변에 감사드립니다.
하기 조건에 대한 수식 부탁드립니다.
1. 최근 5일간 고점, 저점을 챠트에 표시
2. 최근 5일간 고저 폭만큼 당일 시가 기준으로 표시
3. 최근 5일간 고저 1/2폭만큼 당일 시가 기준으로 표시
복합챠트에 적용 가능하도록 부탁드립니다.
감사합니다.
추신 : 하기와 같이 기존에 알려주신 전일 전고저 폭만큼 표시하는건 틱 및 분 설정을 변경할 경우 선이 변화는데 이유를 알수가 없습니다. 이에 대한 수정 사항 및 설명도 부탁드립니다.
var : cnt(0);
Array : HH[10](0),LL[10](0),CC[10](0),OO[10](0);
if Bdate != Bdate[1] Then
{
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if stime >= 090000 and stime <= 151500 Then
{
if H > HH[0] Then
HH[0] = H;
if L < Ll[0] Then
LL[0] = H;
CC[0] = C;
}
var1 = abs(OO[1]-OO[0]);
var2 = HH[1];
var3 = Ll[1];
var4 = var2-var3;
plot1(OO[0],"당시가");
plot2(OO[0]+var4*2,"+폭2");
plot3(OO[0]+var4*1,"+폭1")
plot4(OO[0]-var4*1,"-폭1");
plot5(OO[0]-var4*2,"-폭2");
감사합니다.