커뮤니티

질문드립니다.

프로필 이미지
kcg9005
2013-09-12 22:50:35
174
글번호 67526
답변완료
var : upv(0),dnv(0),upsum(0),dnsum(0); var1 = C - C[1];#전일대비값 if var1 > 0 Then{ value1 = 1; UPv = abs(var1);#최근 상승시 전일대비값 - 절대값으로 저장 } if var1 < 0 Then{ value1 = -1; dnv = abs(var1); #최근 하락시 전일대비값 - 절대값으로 저장 } #상승구간으로 전환 if value1 == 1 and value1 != 1 Then upsum = 0; if value1 == 1 Then{ #상승구간에서 전일대비값 절대값 누적 upsum = upsum+abs(var1); #누적값이 최근하락구간의 마지막 전일대비값보다 크면 매수 if UPsum > dnv Then buy(); } #하락구간으로 전환 if value1 == 1 and value1 != 1 Then dnsum = 0; if value1 == -1 Then{ #하락구간에서 전일대비 절대값 누적 dnsum = dnsum+abs(var1); #누적값이 최근상승구간의 마지막 전일대비값보다 크면 매도 if dnsum >= Upv Then sell(); } 위식은 어제 제가 문의드렸던 답변인데요 위식은 if c>c[1] then buy(); if c<c[1] then sell(); 과 똑같은 결과가 나오는 것 같습니다. 제가 구현하고 싶은것은 전일대비 상승 또는 하락시 매수매도가 나오는게 아니라 전일대비 상승폭과 하락폭을 기준값으로 잡고 계속 종가값이 오르면 마지막상승일의 (오늘종가-전일종가)의 상승폭을 다음에 나올 봉이 하락시 하락폭이 상승폭을 넘어서면 매도 또는 매수값이 나오게 하는겁니다. 예) 1일 100 2일 102(전일대비 상승폭 +2) 기준값: +2 3일 105(전일대비 상승폭 +3) 기준값:+3 4일 101(전일대비 하락폭 -4) 기준값:-4 이전기준값의 +3의 절대값을 넘는 4의 하락폭이 나와서 매도신호 발생 5일 106(전일대비 상승폭 +5) 기준값:+5 이전기준값의 -4의 절대값을 넘는 5의 상승폭이 나와서 매수신호 발생 6일 107(전일대비 상승폭 +1) 기준값:+1 위의 예는 쉽게 말해서 종가값이 계속상승하면 마지막 상승폭을 기준값을 가지고 있다가 기준값의 절대값을 넘는 하락폭이 나오면 매도신호가 발생하는 겁니다. 위의 예에서 만일 마지막 상승폭이 +5가 나와서 기준값이 +5일때 예) 1일 100 2일 105 (상승폭+5) 기준값:+5 3일 103 (하락폭-3) 기준값은 여전히 +5 4일 100 (하락폭-3) 이틀연속하락하여 이틀연속하락값은 더하면 -6 이전기준값 +5를 넘는 하락폭이 나와서 매도신호발생 및 기준값은 마지막 하락폭 -3 위의 예에서 1일 100 2일 105 (상승폭 +5) 기준값 :+5 3일 103 (하락폭 -3) 기준값: +5 4일 102 (하락폭 -1) 기준값:+5 이틀연속하락하여 하락값은 더하더라도 -4이므로 기준값 +5보다 작으므로 기존 기준값 유지 5일 104 (상승폭 +2) 기준값:+2 이해가 힘드시죠? 아래에 종합주가 지수를 토대로 기준값 및 신호발생을 만들어보았습니다. 밑에서 부터 위로 보세요 날짜 종가 전일대비 기준값 연속상승,하락값을 더한값 매매신호 2013-08-29 1,907.54 ▲23.02 23.02 2013-08-28 1,884.52 ▼1.32 17.7 2013-08-27 1,885.84 ▼2.02 17.7 2013-08-26 1,887.86 ▲17.70 17.7 2013-08-23 1,870.16 ▲21.04 21.04 기준값 -18.34보다 큰 21.04의 상승폭이므로 매수신호발생 2013-08-22 1,849.12 ▼18.34 -18.34 2013-08-21 1,867.46 ▼20.39 -20.39 2013-08-20 1,887.85 ▼29.79 -29.79 -36.06 기준값 +10.88보다 3일연속하락폭의 합이 -36.06 하락폭이 더 크므로 매도신호발생 2013-08-19 1,917.64 ▼2.47 10.88 -6.27 2013-08-16 1,920.11 ▼3.80 10.88 -3.8 2013-08-14 1,923.91 ▲10.88 10.88 2013-08-13 1,913.03 ▲28.20 28.2 2013-08-12 1,884.83 ▲4.12 4.12 기준값 -3.26보다 큰 4.12의 상승폭이므로 매수신호발생 2013-08-09 1,880.71 ▼3.26 -3.26 2013-08-08 1,883.97 ▲5.64 -28.29 2013-08-07 1,878.33 ▼28.29 -28.29 2013-08-06 1,906.62 ▼9.60 -9.6 2013-08-05 1,916.22 ▼7.16 -7.16 기준값 +2.64보다 큰 -7.16의 하락폭이므로 매도신호발생 2013-08-02 1,923.38 ▲2.64 2.64 2013-08-01 1,920.74 ▲6.71 6.71 2013-07-31 1,914.03 ▼3.02 17.16 2013-07-30 1,917.05 ▲17.16 17.16 기준값 -10.92보다 큰 17.16의 상승폭이므로 매수신호발생 2013-07-29 1,899.89 ▼10.92 -10.92 기준값 +1.20보다 큰 -10.92의 하락폭이므로 매도신호발생 2013-07-26 1,910.81 ▲1.20 1.2 2013-07-25 1,909.61 ▼2.47 7.93 2013-07-24 1,912.08 ▲7.93 7.93 2013-07-23 1,904.15 ▲23.80 23.08 2013-07-22 1,880.35 ▲8.94 8.94 기준값-4.07보다 큰 8.94의 상승폭이므로 매수신호발생 2013-07-19 1,871.41 ▼4.07 -4.07 2013-07-18 1,875.48 ▼12.01 -12.01
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-09-13 15:33:48

> kcg9005 님이 쓴 글입니다. > 제목 : 질문드립니다. > var : upv(0),dnv(0),upsum(0),dnsum(0); var1 = C - C[1];#전일대비값 if var1 > 0 Then{ value1 = 1; UPv = abs(var1);#최근 상승시 전일대비값 - 절대값으로 저장 } if var1 < 0 Then{ value1 = -1; dnv = abs(var1); #최근 하락시 전일대비값 - 절대값으로 저장 } #상승구간으로 전환 if value1 == 1 and value1 != 1 Then upsum = 0; if value1 == 1 Then{ #상승구간에서 전일대비값 절대값 누적 upsum = upsum+abs(var1); #누적값이 최근하락구간의 마지막 전일대비값보다 크면 매수 if UPsum > dnv Then buy(); } #하락구간으로 전환 if value1 == 1 and value1 != 1 Then dnsum = 0; if value1 == -1 Then{ #하락구간에서 전일대비 절대값 누적 dnsum = dnsum+abs(var1); #누적값이 최근상승구간의 마지막 전일대비값보다 크면 매도 if dnsum >= Upv Then sell(); } 위식은 어제 제가 문의드렸던 답변인데요 위식은 if c>c[1] then buy(); if c<c[1] then sell(); 과 똑같은 결과가 나오는 것 같습니다. 제가 구현하고 싶은것은 전일대비 상승 또는 하락시 매수매도가 나오는게 아니라 전일대비 상승폭과 하락폭을 기준값으로 잡고 계속 종가값이 오르면 마지막상승일의 (오늘종가-전일종가)의 상승폭을 다음에 나올 봉이 하락시 하락폭이 상승폭을 넘어서면 매도 또는 매수값이 나오게 하는겁니다. 예) 1일 100 2일 102(전일대비 상승폭 +2) 기준값: +2 3일 105(전일대비 상승폭 +3) 기준값:+3 4일 101(전일대비 하락폭 -4) 기준값:-4 이전기준값의 +3의 절대값을 넘는 4의 하락폭이 나와서 매도신호 발생 5일 106(전일대비 상승폭 +5) 기준값:+5 이전기준값의 -4의 절대값을 넘는 5의 상승폭이 나와서 매수신호 발생 6일 107(전일대비 상승폭 +1) 기준값:+1 위의 예는 쉽게 말해서 종가값이 계속상승하면 마지막 상승폭을 기준값을 가지고 있다가 기준값의 절대값을 넘는 하락폭이 나오면 매도신호가 발생하는 겁니다. 위의 예에서 만일 마지막 상승폭이 +5가 나와서 기준값이 +5일때 예) 1일 100 2일 105 (상승폭+5) 기준값:+5 3일 103 (하락폭-3) 기준값은 여전히 +5 4일 100 (하락폭-3) 이틀연속하락하여 이틀연속하락값은 더하면 -6 이전기준값 +5를 넘는 하락폭이 나와서 매도신호발생 및 기준값은 마지막 하락폭 -3 위의 예에서 1일 100 2일 105 (상승폭 +5) 기준값 :+5 3일 103 (하락폭 -3) 기준값: +5 4일 102 (하락폭 -1) 기준값:+5 이틀연속하락하여 하락값은 더하더라도 -4이므로 기준값 +5보다 작으므로 기존 기준값 유지 5일 104 (상승폭 +2) 기준값:+2 이해가 힘드시죠? 아래에 종합주가 지수를 토대로 기준값 및 신호발생을 만들어보았습니다. 밑에서 부터 위로 보세요 날짜 종가 전일대비 기준값 연속상승,하락값을 더한값 매매신호 2013-08-29 1,907.54 ▲23.02 23.02 2013-08-28 1,884.52 ▼1.32 17.7 2013-08-27 1,885.84 ▼2.02 17.7 2013-08-26 1,887.86 ▲17.70 17.7 2013-08-23 1,870.16 ▲21.04 21.04 기준값 -18.34보다 큰 21.04의 상승폭이므로 매수신호발생 2013-08-22 1,849.12 ▼18.34 -18.34 2013-08-21 1,867.46 ▼20.39 -20.39 2013-08-20 1,887.85 ▼29.79 -29.79 -36.06 기준값 +10.88보다 3일연속하락폭의 합이 -36.06 하락폭이 더 크므로 매도신호발생 2013-08-19 1,917.64 ▼2.47 10.88 -6.27 2013-08-16 1,920.11 ▼3.80 10.88 -3.8 2013-08-14 1,923.91 ▲10.88 10.88 2013-08-13 1,913.03 ▲28.20 28.2 2013-08-12 1,884.83 ▲4.12 4.12 기준값 -3.26보다 큰 4.12의 상승폭이므로 매수신호발생 2013-08-09 1,880.71 ▼3.26 -3.26 2013-08-08 1,883.97 ▲5.64 -28.29 2013-08-07 1,878.33 ▼28.29 -28.29 2013-08-06 1,906.62 ▼9.60 -9.6 2013-08-05 1,916.22 ▼7.16 -7.16 기준값 +2.64보다 큰 -7.16의 하락폭이므로 매도신호발생 2013-08-02 1,923.38 ▲2.64 2.64 2013-08-01 1,920.74 ▲6.71 6.71 2013-07-31 1,914.03 ▼3.02 17.16 2013-07-30 1,917.05 ▲17.16 17.16 기준값 -10.92보다 큰 17.16의 상승폭이므로 매수신호발생 2013-07-29 1,899.89 ▼10.92 -10.92 기준값 +1.20보다 큰 -10.92의 하락폭이므로 매도신호발생 2013-07-26 1,910.81 ▲1.20 1.2 2013-07-25 1,909.61 ▼2.47 7.93 2013-07-24 1,912.08 ▲7.93 7.93 2013-07-23 1,904.15 ▲23.80 23.08 2013-07-22 1,880.35 ▲8.94 8.94 기준값-4.07보다 큰 8.94의 상승폭이므로 매수신호발생 2013-07-19 1,871.41 ▼4.07 -4.07 2013-07-18 1,875.48 ▼12.01 -12.01