Home Trading view를 분석해서 자동매매 만들기(PT8)
Post
Cancel

Trading view를 분석해서 자동매매 만들기(PT8)

전략만들기 설명


본 포스팅에서는 trading view 신호를 python 으로 변환 적용하는 방법에 대해서 개발하고 연구한다.

  • trading view 신호 분석
  • python 코드로 변환
  • 테스트 결과

[trading view 신호 분석]

trading view 신호를 분석하고 python으로 개발 해보자.

아래는 5분 캔들 차트에 buy/sell 신호가 적용된 모습이다.

횡보 구간에서는 좋은 모습은 아니지만 장기로 봤을 때는 좋은 모습을 보여준다.

python 언어를 사용하는 이유는 데이터 처리에 매우 뛰어나고 package들이 매우 편리하게 되어 있다.

개발 실력이 없어도 chatgpt와 문법을 조금 공부하고 google 검색을 해보면 개발이 가능하다.

imgtrading view

아래는 pine script 코드를 정리한 것 이다. pine script 코드 블럭이 없기 때문에 python 코드 블럭으로 한다.

[trading view 조건문]

expr1 ? expr2 : expr3 expr1 이 참이면 expr2, 아니면 expr3. 제로 밸류 (0, NaN, +무한, -무한) 는 거짓, 그 밖의 다른 값은 참으로 봅니다.

1
2
3
4
5
6
7
8
9
10
l = 200
volrng = rngfilt_volumeadj(close,volume,smoothrng(close,l,3))
smoothrng = smoothrng(close,l,3)

basetype = volrng
hband = basetype + smoothrng
lowband = basetype - smoothrng
uprng = trendUp(basetype)
b = uprng and ta.crossover(close,hband)
s = not uprng and ta.crossunder(close,lowband)

[python 코드로 변환]

1
2
3
4
5
6
7
8
9
10
11
12
13
l = 200
smoothrng_val = self.smoothrng(data['close'], l, 3)
volrng = self.rngfilt_volumeadj(data['close'], data['volume'], smoothrng_val)
smoothrng_val = self.smoothrng(data['close'], l, 3)

basetype = volrng
hband = basetype + smoothrng_val
lowband = basetype - smoothrng_val
uprng = self.trendUp(basetype)

uprng_bool = uprng > 0
data['buy'] = np.logical_and(uprng_bool, np.roll(data['close'], 1) < hband)
data['sell'] = np.logical_and(~uprng_bool, np.roll(data['close'], 1) > lowband)

[테스트 결과]

차트와 같이 결과가 나오지 않아 내부 함수를 수정 해봐야 할 것 같다.

trading view 함수와 python 함수가 차이가 나다보니 결과도 오차가 발생한다.

이런 오차를 잡아주고 수치를 맞추는게 꽤 어려운 작업인 것 같다. ㅠ.ㅠ

img테스트 결과

This post is licensed under CC BY 4.0 by the author.

SpeedHit 소개

Trading view 함수 오차 잡는건 어렵다(PT8)

Comments powered by Disqus.