커뮤니티
수식첨가부탁드립니다
2018-05-16 18:42:37
153
글번호 118963
#,아래수식에서 파동의 1/2일선을 우측 그리기수식을 추가 삽입하려고, var;TL2 추가하고
TL2 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); 수식을 추가하니까
배열요소값이 와야한다는 오류가 뜨내요.. 도움부탁드립니다.
#,제가 원하는식은 현재 수식 조건에다가 파동의 중심값을 추가로 오른쪽 그리기로 하는
식입니다.
Input : af(0.02), maxAF(0.2),n(5);
var : T(0),TL1(0),cnt(0);
Array : HH[10](0),HD[10](0),HT[10](0);
Array : LL[10](0),LD[10](0),LT[10](0);
Array : upv[10](0),dnv[10](0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HD[0] = sdate;
HT[0] = stime;
HH[0] = H;
for cnt = 1 to 9
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
TL_Delete(upv[cnt]);
if HH[cnt] > 0 and cnt < N Then
{
upv[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],sdate,stime,HH[cnt]);
TL_SetExtRight(upv[cnt],true);
TL_SetColor(tl1,GRAY);
TL_SetColor(upv[cnt],RED);
TL_SetStyle(upv[cnt],3);
}
}
if LL[0] > 0 Then
{
TL1 = TL_new(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]);
}
TL_Delete(upv[0]);
upv[0] = TL_New(sdate[1],stime[1],HH[0],HD[0],HT[0],HH[0]);
TL_SetExtRight(upv[0],true);
}
if CrossDown(c,var1) Then
{
T = -1;
LD[0] = sdate;
LT[0] = stime;
LL[0] = L;
for cnt = 1 to 9
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
TL_Delete(dnv[cnt]);
if LL[cnt] > 0 and cnt < N Then
{
dnv[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],sdate,stime,LL[cnt]);
TL_SetExtRight(dnv[cnt],true);
TL_SetColor(tl1,GRAY);
TL_SetColor(dnv[cnt],BLACK);
TL_SetStyle(dnv[cnt],3);
}
}
if HH[0] > 0 Then
{
TL1 = TL_new(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]);
}
TL_Delete(dnv[0]);
dnv[0] = TL_New(sdate[1],stime[1],LL[0],LD[0],LT[0],LL[0]);
TL_SetExtRight(dnv[0],true);
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
TL_SetEnd(TL1,HD[0],HT[0],HH[0]);
}
TL_Delete(upv[0]);
upv[0] = TL_New(HD[0],HT[0],HH[0],sdate,stime,HH[0]);
TL_SetExtRight(upv[0],true);
TL_SetColor(tl1,YELLOW);
TL_SetColor(upv[0],MAGENTA);
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
TL_SetEnd(TL1,LD[0],LT[0],LL[0]);
}
TL_Delete(dnv[0]);
dnv[0] = TL_New(LD[0],LT[0],LL[0],sdate,stime,LL[0]);
TL_SetExtRight(dnv[0],true);
TL_SetColor(tl1,CYAN);
TL_SetColor(dnv[0],BLUE);
}
$$$,언제나 늘 고맙습니다.
답변 1
예스스탁 예스스탁 답변
2018-05-17 14:17:21
안녕하세요
예스스탁입니다.
LL이 배열변순입니다.
배열변수는 항상 LL[0],LL[1]과 같이 배열의 방번호를 지정해 주셔야 합니다.
일반변수만 [0]을 생략할수 있습니다.
Input : af(0.02), maxAF(0.2),n(5);
var : T(0),TL1(0),cnt(0),TL2(0);
Array : HH[10](0),HD[10](0),HT[10](0);
Array : LL[10](0),LD[10](0),LT[10](0);
Array : upv[10](0),dnv[10](0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HD[0] = sdate;
HT[0] = stime;
HH[0] = H;
for cnt = 1 to 9
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
TL_Delete(upv[cnt]);
if HH[cnt] > 0 and cnt < N Then
{
upv[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],sdate,stime,HH[cnt]);
TL_SetExtRight(upv[cnt],true);
TL_SetColor(tl1,GRAY);
TL_SetColor(upv[cnt],RED);
TL_SetStyle(upv[cnt],3);
}
}
if LL[0] > 0 Then
{
TL1 = TL_new(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]);
TL2 = TL_new(LD[0],LT[0],(HH[0]+LL[0])/2,HD[0],HT[0],(HH[0]+LL[0])/2);
}
TL_Delete(upv[0]);
upv[0] = TL_New(sdate[1],stime[1],HH[0],HD[0],HT[0],HH[0]);
TL_SetExtRight(upv[0],true);
}
if CrossDown(c,var1) Then
{
T = -1;
LD[0] = sdate;
LT[0] = stime;
LL[0] = L;
for cnt = 1 to 9
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
TL_Delete(dnv[cnt]);
if LL[cnt] > 0 and cnt < N Then
{
dnv[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],sdate,stime,LL[cnt]);
TL_SetExtRight(dnv[cnt],true);
TL_SetColor(tl1,GRAY);
TL_SetColor(dnv[cnt],BLACK);
TL_SetStyle(dnv[cnt],3);
}
}
if HH[0] > 0 Then
{
TL1 = TL_new(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]);
TL2 = TL_new(HD[0],HT[0],(HH[0]+LL[0])/2,LD[0],LT[0],(HH[0]+LL[0])/2);
}
TL_Delete(dnv[0]);
dnv[0] = TL_New(sdate[1],stime[1],LL[0],LD[0],LT[0],LL[0]);
TL_SetExtRight(dnv[0],true);
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
TL_SetEnd(TL1,HD[0],HT[0],HH[0]);
TL_SetBegin(TL2,LD[0],LT[0],(HH[0]+LL[0])/2);
TL_SetEnd(TL2,HD[0],HT[0],(HH[0]+LL[0])/2);
}
TL_Delete(upv[0]);
upv[0] = TL_New(HD[0],HT[0],HH[0],sdate,stime,HH[0]);
TL_SetExtRight(upv[0],true);
TL_SetColor(tl1,YELLOW);
TL_SetColor(upv[0],MAGENTA);
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
TL_SetEnd(TL1,LD[0],LT[0],LL[0]);
TL_SetBegin(TL2,HD[0],HT[0],(HH[0]+LL[0])/2);
TL_SetEnd(TL2,LD[0],LT[0],(HH[0]+LL[0])/2);
}
TL_Delete(dnv[0]);
dnv[0] = TL_New(LD[0],LT[0],LL[0],sdate,stime,LL[0]);
TL_SetExtRight(dnv[0],true);
TL_SetColor(tl1,CYAN);
TL_SetColor(dnv[0],BLUE);
}
즐거운 하루되세요
> 골든키 님이 쓴 글입니다.
> 제목 : 수식첨가부탁드립니다
> #,아래수식에서 파동의 1/2일선을 우측 그리기수식을 추가 삽입하려고, var;TL2 추가하고
TL2 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); 수식을 추가하니까
배열요소값이 와야한다는 오류가 뜨내요.. 도움부탁드립니다.
#,제가 원하는식은 현재 수식 조건에다가 파동의 중심값을 추가로 오른쪽 그리기로 하는
식입니다.
Input : af(0.02), maxAF(0.2),n(5);
var : T(0),TL1(0),cnt(0);
Array : HH[10](0),HD[10](0),HT[10](0);
Array : LL[10](0),LD[10](0),LT[10](0);
Array : upv[10](0),dnv[10](0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HD[0] = sdate;
HT[0] = stime;
HH[0] = H;
for cnt = 1 to 9
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
TL_Delete(upv[cnt]);
if HH[cnt] > 0 and cnt < N Then
{
upv[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],sdate,stime,HH[cnt]);
TL_SetExtRight(upv[cnt],true);
TL_SetColor(tl1,GRAY);
TL_SetColor(upv[cnt],RED);
TL_SetStyle(upv[cnt],3);
}
}
if LL[0] > 0 Then
{
TL1 = TL_new(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]);
}
TL_Delete(upv[0]);
upv[0] = TL_New(sdate[1],stime[1],HH[0],HD[0],HT[0],HH[0]);
TL_SetExtRight(upv[0],true);
}
if CrossDown(c,var1) Then
{
T = -1;
LD[0] = sdate;
LT[0] = stime;
LL[0] = L;
for cnt = 1 to 9
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
TL_Delete(dnv[cnt]);
if LL[cnt] > 0 and cnt < N Then
{
dnv[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],sdate,stime,LL[cnt]);
TL_SetExtRight(dnv[cnt],true);
TL_SetColor(tl1,GRAY);
TL_SetColor(dnv[cnt],BLACK);
TL_SetStyle(dnv[cnt],3);
}
}
if HH[0] > 0 Then
{
TL1 = TL_new(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]);
}
TL_Delete(dnv[0]);
dnv[0] = TL_New(sdate[1],stime[1],LL[0],LD[0],LT[0],LL[0]);
TL_SetExtRight(dnv[0],true);
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
TL_SetEnd(TL1,HD[0],HT[0],HH[0]);
}
TL_Delete(upv[0]);
upv[0] = TL_New(HD[0],HT[0],HH[0],sdate,stime,HH[0]);
TL_SetExtRight(upv[0],true);
TL_SetColor(tl1,YELLOW);
TL_SetColor(upv[0],MAGENTA);
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
TL_SetEnd(TL1,LD[0],LT[0],LL[0]);
}
TL_Delete(dnv[0]);
dnv[0] = TL_New(LD[0],LT[0],LL[0],sdate,stime,LL[0]);
TL_SetExtRight(dnv[0],true);
TL_SetColor(tl1,CYAN);
TL_SetColor(dnv[0],BLUE);
}
$$$,언제나 늘 고맙습니다.
다음글
이전글