예스스탁
예스스탁 답변
2024-07-30 10:55:24
안녕하세요
예스스탁입니다.
1
input : 타주기분(120);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
Array : TT[50](0),hh[50](0),ll[50](0);;
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
#120분 단위 수직선
TL_New(sDate,sTime,0,sDate,sTime,999999999);
#120분 단위 Ticks와 최고가 죄저가
for cnt = 49 downto 1
{
TT[cnt] = TT[cnt-1];
HH[cnt] = HH[cnt-1];
LL[cnt] = LL[cnt-1];
}
hh[0] = h;
ll[0] = l;
}
if h > hh[0] Then
hh[0] = h;
if L < ll[0] Then
ll[0] = l;
TT[0] = TT[0]+Ticks;
if TT[1] > 20000 and TT[1] < 50000 then
{
var1 = hh[1];
Var2 = ll[1];
}
if var1 > 0 and Var2 > 0 Then
{
plot1(var1);
plot2(Var2);
}
}
2
input : N(3);
var : cnt(0),hht(0),hhth(0),llt(0),llth(0);
Array : ht[10](0),hth[10](0),lt[10](0),lth[10](0);
if Bdate != Bdate[1] Then
{
For cnt = 9 DownTo 1
{
ht[cnt] = ht[cnt-1];
hth[cnt] = hth[cnt-1];
lt[cnt] = lt[cnt-1];
lth[cnt] = lth[cnt-1];
}
ht[0] = Ticks;
hth[0] = h;
lt[0] = Ticks;
lth[0] = h;
}
Else
{
if Ticks > ht[0] Then
{
ht[0] = Ticks;
hth[0] = h;
}
if Ticks < lt[0] Then
{
lt[0] = Ticks;
lth[0] = h;
}
}
Plot1(hth[0],"당일최고틱수고가");
Plot2(lth[0],"당일최저틱수고가");
if ht[n-1] > 0 and Lt[n-1] > 0 Then
{
hht = 0;
hhth = 0;
llt = 0;
llth = 0;
For cnt = 0 to n-1
{
if hht == 0 or (hht > 0 and ht[cnt] > hht) Then
{
hht = ht[cnt];
hhth = hth[cnt];
}
if llt == 0 or (llt > 0 and lt[cnt] < llt) Then
{
llt = lt[cnt];
llth = lth[cnt];
}
}
Plot3(hhth,"n일최고틱수고가");
Plot4(llth,"n일최저틱수고가");
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 88337번 글에 대한 추가 내용입니다
> 답변해주신 내용:
해당 내용은 가능하지 않습니다.
차트주기보다 낮은 주기로 랭귀지는 어떤 값을 계산하지 못합니다.
즉 30분 차트에서 10분 단위로 체크하게 할 수 없습니다.
재질문:
->
*차트주기보다 낮은 주기로는 계산이 안되면 반대로 30분 차트에서 120분 단위로 틱을 계산 하는건 안되나요?이걸 구현하는 기능이 "타주기 참조 "기능인가요???
질문을 다시 올리겠습니다 :
1. 30분봉에서 보고있을때, 2. 하루를 120분 단위로 나눠서
3. 120분동안 체결건수 (틱)가 20000개 이하일때, 50000개 이상일때 그 120분동안의 최고가 (최저가)를 plot하는 식이 가능할까요?? 수식 결과를 확인해보고 싶은데 차트에 120분단위로 수직선을 나타내는 수식도 있을까요??
*그리고 30분 차트에서 틱을 분석할때 "하루동안", 그리고 "3일동안" (2개의 개별 식) 가장적은 틱이 발생한 봉과 가장 많은 틱이 발생한 봉을 구해서 각각의 고점을 나타내는 수식이 가능할까요?
*****
원 질문:
1. 30분봉에서 보고있을때, 2. 하루를 10분 단위로 나눠서
3. 10분동안 체결건수 (틱)가 500개 이하일때, 1000개 이상일때 그 10분동안의 최고가 (최저가)를 plot하는 식이 가능할까요?? 수식 결과를 확인해보고 싶은데 차트에 10분단위로 수직선을 나타내는 수식도 있을까요??
그리고 "10분 단위"로 틱을 분석할때 "하루동안" 가장 적은 틱이 발생한 구간과 가장 많은 틱이 발생한 구간을 구해서 틱 갯수를 나타낼 수 있을까요?
답변 감사드립니다
테스트를 해봤는데 원하는 결과가 잘 안나와서요
**해당 수식은 30분 차트에서만 해당되는건가요? 10분이나 60분에서는 적용이 안되는지요?? 참고로 테스트는 30분봉에서 했습니다
첨부 파일 사진을 보시면 30분차트와 120봉 차트 인데요
120봉 차트에서 표시한 부분을 보시면 틱이 5만개 이상이고 그봉에서 고가가 3180원인데 30분 봉에서는 그 고가가 표현이 안됩니다
최저가도 마찬가지고요.
한번 검토 부탁드릴게요
그리고 첫번째 식에서는 왜 array 를 50개로 잡고
두번째 식에서 10개로 설정하는지가 궁금합니다
여러가지 보면서 이해해보려고 하는데 어렵네요 ㅜㅡ
array 외에도 수식에 간단한 주석을 달아주셨으면 이해에 도움이 될거 같습니다. 다 하기에는 시간상 힘드시면
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
이 부분만이라도 좀 부탁드려요 하나하나씩 알아가려고 합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 88337번 글에 대한 추가 내용입니다
> 안녕하세요
예스스탁입니다.
1
input : 타주기분(120);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
Array : TT[50](0),hh[50](0),ll[50](0);;
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
#120분 단위 수직선
TL_New(sDate,sTime,0,sDate,sTime,999999999);
#120분 단위 Ticks와 최고가 죄저가
for cnt = 49 downto 1
{
TT[cnt] = TT[cnt-1];
HH[cnt] = HH[cnt-1];
LL[cnt] = LL[cnt-1];
}
hh[0] = h;
ll[0] = l;
}
if h > hh[0] Then
hh[0] = h;
if L < ll[0] Then
ll[0] = l;
TT[0] = TT[0]+Ticks;
if TT[1] > 20000 and TT[1] < 50000 then
{
var1 = hh[1];
Var2 = ll[1];
}
if var1 > 0 and Var2 > 0 Then
{
plot1(var1);
plot2(Var2);
}
}
2
input : N(3);
var : cnt(0),hht(0),hhth(0),llt(0),llth(0);
Array : ht[10](0),hth[10](0),lt[10](0),lth[10](0);
if Bdate != Bdate[1] Then
{
For cnt = 9 DownTo 1
{
ht[cnt] = ht[cnt-1];
hth[cnt] = hth[cnt-1];
lt[cnt] = lt[cnt-1];
lth[cnt] = lth[cnt-1];
}
ht[0] = Ticks;
hth[0] = h;
lt[0] = Ticks;
lth[0] = h;
}
Else
{
if Ticks > ht[0] Then
{
ht[0] = Ticks;
hth[0] = h;
}
if Ticks < lt[0] Then
{
lt[0] = Ticks;
lth[0] = h;
}
}
Plot1(hth[0],"당일최고틱수고가");
Plot2(lth[0],"당일최저틱수고가");
if ht[n-1] > 0 and Lt[n-1] > 0 Then
{
hht = 0;
hhth = 0;
llt = 0;
llth = 0;
For cnt = 0 to n-1
{
if hht == 0 or (hht > 0 and ht[cnt] > hht) Then
{
hht = ht[cnt];
hhth = hth[cnt];
}
if llt == 0 or (llt > 0 and lt[cnt] < llt) Then
{
llt = lt[cnt];
llth = lth[cnt];
}
}
Plot3(hhth,"n일최고틱수고가");
Plot4(llth,"n일최저틱수고가");
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 88337번 글에 대한 추가 내용입니다
> 답변해주신 내용:
해당 내용은 가능하지 않습니다.
차트주기보다 낮은 주기로 랭귀지는 어떤 값을 계산하지 못합니다.
즉 30분 차트에서 10분 단위로 체크하게 할 수 없습니다.
재질문:
->
*차트주기보다 낮은 주기로는 계산이 안되면 반대로 30분 차트에서 120분 단위로 틱을 계산 하는건 안되나요?이걸 구현하는 기능이 "타주기 참조 "기능인가요???
질문을 다시 올리겠습니다 :
1. 30분봉에서 보고있을때, 2. 하루를 120분 단위로 나눠서
3. 120분동안 체결건수 (틱)가 20000개 이하일때, 50000개 이상일때 그 120분동안의 최고가 (최저가)를 plot하는 식이 가능할까요?? 수식 결과를 확인해보고 싶은데 차트에 120분단위로 수직선을 나타내는 수식도 있을까요??
*그리고 30분 차트에서 틱을 분석할때 "하루동안", 그리고 "3일동안" (2개의 개별 식) 가장적은 틱이 발생한 봉과 가장 많은 틱이 발생한 봉을 구해서 각각의 고점을 나타내는 수식이 가능할까요?
*****
원 질문:
1. 30분봉에서 보고있을때, 2. 하루를 10분 단위로 나눠서
3. 10분동안 체결건수 (틱)가 500개 이하일때, 1000개 이상일때 그 10분동안의 최고가 (최저가)를 plot하는 식이 가능할까요?? 수식 결과를 확인해보고 싶은데 차트에 10분단위로 수직선을 나타내는 수식도 있을까요??
그리고 "10분 단위"로 틱을 분석할때 "하루동안" 가장 적은 틱이 발생한 구간과 가장 많은 틱이 발생한 구간을 구해서 틱 갯수를 나타낼 수 있을까요?