어제 10.31이 매우 중요한 날이었는데,
어제 이번주의 방향성을 알려주는 날이었다.
어제부로 코스피 지수는 일목균형표상 구름 대 아래로 내려왔는바,
길었던 2000시대를 마감하고, 다시 1900시대로 진입할 듯 하다.
3분기 실적을 보면,
전체적으로 환율이 원강세여서 순이익단이 그다지 좋지는 않다.
쇼크 내는 기업이 생각보다 많다.
특히나 환 관리가 안되는 중소,중견일수록 더 심하다.
이번 하락은 어디까지일까?
글쎄, 1950근방까지는 열어놔야 하지 않을까 싶다.
시간적으로는 3분기 실적 발표가 끝나는 11.15일 이후에나 바닥을 잡지 않을까.
힘겨운 2주가 시작될 듯 싶다.
2016년 10월 31일 월요일
2016년 10월 29일 토요일
VBA #1 변수(Variable)와 셀 주소 지정하기
VBA #1 변수(Variable)와 셀 주소 지정하기
1. 변수 선언
변수 선언은 메모리 위에 주소와 공간을 할당해 계산의 대상이 되는 실체를 만든다.
변수의 종류로는
정수(integer, Long), 소수점(Double), 날짜/시간(Date), 문자열(String), Range(셀의 집합), Variant(형이 없는 변수) 등이 있다.
1) 숫자형 변수(Integer, Long, Double)
Integer는 -32,768 부터 32,767 까지의 범위를 갖는 2바이트(16비트) 숫자를 저장한다.
Long은 -2,147,483,648 ~ +2,147,483,648 까지의 범위를 갖는 4바이트(32비트) 숫자이다.
Double은 8바이트 숫자이다.
즉 숫자 형태의 변수를 사용할 때는 위 세가지 변수를 사용한다.
나는 어떤 반복 변수를 설정할 때는 integer를 많이 사용한다. 32000번 이상 반복하는 경우는 흔하지 않기 때문이다.
하지만, 보다 큰 정수의 숫자변수를 설정할 때는 Double을 사용하고, 소수점 이하 숫자를 다룰 때는 Double을 사용한다.
정수형 : integer, double
소수점까지 : Double
2) 날짜/시간형 변수
Date변수를 사용한다. 엑셀은 1900-01-01을 기준점 0으로 하여 하루를 1로 다루며, yyyy-mm-dd 순으로 입력한다.
3) 문자열 변수
문자를 다룰 때에는 String 변수를 사용한다.
문자열의 경우 길이가 가변적이지만 데이터 길이에 대해 특별히 신경쓰지 않아도 된다.
4) Range 변수
하나 이상의 셀들의 집합을 표현할 때 사용한다.
특히 Range를 특정 셀에 기준점으로 설정하는 방식은 자주 사용된다.
Sub CKT1()
Dim a As Range
Set a = ThisWorkbook.Sheets(1).Range("A1")
For i = 0 To 10
a.Offset(i, 0) = i+1
Next i
End Sub
이는 A1 셀을 기준점으로 삼고,
반복함수와 offset을 활용해서, 한 row씩 내려가면서 그곳에 i + 1을 입력하는 코드이다.
offset함수는 특정 기준점을 기준으로 rows, cols 를 이동시키는 함수이다.
이는 VBA가 아니더라도, 엑셀함수로 많이 사용하는 함수이니 꼭 알아둬야 한다.
5) Variant 변수
Variant 변수는 숫자나 문자 등 형식이 결정되지 않거나 미리 알 수 없는 변수를 정의할 때 사용한다. 이는 데이터가 숫자이든 문자열이든, 배열이든 무엇이라도 알아서 인식하고 처리한다. 즉 어떤 값이든 다룰 수 있는 만능 변수이다.
그렇다면 왜 만능 변수인 Variant를 사용하지 않고, 저렇게 구분해서 사용하는 것일까? 그는 컴퓨터의 자원이 유한하기 때문이다. 같은 결과값을 보인다면 적은 리소스로 빨리 처리하게 하는 것이 코딩의 능력이다.
2. 셀 주소 지정
절대 셀 주소를 지정하는 방법은 두가지가 있다.
보통은 엑셀 디폴트 값은 A1, B2와 같이 알파벳과 숫자의 조합으로 되어 있는데
이를 코드로 표현하면,
1)
Thisworkbook.Sheets("시트명").Range("B2")
하지만 다르게 표현할수도 있는데 바로 Cell 구문을 이용하는 것이다.
그러면
2)
Thisworkbook.sheets("시트명").Cells(2,2)
를 사용하면 된다.
보통은 두번째가 숫자로만 이루어져 있기 때문에, 코딩하기 편하다.
숫자로만 셀 주소를 지정하기 때문에, 상대주소를 지정하기 편하다.
Sub Offsetprac_ckt()
Dim r As Range
Set r = ThisWorkbook.Sheets("prac").Range("b2")
r.Offset(0, 0) = "0,0"
r.Offset(0, 0).Interior.Color = RGB(255, 255, 0)
r.Offset(-1, -1) = "-1,-1"
r.Offset(1, 2) = "1,2"
Set r = ThisWorkbook.Sheets("prac").Range("c5")
r.Offset(0, 0) = "0,0"
r.Offset(0, 0).Interior.Color = RGB(255, 255, 0)
r.Offset(-1, -1) = "-1,-1"
r.Offset(1, 2) = "1,2"
End Sub
상대주소를 코드로 작성하는 방법은
3)
먼저 기준이 되는 셀의 주소를 지정한 다음 .offset(행, 열)을 쓰면 된다.
1. 변수 선언
변수 선언은 메모리 위에 주소와 공간을 할당해 계산의 대상이 되는 실체를 만든다.
변수의 종류로는
정수(integer, Long), 소수점(Double), 날짜/시간(Date), 문자열(String), Range(셀의 집합), Variant(형이 없는 변수) 등이 있다.
1) 숫자형 변수(Integer, Long, Double)
Integer는 -32,768 부터 32,767 까지의 범위를 갖는 2바이트(16비트) 숫자를 저장한다.
Long은 -2,147,483,648 ~ +2,147,483,648 까지의 범위를 갖는 4바이트(32비트) 숫자이다.
Double은 8바이트 숫자이다.
즉 숫자 형태의 변수를 사용할 때는 위 세가지 변수를 사용한다.
나는 어떤 반복 변수를 설정할 때는 integer를 많이 사용한다. 32000번 이상 반복하는 경우는 흔하지 않기 때문이다.
하지만, 보다 큰 정수의 숫자변수를 설정할 때는 Double을 사용하고, 소수점 이하 숫자를 다룰 때는 Double을 사용한다.
정수형 : integer, double
소수점까지 : Double
2) 날짜/시간형 변수
Date변수를 사용한다. 엑셀은 1900-01-01을 기준점 0으로 하여 하루를 1로 다루며, yyyy-mm-dd 순으로 입력한다.
3) 문자열 변수
문자를 다룰 때에는 String 변수를 사용한다.
문자열의 경우 길이가 가변적이지만 데이터 길이에 대해 특별히 신경쓰지 않아도 된다.
4) Range 변수
하나 이상의 셀들의 집합을 표현할 때 사용한다.
특히 Range를 특정 셀에 기준점으로 설정하는 방식은 자주 사용된다.
Sub CKT1()
Dim a As Range
Set a = ThisWorkbook.Sheets(1).Range("A1")
For i = 0 To 10
a.Offset(i, 0) = i+1
Next i
End Sub
반복함수와 offset을 활용해서, 한 row씩 내려가면서 그곳에 i + 1을 입력하는 코드이다.
offset함수는 특정 기준점을 기준으로 rows, cols 를 이동시키는 함수이다.
이는 VBA가 아니더라도, 엑셀함수로 많이 사용하는 함수이니 꼭 알아둬야 한다.
5) Variant 변수
Variant 변수는 숫자나 문자 등 형식이 결정되지 않거나 미리 알 수 없는 변수를 정의할 때 사용한다. 이는 데이터가 숫자이든 문자열이든, 배열이든 무엇이라도 알아서 인식하고 처리한다. 즉 어떤 값이든 다룰 수 있는 만능 변수이다.
그렇다면 왜 만능 변수인 Variant를 사용하지 않고, 저렇게 구분해서 사용하는 것일까? 그는 컴퓨터의 자원이 유한하기 때문이다. 같은 결과값을 보인다면 적은 리소스로 빨리 처리하게 하는 것이 코딩의 능력이다.
2. 셀 주소 지정
절대 셀 주소를 지정하는 방법은 두가지가 있다.
보통은 엑셀 디폴트 값은 A1, B2와 같이 알파벳과 숫자의 조합으로 되어 있는데
이를 코드로 표현하면,
1)
Thisworkbook.Sheets("시트명").Range("B2")
하지만 다르게 표현할수도 있는데 바로 Cell 구문을 이용하는 것이다.
그러면
2)
Thisworkbook.sheets("시트명").Cells(2,2)
를 사용하면 된다.
보통은 두번째가 숫자로만 이루어져 있기 때문에, 코딩하기 편하다.
숫자로만 셀 주소를 지정하기 때문에, 상대주소를 지정하기 편하다.
Sub Offsetprac_ckt()
Dim r As Range
Set r = ThisWorkbook.Sheets("prac").Range("b2")
r.Offset(0, 0) = "0,0"
r.Offset(0, 0).Interior.Color = RGB(255, 255, 0)
r.Offset(-1, -1) = "-1,-1"
r.Offset(1, 2) = "1,2"
Set r = ThisWorkbook.Sheets("prac").Range("c5")
r.Offset(0, 0) = "0,0"
r.Offset(0, 0).Interior.Color = RGB(255, 255, 0)
r.Offset(-1, -1) = "-1,-1"
r.Offset(1, 2) = "1,2"
End Sub
상대주소를 코드로 작성하는 방법은
3)
먼저 기준이 되는 셀의 주소를 지정한 다음 .offset(행, 열)을 쓰면 된다.
2016년 10월 26일 수요일
일목균형표 매매기법 #6 가격론
일목균형표 매매기법 #6 가격론
일목균형표에서 가격목표를 구하는 방법은 크게 4가지가 있다.
가격목표치에는 V목표, N목표, E목표, 그리고 NT목표치이다.
1. V목표치
이는 상승추세의 경우, 조정을 받은 만큼 그 수준에서 다시 되돌아 상승한다는 생각에서 비롯된 목표치이다.
V= B + (B - C)
2. N목표치
초반에 강하게 출발한 주가는 일단 조정을 받은 다음에 다시 초반 상승폭만큼 올라간다는 생각에서 비롯되었다.
조정의 폭이 크면, 상대적으로 최종 목표치는 낮게 된다. V와 달리 조정폭이 최종 가격목표치에 영향을 준다.
물론 하락파동의 경우는 거꾸로 생각하면 된다.

N = C + (B-A)
3. E목표치
일목산인은 두배만큼 치솟는다 하여 이층배라고 말한다.
N과 V를 섞어 넣은 듯한 가격목표치이다. 기본적으로 N과 유사한데, 조정폭을 무시하고, 초반의 상승폭이 그대로 이어진다고 생각한다.

E = B + (B-A)
4. NT목표치
이는 c점까지의 상승폭이 얼마나 되는지를 따지는 방법이다.
이것은 V가격목표로는 너무 상승폭이자고, N이나 E목표로는 목표치가 너무 높을 경우, 그 중간쯤으로 생각할 수 있는 목표치이다.
그러나 이는 애시당초, V, N, E가 적용하기에 부적절할 때 사용하는 중간값이라서 그런지 목표치로는 잘 사용되지 않는다.

NT = C + (C-A)
가격론은 현실에서 이것만으로 적용하기에는 무리가 따른다. 반드시 시간론과의 관계에서 가격목표를 따져야 한다. 시간론으로 변화일이 될 때, 즉 기본수치나 대등수치에 해당되는 날로서 변화의 가능성이 클 때, 동시에 가격목표치로 구한 수준과 현재의 주가가 일치한다면 추세전환의 가능성이 매우 높다는 것이다.
일목산은은 예측은 하되, 예상은 하지 말라했다.
예상이란, 미리 생각한다는 뜻이다. 앞으로의 주가움직임에 대해 이러하게 될 거라고 미리 상상하는 것이다.
예측이란 미리 측정해 두는 것이다. 객관적 근거를 가지고 미리 재어본다면, 시세의 매커니즘 상 앞으로의 주가 움직임이 어떻게 될지 확률적으로 높은 가능성이 무엇인지를 조금이나마 알 수 있게 해준다.
일목균형표에서 가격목표를 구하는 방법은 크게 4가지가 있다.
가격목표치에는 V목표, N목표, E목표, 그리고 NT목표치이다.
1. V목표치
이는 상승추세의 경우, 조정을 받은 만큼 그 수준에서 다시 되돌아 상승한다는 생각에서 비롯된 목표치이다.
V= B + (B - C)
2. N목표치
초반에 강하게 출발한 주가는 일단 조정을 받은 다음에 다시 초반 상승폭만큼 올라간다는 생각에서 비롯되었다.
조정의 폭이 크면, 상대적으로 최종 목표치는 낮게 된다. V와 달리 조정폭이 최종 가격목표치에 영향을 준다.
물론 하락파동의 경우는 거꾸로 생각하면 된다.

N = C + (B-A)
3. E목표치
일목산인은 두배만큼 치솟는다 하여 이층배라고 말한다.
N과 V를 섞어 넣은 듯한 가격목표치이다. 기본적으로 N과 유사한데, 조정폭을 무시하고, 초반의 상승폭이 그대로 이어진다고 생각한다.

E = B + (B-A)
4. NT목표치
이는 c점까지의 상승폭이 얼마나 되는지를 따지는 방법이다.
이것은 V가격목표로는 너무 상승폭이자고, N이나 E목표로는 목표치가 너무 높을 경우, 그 중간쯤으로 생각할 수 있는 목표치이다.
그러나 이는 애시당초, V, N, E가 적용하기에 부적절할 때 사용하는 중간값이라서 그런지 목표치로는 잘 사용되지 않는다.

NT = C + (C-A)
가격론은 현실에서 이것만으로 적용하기에는 무리가 따른다. 반드시 시간론과의 관계에서 가격목표를 따져야 한다. 시간론으로 변화일이 될 때, 즉 기본수치나 대등수치에 해당되는 날로서 변화의 가능성이 클 때, 동시에 가격목표치로 구한 수준과 현재의 주가가 일치한다면 추세전환의 가능성이 매우 높다는 것이다.
일목산은은 예측은 하되, 예상은 하지 말라했다.
예상이란, 미리 생각한다는 뜻이다. 앞으로의 주가움직임에 대해 이러하게 될 거라고 미리 상상하는 것이다.
예측이란 미리 측정해 두는 것이다. 객관적 근거를 가지고 미리 재어본다면, 시세의 매커니즘 상 앞으로의 주가 움직임이 어떻게 될지 확률적으로 높은 가능성이 무엇인지를 조금이나마 알 수 있게 해준다.
피드 구독하기:
글 (Atom)


