예스스탁
예스스탁 답변
2022-03-10 11:08:09
안녕하세요
예스스탁입니다.
input : 타주기분1(30),타주기분2(40),타주기분3(50),타주기분4(60),n(10),nth(5);
var : SS(0),DD(0),TM(0),cnt(0);
var : i1(0),i2(0),tempmax(0),tempi(0);
var : TF1(0),O1(0),H1(0),L1(0),C1(0),idx1(0);
var : TF2(0),O2(0),H2(0),L2(0),C2(0),idx2(0);
var : TF3(0),O3(0),H3(0),L3(0),C3(0),idx3(0);
var : TF4(0),O4(0),H4(0),L4(0),C4(0),idx4(0);
Array : R1[200](0),M1[200](0),D1[100](0);
Array : R2[200](0),M2[200](0),D2[100](0);
Array : R3[200](0),M3[200](0),D3[100](0);
Array : R4[200](0),M4[200](0),D4[100](0);
Array : tempR1[200](0),tempM1[200](0),NTHVALUE1[200](0);
Array : tempR2[200](0),tempM2[200](0),NTHVALUE2[200](0);
Array : tempR3[200](0),tempM3[200](0),NTHVALUE3[200](0);
Array : tempR4[200](0),tempM4[200](0),NTHVALUE4[200](0);
if Bdate != Bdate[1] Then
{
SS = TimeToMinutes(stime);
DD = sdate;
}
if DD > 0 then
{
if sdate == DD Then
TM = TimeToMinutes(stime)-SS;
Else
TM = TimeToMinutes(stime)+1440-SS;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
idx1 = idx1+1;
if Bdate != Bdate[1] Then
{
D1[0] = idx1;
for cnt = 1 to 99
{
D1[cnt] = D1[cnt-1][1];
}
}
O1 = O;
H1 = H;
L1 = L;
R1[0] = 0;
M1[0] = 0;
for cnt = 1 to 199
{
R1[cnt] = R1[cnt-1][1];
M1[cnt] = M1[cnt-1][1];
tempR1[cnt] = R1[cnt];
tempM1[cnt] = M1[cnt];
}
}
if H > H1 Then
H1 = H;
if L < L1 Then
L1 = L;
C1 = C;
R1[0] = abs(O1-C1);
M1[0] = (O1+C1)/2;
tempR1[0] = R1[0];
tempM1[0] = M1[0];
if D1[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to idx1-D1[n]
{
if (tempR1[i2] >= tempmax ) then
{
tempmax = tempR1[i2];
tempi = i2;
}
}
NTHVALUE1[i1] = tempM1[tempi];
tempR1[tempi] = -1;
}
}
Plot1(NTHVALUE1[1]);
Plot2(NTHVALUE1[2]);
Plot3(NTHVALUE1[3]);
Plot4(NTHVALUE1[4]);
Plot5(NTHVALUE1[5]);
}
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분2) or
(Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then
{
idx2 = idx2+1;
if Bdate != Bdate[1] Then
{
D2[0] = idx2;
for cnt = 1 to 99
{
D2[cnt] = D2[cnt-1][1];
}
}
O2 = O;
H2 = H;
L2 = L;
R2[0] = 0;
M2[0] = 0;
for cnt = 1 to 199
{
R2[cnt] = R2[cnt-1][1];
M2[cnt] = M2[cnt-1][1];
tempR2[cnt] = R2[cnt];
tempM2[cnt] = M2[cnt];
}
}
if H > H2 Then
H2 = H;
if L < L2 Then
L2 = L;
C2 = C;
R2[0] = abs(O2-C2);
M2[0] = (O2+C2)/2;
tempR2[0] = R2[0];
tempM2[0] = M2[0];
if D2[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to idx2-D2[n]
{
if (tempR2[i2] >= tempmax ) then
{
tempmax = tempR2[i2];
tempi = i2;
}
}
NTHVALUE2[i1] = tempM2[tempi];
tempR2[tempi] = -1;
}
}
Plot6(NTHVALUE2[1]);
Plot7(NTHVALUE2[2]);
Plot8(NTHVALUE2[3]);
Plot9(NTHVALUE2[4]);
Plot10(NTHVALUE2[5]);
}
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or
(Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or
(Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then
{
idx3 = idx3+1;
if Bdate != Bdate[1] Then
{
D3[0] = idx3;
for cnt = 1 to 99
{
D3[cnt] = D3[cnt-1][1];
}
}
O3 = O;
H3 = H;
L3 = L;
R3[0] = 0;
M3[0] = 0;
for cnt = 1 to 199
{
R3[cnt] = R3[cnt-1][1];
M3[cnt] = M3[cnt-1][1];
tempR3[cnt] = R3[cnt];
tempM3[cnt] = M3[cnt];
}
}
if H > H3 Then
H3 = H;
if L < L3 Then
L3 = L;
C3 = C;
R3[0] = abs(O3-C3);
M3[0] = (O3+C3)/2;
tempR3[0] = R3[0];
tempM3[0] = M3[0];
if D3[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to idx3-D3[n]
{
if (tempR3[i2] >= tempmax ) then
{
tempmax = tempR3[i2];
tempi = i2;
}
}
NTHVALUE3[i1] = tempM3[tempi];
tempR3[tempi] = -1;
}
}
Plot11(NTHVALUE3[1]);
Plot12(NTHVALUE3[2]);
Plot13(NTHVALUE3[3]);
Plot14(NTHVALUE3[4]);
Plot15(NTHVALUE3[5]);
}
TF4 = TM%타주기분4;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분4 > 1 and TF4 < TF4[1]) or
(Bdate == Bdate[1] and 타주기분4 > 1 and TM >= TM[1]+타주기분4) or
(Bdate == Bdate[1] and 타주기분4 == 1 and TM > TM[1]) Then
{
idx4 = idx4+1;
if Bdate != Bdate[1] Then
{
D4[0] = idx4;
for cnt = 1 to 99
{
D4[cnt] = D4[cnt-1][1];
}
}
O4 = O;
H4 = H;
L4 = L;
R4[0] = 0;
M4[0] = 0;
for cnt = 1 to 199
{
R4[cnt] = R4[cnt-1][1];
M4[cnt] = M4[cnt-1][1];
tempR4[cnt] = R4[cnt];
tempM4[cnt] = M4[cnt];
}
}
if H > H4 Then
H4 = H;
if L < L4 Then
L4 = L;
C4 = C;
R4[0] = abs(O4-C4);
M4[0] = (O4+C4)/2;
tempR4[0] = R4[0];
tempM4[0] = M4[0];
if D4[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to idx4-D4[n]
{
if (tempR4[i2] >= tempmax ) then
{
tempmax = tempR4[i2];
tempi = i2;
}
}
NTHVALUE4[i1] = tempM4[tempi];
tempR4[tempi] = -1;
}
}
Plot16(NTHVALUE4[1]);
Plot17(NTHVALUE4[2]);
Plot18(NTHVALUE4[3]);
Plot19(NTHVALUE4[4]);
Plot20(NTHVALUE4[5]);
}
}
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 문의드립니다!
> 안녕하세요!
아래수식의 "타주기분(30)"으로 설정되어있는 부분과 관련해서...
이 30을 다른 수치로도 바꾸어서 한수식에서 동시에 여러개의 선이 표현되도록 추가하고싶습니다
예를들어 현재 설정된 30과 함께 40, 50, 60 등의 조건을 추가하여 <*한개의 수식>에서 각각의 조건에 맞는 선이
모두 나타나도록하고싶습니다
현재수식을 각각 다르게 설정하여 따로따로 적용하려니 너무많은 지표가 필요하게되네요
(* 제가 사용하는 챠트가 좀 많은편이라서 더욱더 그런거같습니다)
* 위 예시대로 4개(30,40,50,60)의 조건을 적용할수있도록만 작성 부탁드립니다
매번 친절히 도와주심에 진심으로 감사드립니다!!!
-----------------------------------------------------------------------------------
input : 타주기분(30),n(10),nth(5);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),OO(0),HH(0),LL(0),CC(0);
var : ii(0),i1(0),i2(0),tempmax(0),tempi(0);
Array : RR[200](0),MM[200](0),DI[50](0);
Array : tempRR[200](0),tempMM[200](0),NTHVALUE[200](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
{
ii = ii+1;
if Bdate != Bdate[1] Then
{
DI[0] = ii;
for cnt = 1 to 49
{
Di[cnt] = Di[cnt-1][1];
}
}
OO = O;
HH = H;
LL = L;
RR[0] = 0;
MM[0] = 0;
for cnt = 1 to 199
{
RR[cnt] = RR[cnt-1][1];
MM[cnt] = MM[cnt-1][1];
tempRR[cnt] = RR[cnt];
tempMM[cnt] = MM[cnt];
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = C;
RR[0] = abs(OO-CC);
MM[0] = (OO+CC)/2;
tempRR[0] = RR[0];
tempMM[0] = MM[0];
if D1[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to ii-DI[n]
{
if (tempRR[i2] >= tempmax ) then
{
tempmax = tempRR[i2];
tempi = i2;
}
}
NTHVALUE[i1] = tempMM[tempi];
tempRR[tempi] = -1;
}
}
Plot1(NTHVALUE[1]);
Plot2(NTHVALUE[2]);
Plot3(NTHVALUE[3]);
Plot4(NTHVALUE[4]);
Plot5(NTHVALUE[5]);
}
}