커뮤니티
문의드립니다.
2012-10-15 21:21:53
360
글번호 55649
밑에 식은
BB[0]은 AA[0]에 값이 한번 저장된 이후에 한번 저장되고
BB[0]은 AA[0]에 값이 한번 저장된 이후에 한번 저장되고
가장 처음에는 먼저 조건이 만족한 것이 저장되는 식입니다.
제가 원하는 식은
1. A값은 현재봉의 고가가 전봉의 고가 보다 높으면 계속 덮어쓰며저장
2. AA[0]은 A값을 저장 중 현재봉의 저가가 전봉의 저가보다 낮아지는 순간 한번만
AA[0]=A;을 저장
3. B값은 현재봉의 저가가 전봉의 저가 보다 낮으면 계속 덮어쓰며저장
4. BB[0]은 B값을 저장 중 현재봉의 고가가 전봉의 고가보다 높아지는 순간 한번만
BB[0]=B; 저장
디아이디일봉 차트에 적용
1번날에 현재봉의 저가가 전봉의 저가보다 낮아지는 날 A값을 AA[0] 저장
현재봉의 저가를 저장 B=L[0]
그다음날에 현재봉의 저가가 전봉의 저가보다 낮아지면 B값을 계속저장해야하나
2번날에 현재봉의 고가가 전봉의 고가보다 높아져서 A=H[0] 저장
현재봉의 고가가 전봉의 고가보다 높아지는 날 B값을 BB[0] 저장
3번날에는 현재봉의 고가가 전봉의 고가보다 높아져서 A=H[0]저장
문제점은 현재봉의 고가가 전봉의 고가보다 높아지는 순간 한번만 BB=B;되야하는데
10월8일에 BB[0]에 B의 값이 다시 저장되었습니다.=>한번만 저장되게 수식작성부탁드립니다.
제가 원하는 대로 식이 작성되었다면 디아이디 일봉차트에 적용시B,BB[0],BB[1]의
지표값이 아래의 원하는 값 같이 뜰것입니다.
원하는 값B BB[0] BB[1] 현재 값 B BB[0] BB[1]
10월 4일 3850 3580 3580 3850 3580 3580
10월 5일 3850 3850 3580 3850 3850 3580
10월 8일 3850 3850 3580 3850 3850 3850
10월 9일 3850 3850 3580 3850 3850 3850
10월10일 5540 5540 3850 5540 5540 3850
10월11일 5540 5540 3850 5540 5540 5540
10월12일 5540 5540 3850 5540 5540 5540
10월15일 5540 5540 3850 5540 5540 5540
Var:A(0),B(0),cnt(0);
Array: AA[100](0),BB[100](0);
If Index == 0 Then
{ A=H[0]; B=L[0];}
if H[0] > H[1] then//1번조건
{A = H[0];}
If L[0] < L[1] Then//2번조건
{B = L[0];}
if H[0] > H[1] and var1 <= 0 then //3번조건
BB[0] = B; var1 = 1;
If L[0] < L[1] and var1 >= 0 Then //4번조건
AA[0] = A; var1 = -1;
for cnt = 1 to 99{
AA[cnt] = AA[cnt-1][1];}
for cnt = 1 to 99{
BB[cnt] = BB[cnt-1][1];}
Plot1(B,"B",RED,DEF,1);
Plot2(BB[0],"BB",BLUE,DEF,1);
PLOT3(BB[1],"BB1",GREEN,DEF,1);
답변부탁드립니다.
- 1. ㅋㅋ.png (0.06 MB)
답변 1
예스스탁 예스스탁 답변
2012-10-16 11:47:35
안녕하세요
예스스탁입니다
수식에 주석을 첨부했습니다.
1번조건이 만족하면 direction은 1이고
1조건 만족하고 4번조건이 만족하면
AA[0]에 A값 저장하고 direction은 2가 됩니다.
AA[0]에 A값이 저장되는 것은 direction이 1일때 처음 발생한 4번조건 한번입니다.
2번조건이 만족하면 direction은 -1이고
2조건 만족하고 3번조건이 만족하면
BB[0]에 B값 저장하고 direction은 2가 됩니다.
BB[0]에 B값이 저장되는 것은 direction이 1일때 처음 발생한 3번조건 한번입니다.
작성하신 식은 한봉에서 두 조건이 동시만족하는 경우가 많습니다.
수식은 위에서 아래로만 읽어 들어가면서 동작되므로
2개가 동시만족되면 direction변수는 -1입니다.
Var:A(0),B(0),cnt(0),direction(0),Dncnt(0),upcnt(0);
Array: AA[100](0),BB[100](0);
#차트 첫봉
#A에 고가 저장
#B에 저가 저장
If Index == 0 Then
{ A=H[0]; B=L[0];}
#고가가 한봉전 고가보다 크면
#A에 고가 저장
#direction변수에 1저장
if H[0] > H[1] then//1번조건
{
A = H[0];
direction = 1;
}
#저가가 한봉전 저가보다 작으면
#B에 저가 저장
#direction변수에 -1저장
If L[0] < L[1] Then//2번조건
{ B = L[0];
direction = -1;
}
# Direction변수가 -1이고 고가가 전봉 고가보다 커지면
# BB[0]에 B값 저장
# Direction변수는 -2
if Direction == -1 and H[0] > H[1] then //3번조건
{
BB[0] = B;
direction = -2;
}
# Direction변수가 1이고 저가가 전봉 저가보다 커지면
# AA[0]에 A값 저장
# Direction변수는 2
If Direction == 1 and L[0] < L[1] Then //4번조건
{
AA[0] = A;
direction = 2;
}
Plot1(A,"A",RED,DEF,1);
plot2(B,"B",RED,DEF,1);
> 아싸가오리 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 밑에 식은
BB[0]은 AA[0]에 값이 한번 저장된 이후에 한번 저장되고
BB[0]은 AA[0]에 값이 한번 저장된 이후에 한번 저장되고
가장 처음에는 먼저 조건이 만족한 것이 저장되는 식입니다.
제가 원하는 식은
1. A값은 현재봉의 고가가 전봉의 고가 보다 높으면 계속 덮어쓰며저장
2. AA[0]은 A값을 저장 중 현재봉의 저가가 전봉의 저가보다 낮아지는 순간 한번만
AA[0]=A;을 저장
3. B값은 현재봉의 저가가 전봉의 저가 보다 낮으면 계속 덮어쓰며저장
4. BB[0]은 B값을 저장 중 현재봉의 고가가 전봉의 고가보다 높아지는 순간 한번만
BB[0]=B; 저장
디아이디일봉 차트에 적용
1번날에 현재봉의 저가가 전봉의 저가보다 낮아지는 날 A값을 AA[0] 저장
현재봉의 저가를 저장 B=L[0]
그다음날에 현재봉의 저가가 전봉의 저가보다 낮아지면 B값을 계속저장해야하나
2번날에 현재봉의 고가가 전봉의 고가보다 높아져서 A=H[0] 저장
현재봉의 고가가 전봉의 고가보다 높아지는 날 B값을 BB[0] 저장
3번날에는 현재봉의 고가가 전봉의 고가보다 높아져서 A=H[0]저장
문제점은 현재봉의 고가가 전봉의 고가보다 높아지는 순간 한번만 BB=B;되야하는데
10월8일에 BB[0]에 B의 값이 다시 저장되었습니다.=>한번만 저장되게 수식작성부탁드립니다.
제가 원하는 대로 식이 작성되었다면 디아이디 일봉차트에 적용시B,BB[0],BB[1]의
지표값이 아래의 원하는 값 같이 뜰것입니다.
원하는 값B BB[0] BB[1] 현재 값 B BB[0] BB[1]
10월 4일 3850 3580 3580 3850 3580 3580
10월 5일 3850 3850 3580 3850 3850 3580
10월 8일 3850 3850 3580 3850 3850 3850
10월 9일 3850 3850 3580 3850 3850 3850
10월10일 5540 5540 3850 5540 5540 3850
10월11일 5540 5540 3850 5540 5540 5540
10월12일 5540 5540 3850 5540 5540 5540
10월15일 5540 5540 3850 5540 5540 5540
Var:A(0),B(0),cnt(0);
Array: AA[100](0),BB[100](0);
If Index == 0 Then
{ A=H[0]; B=L[0];}
if H[0] > H[1] then//1번조건
{A = H[0];}
If L[0] < L[1] Then//2번조건
{B = L[0];}
if H[0] > H[1] and var1 <= 0 then //3번조건
BB[0] = B; var1 = 1;
If L[0] < L[1] and var1 >= 0 Then //4번조건
AA[0] = A; var1 = -1;
for cnt = 1 to 99{
AA[cnt] = AA[cnt-1][1];}
for cnt = 1 to 99{
BB[cnt] = BB[cnt-1][1];}
Plot1(B,"B",RED,DEF,1);
Plot2(BB[0],"BB",BLUE,DEF,1);
PLOT3(BB[1],"BB1",GREEN,DEF,1);
답변부탁드립니다.