9:00부터 t1(103000) 두 시간 사이의 highest-lowest 진폭을 J1
t1(103000) 부터 t2 (120000) 까지의 highest-lowest 진폭을 J2
J1 의 n 거래일중에서 최대값을 뺀 n-1 거래일의 평균값 avgJ1
J2 의 n 거래일중에서 최대값을 뺀 n-1 거래일의 평균값 avgJ2
최종 , plot1(avgJ1/avgJ2) 를 그리는게 목표입니다.
부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2022-09-20 09:22:17
안녕하세요
예스스탁입니다.
input : t1(103000),t2(120000),n(10);
Array : J1[100](-1),J2[100](-1);
var : Tcond1(False),Tcond2(False);
var : cnt(0), h1(0),l1(0),h2(0),l2(0);
var : sum1(0),avgj1(0),sum2(0),avgj2(0);
if (sdate != sdate[1] and stime >= t2) or
(sdate == sdate[1] and stime >= t2 and stime[1] < t2) Then
Tcond2 = False;
if (sdate != sdate[1] and stime >= t1) or
(sdate == sdate[1] and stime >= t1 and stime[1] < t1) Then
{
Tcond1 = False;
Tcond2 = true;
h2 = h;
l2 = l;
For cnt = 99 DownTo 1
{
j2[cnt] = j2[cnt-1];
}
j2[0] = h2-l2;
}
if Bdate != Bdate[1] Then
{
tcond1 = true;
h1 = h;
l1 = l;
For cnt = 99 DownTo 1
{
j1[cnt] = j1[cnt-1];
}
j1[0] = h1-l1;
}
if tcond1 == true Then
{
if h > h1 Then
h1 = h;
if l < l1 Then
l1 = l;
j1[0] = h1-l1;
}
if tcond2 == true Then
{
if h > h2 Then
h2 = h;
if l < l2 Then
l2 = l;
j2[0] = h2-l2;
}
if j1[n-1] >= 0 Then
{
sum1 = 0;
var1 = 0;
For cnt = 0 to n-1
{
sum1 = sum1 + j1[cnt];
if j1[cnt] > var1 Then
var1 = j1[cnt];
}
avgj1 = (sum1-var1)/(n-1);
}
if j2[n-1] >= 0 Then
{
sum2 = 0;
var2 = 0;
For cnt = 0 to n-1
{
sum2 = sum2 + j2[cnt];
if j2[cnt] > var2 Then
var2 = j2[cnt];
}
avgj2 = (sum2-var2)/(n-1);
}
if j1[n-1] >= 0 and j2[n-1] >= 0 Then
{
plot1(avgJ1/avgJ2);
}
즐거운 하루되세요
> 캣피쉬 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
>
9:00부터 t1(103000) 두 시간 사이의 highest-lowest 진폭을 J1
t1(103000) 부터 t2 (120000) 까지의 highest-lowest 진폭을 J2
J1 의 n 거래일중에서 최대값을 뺀 n-1 거래일의 평균값 avgJ1
J2 의 n 거래일중에서 최대값을 뺀 n-1 거래일의 평균값 avgJ2
최종 , plot1(avgJ1/avgJ2) 를 그리는게 목표입니다.
부탁드립니다.
감사합니다.