반응형
함수는 어떤 목적을 수행하는 코드의 집합이라고 보면 된다. 프로그래밍에서 어떤 목적이라고 하는 것을 예로 든다면 '로그인', '매수', '매도' 등이 있다. 함수내에서 함수를 호출 할 수 있다. 예를 들어 '자동매매'함수에서 '매수'함수나 '매도' 함수를 호출 할 수 있다.
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 |
댓글