3. 비트코인 선물/3-3. 비트코인 알고리즘 패턴 찾기

(바이비트 비트코인 자동매매API) 알고리즘 패턴 찾기 (11) 범위 내 최대값 찾기 (엑셀 offset, max 함수 활용)

봄이오네 2022. 12. 8. 08:02
반응형
목 차
1. 들어가며
2. 사전설명
  1) 최대값 찾기 가정하기 (20분 내 최대값)
  2) index 및 match 함수 설명
3. 최대값 찾기(고점)
  1) 동일 패턴찾기 엑셀 함수
  2) max 함수 활용을 위한 범위 설정
4. 마치며

1. 들어가며

지난 글에서는 진입점 찾기를 알아보았다.

엑셀의 offset, index, match 함수를 이용하였다.

  • 함수형태 : offset(index(범위, match(찾는값, 범위, 0),1,)
  • 함수 의미 : 동일 패턴을 찾은 후 offset 함수 한칸 내려간다.

이번 글에서는 진입점을 찾은 후,

범위 내의 최대값을 찾고자 한다.

offset, max를 활용할 예정이다.

 

첨부파일의 Y열(최대값)을 찾는다.

(붙임1) 비트코인 패턴 만들기 (221106) (y열 최대값).xlsx
0.42MB


2. 사전설명

1) 최대값 찾기 가정하기 (20분 내 최대값)

13:01분의 패턴이라면,

13:02분의 시가(open)에서 진입한다고 가정한다.

 

또한, 13:02분의 고가(high)~13:21분의 고가(high),

20분 내의 최대값인 고가를 찾는다.

 

2) index 및 match 함수 설명

  • INDEX, MATCH 함수를 이용하여 동일 패턴(i열)을 찾고, 1번째 high 값을 찾고
  • INDEX, MATCH 함수를 이용하여 동일 패턴(i열)을 찾고, 20번째 high 값을 찾아서
  • max(1번째값 : 20번째값)으로 범위 내에서 최대값을 찾는다.

아래 <그림1>을 보자

i12 셀(0.50.00.0=1)의 내용과 관련하여,

  • e13 셀(21286.5) : 1번째 high 값(①)
  • e32 셀 (21310)   : 20번째 high 값(②)

그림1. 1번째 high값(①) 및 20번째 high값(②)


3. 최대값 찾기(고점)

20분 내 고점(E13~E32)의 범위내에서

가장 큰값(E31, 21310$)을 찾는 방법을 알아보고,

또한, 동적으로 변하는 데이터(패턴 ③=④) 중 찾는 방법을 설명할 것이다.

 

그림2. 고가(E31~E32) 범위 내에서 최대값(⑥)을 찾는다.

 

여기서는 최대값(①)을 찾는 과정을 알아볼 것이다.

W7셀(③)과 동일한 패턴(0.50.00.0=1)은 i13 셀(④)이다.

 

1) 동일 패턴찾기 엑셀 함수

W7 셀(③)을 기준으로 i13 셀(④)을 찾는 함수는 y7에서 확인가능하다.

  • 함수 형태 : index(e7 : i1513, match(w7, i7 : i1513, 0), 1)

위의 함수에 대해 알아보자.

  • index(e7 : i1513             : e7 ~ i1513 범위를 설정한다.
  • match(w7, i7 : i1513, 0) : w7의 값을 i7 ~ i1513의 범위 내에서 행번호를 찾는다. → 현재는 12행을 반환
  • 1)                                   : e7 ~ i1513 범위에서 첫번째 열(e열)을 반환한다.

즉, index(e7 : i1513, match(w7, i7 : i1513, 0), 1)

→ index(e7 : i1513, 12, 1)이 반환되는 셀은 e12 셀(21286.5)이다.

 

2) max 함수 활용을 위한 범위 설정

< 그림2 >에서 y7 셀의 함수를 다시 한번 확인하자.

 

MAX(OFFSET(INDEX($E$7:$I$1513,MATCH($W7,$I$7:$I$1513,0),1),1,) :

         OFFSET(INDEX($E$7:$I$1513,MATCH($W7,$I$7:$I$1513,0),1),20,))

 

위에서 확인하였듯이

INDEX($E$7:$I$1513,MATCH($W7,$I$7:$I$1513,0),1)e12 셀을 가리킨다.

 

함수를 풀어서 써보면,

max( offset (E12,1,) : offset(E12,20,))으로 정리(⑤)된다.

 

offset(E12,1,)   → E12에서   1칸 아래로 이동하여, E13 셀이 반환된다.

offset(E12,20,) → E12에서 20칸 아래로 이동하여, E32 셀이 반환된다.

 

마지막으로 정리하면,

MAX(E13 : E32)는 최대값은 21310의 E31이 반환된다.


4. 마치며

동일한 패턴을 비교한 후,

최대값 찾아보는 방법을 알아보았다.

 

여기서도 확인하였겠지만,

index, match 함수의 조합을 통해 동일 패턴을 찾는 방법을 알아야 한다.

그리고, offset 함수로 이동하는 방법으로 max 함수의 범위를 설정하였다.

 

함수가 길어서 약간 당황할 수도 있다.

천천히 하나씩 뜯어서 생각해보면 좋을 것 같다.

 

다음 시간에는 최대값의 행 위치(Z열)을 알아볼 것이다.

반응형