티스토리 툴바

BLOG main image
분류 전체보기 (25)
내 고로한 삶은 계란~ (2)
눈으로 보는 추억.. (2)
다이어리제작일지 (5)
클리핑 (0)
마음을 다스리는 말 (5)
E-Learning (5)
M&A와 금융 (2)
시스템 트레이딩 (2)
9,461 Visitors up to today!
Today 1 hit, Yesterday 3 hit
daisy rss
tistory 티스토리 가입하기!
2011/04/16 14:50

먼저 설명을 위해 어떻게 접근해야 될지 저도 난감하군요

엑셀 프로그램의 전반에 대하여 설명하자니 저도 지식이 짧고 엉뚱한 설명에 시간낭비가 될 것 같고 해서 트레이딩하는데 필요한 정도로 설명을 국한해야 할 것 같습니다.

이 방법이 오히려 프로그램을 처음 접하시는 분이 이해하기 쉬울 것 같습니다.

1) 매크로 코딩화면

   - 먼저 엑셀을 구동하고 보면 엑셀화면 아래에 sheet1,sheet2... 탭이 보임


  - sheet1탭에 마우스를 놓고 오른쪽 마우스버턴을 클릭하면 서브 메뉴가 나타나게 되고
    그 메뉴들 중에 "코드보기"를 클릭하면 별도의 창이 아래와 같이 나타나게됨

 - 이 화면에서 앞으로 프로그램을 입력 및 수정 등을 하게됨.

2) 엑셀 프로그램의 작성
 - 화면의 메뉴에서 삽입메뉴를 선택한 후 "모듈"을 클릭.
 - 그러면 붉은 원안의 내용처럼 화면 좌측에 모듈이 생기고 코딩창이 나타남.

 - 이 창(Book1 - Moudle1(코드))이 트레이딩을 위한 대부분의 프로그램을 이안에서 작성
    하면 되는 것임
 - 여기서 모듈이란 하나의 프로그램을 말하며 모듈안에는 여러개의 프로시저(sub, Function)가 있게 되며 프로시저는 모듈안에서
   각자의 기능을 수행하게됨.
   * 참고로 화면하단에 직접실행창이 있는데 그 곳에 아래의 내용을 복사해서 엔터를 쳐보면 A3셀에 값이 입력된것이 보임
     이렇게 간단하게 테스트 해볼 수도 있음

    Worksheets("Sheet1").Range("A3").Value = 1

3) 코딩에 필요한 기본 지식
 - 변수
    -> 변수는 프로그램내에서 쓰일 값의 저장공간(장소)라 이해하면됨.
    -> 변수선언은 코딩창의 맨 위에서 “Public 현재가, 시가, 종가 As single”로
        선언하면됨
    -> 전역변수니 지역변수니 등 여러 가지가 있지만 전역변수(public)로만 활용해도
        큰 문제는 없음
    -> 변수 선언시 사용되는 변수가 실수형(single)인지 정수형(integer)인지 참거짓
        (boolean)등을 명시해야함
    -> 변수에 값을 대입하려면
        현재가 = 167.50(숫자)
        상태 = “굿” (문자)

 - 연산순서 :
    예 : ((a+b)*c)/d -> a와b를 먼저 더한 다음 c를 곱하고 d로 나눔

 - 비교
   -> a = b    a와b가 같다
   -> a > b    a가b보다 크다
   -> a => b   a가 b보다 같거나 크다
   -> a <> b   a가b가 같지 않다
  
 - 제어문
   -> if문 사용방법(a가 b보다 크면 aaa 프로시저를 수행하라)
      if a>b then
        call aaa  
      end if  

      if a>b then
        call aaa  
      else
        call bbb
      end if  

   -> for문
      for i = 1 to 100
        Worksheets("sheet2").Cells(i, 1).Value = Worksheets("sheet1").Cells(i, 1).Value
      next i
      * sheet1의 A1부터 A100까지  sheet2의 A1부터 A100까지 값을 대입
        Cells(i,1)에서 i는 for문에서 반복해서 할당되는 숫자이며 행을 의미하고 1이란
        숫자의 의미는 셀주소의 A,B,C의 순서를 의미함. A는 1, B는 2, C는 3 .....        

   -> Select 문(A값이 얼마냐에 따라 다른 명령 수행)
      A = 1
      Select Case A
             Case Is = 1
                    call bbb
             Case Is = 2
                    call aaa              
             Case Is = 3
                    call ccc
             Case Is = 4    
                    call .....  
       End Select                


 - 프로시저 : 각각의 기능을 수행하는 할 수 있는 단위 프로그램
    ->  작성방법
          sub aaa()
              작업 수행
          end sub

     -> 프로시저 호출(실행)
            Call aaa

  - 주석달기
    ‘ 이 프로그램은 ......
    [']는 그 라인을 무시하고 프로그램을 실행하라는 의미

 - 각 셀의 데이터 입력 및 참조
    -> 셀의 데이터에 변수를 넣거나 비교하는 방법
      if Worksheets("Sheet1").Range("A1").Value > Worksheets("Sheet1").Range("A2").Value then
        Worksheets("Sheet1").Range("A3").Value = 현재가
      end if
      * 워크시트(sheet1)의 A1 셀이 A2셀 보다 크면 A3셀에 변수 현재가의 값을 입력
    
     if 선물현재가 > 전고가 then
       call 매수
     end if
      * 변수인 선물현재가의 값이 전고가의 값 보다 크면 매수 프로시저를 실행

 - and or의 사용법
   - > and
     if 선물현재가 > 전고가 and 이평선값 < 선물현재가 then
       call 매수
     end if
      * 변수인 선물현재가의 값이 전고가의 값 보다 크고 이편선값 보다 선물현재가가 크면 매수 프로시저를 실행

   - > or
     if 선물현재가 > 전고가 or 이평선값 > 선물현재가 then
       call 매수
     end if
      * 변수인 선물현재가의 값이 전고가의 값 보다 크거나 이편선값 보다 선물현재가가 크면 매수 프로시저를
         실행
  

설명이 부족하지만 이정도만 먼저 이해하면 앞으로 프로그램 설명을 해나가는데 문제없을 것 같습니다. 자세한 사항은

예제를 풀면서 그때그때 설명해 나가도록 하겠습니다.

프로그램을 아시는 분들은 허접할 수 도 있고 빈약한 내용이라 할 수 있지만 처음 접하시는 분들의 이해를 돕기위해 꼭 필요한 부분만 설명하였습니다.

감사합니다.

 

출처: fntec 동남풍님

Trackback Address :: http://handyman.tistory.com/trackback/92 관련글 쓰기
Name
Password
Homepage
Secret
prev"" #1 #2 #3 #4 #5 ... #25 next