안냥하세요. 수고 많으십니다.
Var1 ,Var2에 조건에 맞는 value 값을 지정하는 수식인데,
다음과 같이 50개의 value값을 일일이 나열하다보니 내용이 많아지네요.
If value1 >= OO[0] And OO[0] > Value2 Then
{
Var1 = Value1;
Var2 = Value2;
}
If Value2 >= OO[0] And OO[0] > Value3 Then
{
Var1 = Value2;
Var2 = Value3;
}
If Value3 >= OO[0] And OO[0] > Value4 Then
{
Var1 = Value3;
Var2 = Value4;
}
If Value4 >= OO[0] And OO[0] > Value5 Then
{
Var1 = Value4;
Var2 = Value5;
}
.....
.....
.....
그래서, Value1 ~ value50 까지의 값을 location[cnt], location[cnt-1] 등을 활용해서
Var1 ,Var2 를 간략히 정의할 수 있는 수식작성 부탁드립니다.
더운 날씨에 건강 유의하시고, 좋은 하루 되세요. 감사합니다.
답변 3
예스스탁
예스스탁 답변
2020-07-29 16:56:05
안녕하세요
예스스탁입니다.
location이 배열변수이고 0~49까지 값이 저장되어 있다면
아래와 같이 작성하시면 됩니다.
var : cnt(0);
Array : location[50](0);
For cnt = 0 to 48
{
If location[cnt] >= OO[0] And OO[0] > location[cnt+1] Then
{
Var1 = Value1;
Var2 = Value2;
}
}
즐거운 하루되세요
> 네오 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 안냥하세요. 수고 많으십니다.
Var1 ,Var2에 조건에 맞는 value 값을 지정하는 수식인데,
다음과 같이 50개의 value값을 일일이 나열하다보니 내용이 많아지네요.
If value1 >= OO[0] And OO[0] > Value2 Then
{
Var1 = Value1;
Var2 = Value2;
}
If Value2 >= OO[0] And OO[0] > Value3 Then
{
Var1 = Value2;
Var2 = Value3;
}
If Value3 >= OO[0] And OO[0] > Value4 Then
{
Var1 = Value3;
Var2 = Value4;
}
If Value4 >= OO[0] And OO[0] > Value5 Then
{
Var1 = Value4;
Var2 = Value5;
}
.....
.....
.....
그래서, Value1 ~ value50 까지의 값을 location[cnt], location[cnt-1] 등을 활용해서
Var1 ,Var2 를 간략히 정의할 수 있는 수식작성 부탁드립니다.
더운 날씨에 건강 유의하시고, 좋은 하루 되세요. 감사합니다.
1. 다수의 Value정의값을 location으로 처리하는 답변 주셨는데, 작성하다보니 오류가 나네요.
다음 지표수식에 적용하는 식을 작성해주시면 감사하겠습니다.
---------------------------------------------------------------------
var : cnt(0);
Array : OO[10](0),HH[10](0),LL[10](0),MM[10](0),DD[10](0);
if DayOfWeek(Bdate) < DayOfWeek(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];
MM[cnt] = MM[cnt-1][1];
DD[cnt] = DD[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
MM[0] = (HH[0]+LL[0])/2;
DD[0] = (HH[0]-MM[0]);
if HH[1] > 0 And LL[1] > 0 Then
{
Value1 = HH[1]+DD[1];
Value2 = HH[1];
Value3 = MM[1];
Value4 = LL[1];
Value5 = LL[1]-DD[1];
If value1 >= OO[0] And OO[0] > Value2 Then
{
Var1 = Value1;
Var2 = Value2;
}
If Value2 >= OO[0] And OO[0] > Value3 Then
{
Var1 = Value2;
Var2 = Value3;
}
If Value3 >= OO[0] And OO[0] > Value4 Then
{
Var1 = Value3;
Var2 = Value4;
}
If Value4 >= OO[0] And OO[0] > Value5 Then
{
Var1 = Value4;
Var2 = Value5;
}
Plot1(var1);
Plot2(var1+DD[1]*1);
Plot3(var1+DD[1]*2);
Plot4(var1+DD[1]*3);
Plot5(var2);
Plot6(var2-DD[1]*1);
Plot7(var2-DD[1]*2);
Plot8(var2-DD[1]*3);
}
------------------------------------------------------------------
2. 위의 직전주봉에 적용하는 식을 직전일봉에서도 동일하게 표현되는 수식 작성도 부탁드립니다.
수식 작성과 조언에 감사드립니다.
예스스탁
예스스탁 답변
2020-07-30 09:51:48
안녕하세요
예스스탁입니다.
value1~value50까지 어떤 값인지 알수 없어 지정해 드릴수가 없습니다.
큰값에서 작은값 순으로 아래와 같이 나열해 추가해 주시면 됩니다.
location[0] = 값;
location[1] = 값;
.
.
.
.
location[48] = 값;
location[49] = 값;
1
var : cnt(0);
Array : OO[10](0),HH[10](0),LL[10](0),MM[10](0),DD[10](0);
Array : location[50](0);
if DayOfWeek(Bdate) < DayOfWeek(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];
MM[cnt] = MM[cnt-1][1];
DD[cnt] = DD[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
MM[0] = (HH[0]+LL[0])/2;
DD[0] = (HH[0]-MM[0]);
if HH[1] > 0 And LL[1] > 0 Then
{
#큰값에서 작은값 순으로 배열변수에 할당
location[0] = 최대값;
location[1] = 값;
.
.
.
.
location[48] = 값;
location[49] = 최소값;
For cnt = 0 to 48
{
If location[cnt] >= OO[0] And OO[0] > location[cnt+1] Then
{
Var1 = location[cnt];
Var2 = location[cnt+1];
}
}
Plot1(var1);
Plot2(var1+DD[1]*1);
Plot3(var1+DD[1]*2);
Plot4(var1+DD[1]*3);
Plot5(var2);
Plot6(var2-DD[1]*1);
Plot7(var2-DD[1]*2);
Plot8(var2-DD[1]*3);
}
2
var : cnt(0);
Array : OO[10](0),HH[10](0),LL[10](0),MM[10](0),DD[10](0);
Array : location[50](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];
MM[cnt] = MM[cnt-1][1];
DD[cnt] = DD[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
MM[0] = (HH[0]+LL[0])/2;
DD[0] = (HH[0]-MM[0]);
if HH[1] > 0 And LL[1] > 0 Then
{
#큰값에서 작은값 순으로 배열변수에 할당
location[0] = 최대값;
location[1] = 값;
.
.
.
.
location[48] = 값;
location[49] = 최소값;
For cnt = 0 to 48
{
If location[cnt] >= OO[0] And OO[0] > location[cnt+1] Then
{
Var1 = location[cnt];
Var2 = location[cnt+1];
}
}
Plot1(var1);
Plot2(var1+DD[1]*1);
Plot3(var1+DD[1]*2);
Plot4(var1+DD[1]*3);
Plot5(var2);
Plot6(var2-DD[1]*1);
Plot7(var2-DD[1]*2);
Plot8(var2-DD[1]*3);
}
즐거운 하루되세요
> 네오 님이 쓴 글입니다.
> 제목 : Re : Re : 수식 문의드립니다.
> 1. 다수의 Value정의값을 location으로 처리하는 답변 주셨는데, 작성하다보니 오류가 나네요.
다음 지표수식에 적용하는 식을 작성해주시면 감사하겠습니다.
---------------------------------------------------------------------
var : cnt(0);
Array : OO[10](0),HH[10](0),LL[10](0),MM[10](0),DD[10](0);
if DayOfWeek(Bdate) < DayOfWeek(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];
MM[cnt] = MM[cnt-1][1];
DD[cnt] = DD[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
MM[0] = (HH[0]+LL[0])/2;
DD[0] = (HH[0]-MM[0]);
if HH[1] > 0 And LL[1] > 0 Then
{
Value1 = HH[1]+DD[1];
Value2 = HH[1];
Value3 = MM[1];
Value4 = LL[1];
Value5 = LL[1]-DD[1];
If value1 >= OO[0] And OO[0] > Value2 Then
{
Var1 = Value1;
Var2 = Value2;
}
If Value2 >= OO[0] And OO[0] > Value3 Then
{
Var1 = Value2;
Var2 = Value3;
}
If Value3 >= OO[0] And OO[0] > Value4 Then
{
Var1 = Value3;
Var2 = Value4;
}
If Value4 >= OO[0] And OO[0] > Value5 Then
{
Var1 = Value4;
Var2 = Value5;
}
Plot1(var1);
Plot2(var1+DD[1]*1);
Plot3(var1+DD[1]*2);
Plot4(var1+DD[1]*3);
Plot5(var2);
Plot6(var2-DD[1]*1);
Plot7(var2-DD[1]*2);
Plot8(var2-DD[1]*3);
}
------------------------------------------------------------------
2. 위의 직전주봉에 적용하는 식을 직전일봉에서도 동일하게 표현되는 수식 작성도 부탁드립니다.
수식 작성과 조언에 감사드립니다.