본문 바로가기
excel VBA

엑셀 VBA 함수

by 퍼포먼스마케팅코더 2023. 8. 30.
반응형

함수는 어떤 목적을 수행하는 코드의 집합이라고 보면 된다. 프로그래밍에서 어떤 목적이라고 하는 것을 예로 든다면 '로그인', '매수', '매도' 등이 있다. 함수내에서 함수를 호출 할 수 있다. 예를 들어 '자동매매'함수에서 '매수'함수나 '매도' 함수를 호출 할 수 있다.

 

1. Sub 함수 : 출력이 없는 함수

' 스탑로스 함수: 현재 가격과 설정한 손절 가격을 비교하여 매도 여부를 결정합니다.
' 입력: 현재가 (Long 타입), 손절가 (Long 타입)
' 출력: 없음 (Void)
Public Sub 스탑로스(ByVal 현재가 As Long, ByVal 손절가 As Long)
    
    ' 만약 현재 가격이 손절 가격보다 낮다면
    If 현재가 < 손절가 Then
        
        ' 매도하기 함수를 호출합니다.
        Call 매도하기
        
    End If
    
End Sub

설명:
Public Sub 스탑로스(ByVal 현재가 As Long, ByVal 손절가 As Long): 스탑로스라는 Public 함수를 선언하고, 이 함수는 두 개의 매개변수(현재가와 손절가)를 Long 타입으로 받습니다.
If 현재가 < 손절가 Then: 현재 가격(현재가)이 설정한 손절 가격(손절가)보다 낮은지 확인합니다.
Call 매도하기: 만약 위의 조건이 참이면, 매도하기라는 다른 VBA 함수를 호출합니다.
End If: If문을 종료합니다.
End Sub: Sub 루틴을 종료합니다.

2. Function 함수 : 출력이 있는 함수

' get손절가 함수: 매수 가격을 입력으로 받아, 손절 가격을 계산하여 반환합니다.
' 입력: 매수가 (Long 타입)
' 출력: 손절가 (Double 타입)
Public Function get손절가(ByVal 매수가 As Long) As Double
    ' 손절가를 저장할 변수를 Double 타입으로 선언합니다.
    Dim 손절가 As Double

    ' 손절가를 매수가의 95%로 설정합니다.
    손절가 = 매수가 * 0.95
    
    ' 계산된 손절가를 반환합니다.
    get손절가 = 손절가
End Function

설명:
Public Function get손절가(ByVal 매수가 As Long) As Double: get손절가라는 Public 함수를 선언합니다. 이 함수는 하나의 매개변수(매수가)를 Long 타입으로 받고, Double 타입의 값을 반환합니다.

Dim 손절가 As Double: 손절가를 저장할 변수를 Double 타입으로 선언합니다.

손절가 = 매수가 * 0.95: 손절가를 계산하기 위해 매수가의 95%로 설정합니다.

get손절가 = 손절가: 계산된 손절가를 함수의 반환 값으로 설정합니다.

이 함수는 매수 가격을 입력받아, 그 가격의 95%에 해당하는 손절 가격을 계산하고 반환합니다.

 

반응형

'excel VBA' 카테고리의 다른 글

엑셀 VBA 데이터 타입 정리  (0) 2023.08.30
엑셀 VBA while  (0) 2023.08.30
엑셀 VBA 조건문(If), 반목문(For) 문법  (0) 2023.08.30
엑셀 VBA 변수  (0) 2023.08.30
VBA 에디터  (0) 2023.08.30

댓글