Top 5 변동성 돌파 전략 끝판 왕 The 125 Latest Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 변동성 돌파 전략 끝판 왕 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: 변동성 돌파 전략 끝판 왕 변동성 돌파 전략 후기, 변동성 돌파 전략 단점, 변동성 돌파 전략 하락장, 변동성 돌파 전략 수익률, 변동성 돌파 전략 종목 선정, 변동성 돌파 전략 백테스트, 변동성 돌파 전략 영어, 변동성 돌파 RSI


53. 역대 최강의 트레이더의 가장 위대한 전략 – 변동성 돌파전략
53. 역대 최강의 트레이더의 가장 위대한 전략 – 변동성 돌파전략


변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽

  • Article author: coinpick.com
  • Reviews from users: 16602 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽 약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다 … …
  • Most searched keywords: Whether you are looking for 변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽 약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다 … 바이비트,비트겟,바이낸스,비트코인선물거래소,비트코인마진거래소,선물거래변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 전략 대공개! 안녕하세요 퀀트픽입니다! 약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다. 비록 시장 대비 한참 못 벌었지만 월단위로 -0.5% 이하의 손실을 본적이 없으며 2021년 5월 기준으로 약 120%의 누적 수익률을 달성하였습니다. &…가상화폐 투자정보 사이트,암호화폐 차트분석,매매법 소개 및 해외 비트코인 마진,선물거래소 가이드(바이낸스,바이비트,FTX)
  • Table of Contents:

로그인

댓글 0

변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! - 비트코인 자동매매 프로그램 봇 사용법 및 후기 - 코인픽
변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽

Read More

트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot) : 네이버 블로그

  • Article author: blog.naver.com
  • Reviews from users: 45796 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot) : 네이버 블로그 트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot). 프로파일 꿈사만행 ・ 2021. 7. 29. 22:50. URL 복사 이웃추가. …
  • Most searched keywords: Whether you are looking for 트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot) : 네이버 블로그 트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot). 프로파일 꿈사만행 ・ 2021. 7. 29. 22:50. URL 복사 이웃추가.
  • Table of Contents:

자동매매

악성코드가 포함되어 있는 파일입니다

작성자 이외의 방문자에게는 이용이 제한되었습니다

트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot) : 네이버 블로그
트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot) : 네이버 블로그

Read More

06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판)

  • Article author: wikidocs.net
  • Reviews from users: 35479 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판) 래리 윌리엄스(Larry Williams)가 Long-Term Secrets to Short-Term Trading에서 소개한 변동성 돌파 전략은 최근 ‘가즈아! 가상화폐 투자 마법공식 (강환국 저)’ … …
  • Most searched keywords: Whether you are looking for 06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판) 래리 윌리엄스(Larry Williams)가 Long-Term Secrets to Short-Term Trading에서 소개한 변동성 돌파 전략은 최근 ‘가즈아! 가상화폐 투자 마법공식 (강환국 저)’ … 온라인 책을 제작 공유하는 플랫폼 서비스
  • Table of Contents:

변동성 돌파 전략

단계-1 주기적으로 현재가 얻어오기

단계-2 목표가 계산하기

단계-3 자정에 목표가 갱신하기

단계-4 매수 시도

단계-5 매도 시도

단계-6 보안 및 예외처리

06-2 변동성 돌파 전략 구현 - 파이썬을 이용한 비트코인 자동매매 (개정판)
06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판)

Read More

변동성 돌파 전략 – 3초 만에 이해

  • Article author: wellsw.tistory.com
  • Reviews from users: 44383 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성 돌파 전략 – 3초 만에 이해 변동성 돌파 전략 기본. 래리 윌리암스 (Larry Williams)에 의해 고안됨; 트렌드 추종을 기본으로 함. 상승하는 놈이 계속 상승한다!!! …
  • Most searched keywords: Whether you are looking for 변동성 돌파 전략 – 3초 만에 이해 변동성 돌파 전략 기본. 래리 윌리암스 (Larry Williams)에 의해 고안됨; 트렌드 추종을 기본으로 함. 상승하는 놈이 계속 상승한다!!! 앤테바 님의 블로그입니다.
  • Table of Contents:

변동성 돌파 전략 – 3초 만에 이해

변동성 돌파 전략 기본

변동성 돌파 전략 핵심

변동성 돌파 전략 예시

변동성 돌파 전략 강점

변동성 돌파 전략 - 3초 만에 이해
변동성 돌파 전략 – 3초 만에 이해

Read More

변동성 돌파 전략 끝판 왕

  • Article author: ko.kienthuccuatoi.com
  • Reviews from users: 21600 ⭐ Ratings
  • Top rated: 3.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성 돌파 전략 끝판 왕 … 변동성 돌파 전략 끝판 왕:. …
  • Most searched keywords: Whether you are looking for 변동성 돌파 전략 끝판 왕 … 변동성 돌파 전략 끝판 왕:.
  • Table of Contents:
변동성 돌파 전략 끝판 왕
변동성 돌파 전략 끝판 왕

Read More

변동성 돌파 트렌드 전략 – TVExtBot

  • Article author: tvextbot.github.io
  • Reviews from users: 41516 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성 돌파 트렌드 전략 – TVExtBot 변동성 돌파 트렌드 전략은 변동성 돌파 기본 전략을 1시간봉과 2시간봉에 최적화하여 롱과 숏 양방향으로 매매가능하도록 수정한 단기 추세 전략 … …
  • Most searched keywords: Whether you are looking for 변동성 돌파 트렌드 전략 – TVExtBot 변동성 돌파 트렌드 전략은 변동성 돌파 기본 전략을 1시간봉과 2시간봉에 최적화하여 롱과 숏 양방향으로 매매가능하도록 수정한 단기 추세 전략 … 변동성 돌파 트렌드 전략은 변동성 돌파 기본 전략을 1시간봉과 2시간봉에 최적화하여 롱과 숏 양방향으로 매매가능하도록 수정한 단기 추세 전략입니다.

    중요사항

    EXPERT 사용자 전용 지표입니다.Expert 사용자이외에는 사용하실수 없습니다.
    1시간과 2시간봉에만 사용가능합니다. 그이외의 시간봉에서는 사용하지 마세요.
    고배율의 레버리지는 사용하지 마세요. 만약 레버리지를 사용하신다면 개인적으로는 2배를 추천드립니다.
    지표 사용에 의해서 발생한 매매손실에 대해서는 일체 책임을 지지 않으니 유의하여 주세요.

  • Table of Contents:
변동성 돌파 트렌드 전략 - TVExtBot
변동성 돌파 트렌드 전략 – TVExtBot

Read More

단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)

  • Article author: ldgeao99.tistory.com
  • Reviews from users: 16630 ⭐ Ratings
  • Top rated: 3.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전) 세부전략 · 1. 종목선정 · 2. 돌파신호 정의 · 3. 다섯 개의 종목 중 돌파신호를 보이는 코인을 선택하여 배팅 비율 만큼 매수함 · 4. 종가에 익절이든 손절 … …
  • Most searched keywords: Whether you are looking for 단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전) 세부전략 · 1. 종목선정 · 2. 돌파신호 정의 · 3. 다섯 개의 종목 중 돌파신호를 보이는 코인을 선택하여 배팅 비율 만큼 매수함 · 4. 종가에 익절이든 손절 … 헤이비트의 advance 1.0 전략은 이전의 Basic 버전과 비교하여 MDD와 수익률 면에서 크게 개선된 버전이다. 전략개요 후보 암호화폐 : 5종 K값 : 최근 20일 간의 노이즈 비율의 평균 값 배팅비율 : (이동평균선..
  • Table of Contents:

LAB OF DAEGON

단기 변동성 돌파 전략(헤이비트 Advanced 10 버전) 본문

전략개요

세부전략

시장과 종목의 추세 수준에 따른 파라미터 값 선정

백테스트 결과

결론

티스토리툴바

단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)
단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)

Read More

가상화폐 투자 마법 공식 – Kangcfa – Google Sách

  • Article author: books.google.com.vn
  • Reviews from users: 23787 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 가상화폐 투자 마법 공식 – Kangcfa – Google Sách Updating …
  • Most searched keywords: Whether you are looking for 가상화폐 투자 마법 공식 – Kangcfa – Google Sách Updating 가상화폐, ‘존버’하지 말고 ‘투자’하라 하락장에서도 수익 내는 ‘단타 기법’ 공개 최악의 폭락장에서도 손실을 자산 대비 10% 이내로 줄이면서 안정적으로 높은 수익을 낼 수 있는, 쉽고 안전한 가상화폐 투자 기법을 소개하는 책. ‘살인적인 변동성’으로 혼란에 빠지거나 막연한 상승 기대감만으로 장기 보유하다가 낭패를 보는 가상화폐 투자자들에게 무엇을 언제 얼마나 사고, 언제 팔았다가 어떤 조건에서 다시 사는지 등 구체적이고 실질적인 매매 기법을 알려준다. 두 저자는 주식 투자 분야에서 이미 명성이 높은 인물. 그들은 퀀트 투자와 시스템 트레이딩에 기반을 둔 투자 전략, 철저한 리스크 관리와 분산 투자 기법 등이 가상화폐 시장에서 더 잘 통한다는 사실을 확인하고 이 책을 펴냈다. 초보 투자자도 실전에서 써먹을 수 있도록 쉽게 풀어 설명하면서도 마켓 타이밍, 자금 관리, 신호 필터링, 타임 프레임 분산, 단기 추세 추종 등 고급 기법을 적용했다. 책은 전일 오후 수익률 상승 시 오전 0시에 매수했다가 정오에 매도하는 초간단 매매로 고수익을 올리는 ‘오전 천국, 오후 지옥 전략’부터 상승장에서는 수익을 극대화하고 하락장에서도 수익을 낼 수 있는 ‘변동성 돌파 전략’까지 저자들이 직접 검증한 13가지 매매 규칙을 공개한다. 블록체인이나 가상화폐의 개념과 관련 논쟁은 아예 배제하고 오로지 가상화폐 투자로 ‘돈 버는 법’에 집중했다고 저자들은 강조했다 ※ 도서 내용이 일부 수정되었습니다. 기존에 다운로드 받으신 고객님들께서는 재 다운로드하시길 권장합니다.
  • Table of Contents:
가상화폐 투자 마법 공식 - Kangcfa - Google Sách
가상화폐 투자 마법 공식 – Kangcfa – Google Sách

Read More

변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브

  • Article author: quantlive.tistory.com
  • Reviews from users: 41528 ⭐ Ratings
  • Top rated: 3.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브 몇주전에 변동성 돌파전략을 시뮬레이션 하면서 수익률이 너무 잘나와서 … 비트코인이나 코스닥지수처럼 변동성이 큰 종목들은 이 전략이 잘 맞는 … …
  • Most searched keywords: Whether you are looking for 변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브 몇주전에 변동성 돌파전략을 시뮬레이션 하면서 수익률이 너무 잘나와서 … 비트코인이나 코스닥지수처럼 변동성이 큰 종목들은 이 전략이 잘 맞는 … 몇주전에 변동성 돌파전략을 시뮬레이션 하면서 수익률이 너무 잘나와서 다른 사람들이 테스트한 결과를 많이 찾아봤다. 여전히 수익률이 좋았다고 말하고 있었다. 비트코인이나 코스닥지수처럼 변동성이 큰 종목..퀀트투자를 통한 마음편한 투자
  • Table of Contents:

변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실

티스토리툴바

변동성돌파 전략 정밀 테스트 - 아! 슬리피지 손실 :: 퀀트라이브
변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브

Read More


See more articles in the same category here: 607+ tips for you.

변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개!

변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 전략 대공개!

안녕하세요 퀀트픽입니다!

약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다. 비록 시장 대비 한참 못 벌었지만 월단위로 -0.5% 이하의 손실을 본적이 없으며 2021년 5월 기준으로 약 120%의 누적 수익률을 달성하였습니다.

물론, 지금과 같은 암호화폐 시장에서 아무 김치코인을 매수하고 몇개월 동안 눈을 감으면 5배 또는 10배 이상을 버실 수 있을 것 입니다. 하지만, 영원한 상승장은 없으며 과연 다음에도 같은 방법을 사용하여 지속가능성 있는 수익을 벌 수 있는지도 의심이 듭니다.

투자에 정답은 없으나 최소 연복리 50% 이상 지난 10년동안 벌고, 최악의 경우 -25%로 방어한 전략이 바로 변동성 돌파 전략입니다. 최근에는 퀀트픽이 더 연구하고 공부하면서 변동성 돌파 전략의 기본 전략 위에 다양한 장치들을 추가로 탑재하여 전략을 더 로버스트하고 더 공격적으로 업그레이드 하였습니다. 제 노하우와 인사이트를 이번 포스팅에서 말씀 드리겠습니다.

1 . 변동성 돌파 기본 전략

– 변동성 돌파 전략의 가장 적인 로직은 아래와 같습니다. – 매수 : 돌파선 = 전일 레인지 (고가-저가) * K + 금일 시가

– 매도 : 타임커트 = 금일 시가에 매도.

– 조금더 길게 풀어서 해석하면 이렇습니다. 가격이 돌파선을 돌파시 매수하고, 돌파를 하지 못하면 현금 보유 합니다. 가격이 돌파 후 매수 시 다른 시장 참여자들의 익절 매물 그리고 본전 회복 심리에 기반한 매물로 인한 평균회귀를 고려하여 수익과 손실에 상관이 없이 시간이 되면 매도 합니다.

2. 변동성 돌파 타임프레임 분산 전략 – 그다음은 기존의 변동성 돌파 전략에 타임프레임 분산을 응용하였습니다. 매수와 매도 로직은 동일하나 여기에 시간 분산 기법을 활용하였습니다. – 암호화폐 거래소에서는 00:00 UTC를 기준으로 전일 종가와 금일 시가를 계산합니다. 00:00 UTC는 한국시간으로 오전 09:00 임. 공교롭게도 한국 주식 시장이 개장하는 시간과 동일 합니다. – 변동성 돌파 전략은 전일의 고가 – 전일의 저가 계산한 다음 K값을 곱하고 금일 시가를 더해서 매수 조건 형성 합니다. 만약 00:00UTC를 전일의 종가이자 금일의 시가로 정하면 한국시간 오전 09:00 부터 다음날 09:00까지 비트코인의 가격의 고점과 저점을 계산합니다. – 만약 01:00UTC를 전일의 종가이자 금일의 시가로 정하면 한국시간 오전 10:00 부터 다음날 10: 00까지 비트코인의 가격의 고점과 저점을 계산합니다. 그리고 계산한 레인지를 다음날 오전 09:00가 아닌 10:00의 가격에 더하는 것 입니다!

타임프레임 분산 전략은 크게 2가지 방법으로 사용할 수 있습니다!

가. 가장 잘 먹히는 시간대로 최적화하여 운용. – 퀀트픽이 24시간을 모두 시간단위로 지난 수년을 백테스트 해본 결과 한국시간 오전 09시, 10시, 그리고 11시 가 유의미한 결과를 주었습니다! 그리고 이 중에 비트코인과 이더리움 기준으로 10시>11시>9시 순서로 성과다 좋았습니다. – 기존에는 단순하게 9시를 기준으로 전일의 레인지를 계산하고, 9시에 돌파선 형성 및 타임커트 하는 전략을 사용한 반면 타임프레임 분산 전략을 응용하여 최적의 시간을 기준으로 돌파선을 계산 및 타임커트할 수 있도록 업그레이드 하였습니다. 나. 전략을 타임프레임 별로 분산하여 전략의 캐파 증진. – 다른 용도로는 비록 수익률이 떨어질 수 있으나 09시 , 10시 , 그리고 11시를 기준으로 돌파선 형성 & 타임커트를 응용하는 것 입니다. – 유동성이 부족할때 수십억원을 시장가로 거래할 시 슬리피지로 인한 막대한 거래비용이 발생할 수 있습니다. 이 자금은 1/3으로 배분한 다음 9시 / 10시 / 11시 타임프레임에 분산함으로서 수익률은 다소 떨어지나 전략의 캐파시티를 늘릴 수 있으며 거래비용을 낮출 수 있습니다! – 쉽게 말해서 전략의 캐파와 수익률의 트레이드 오프(TRADE-OFF)라고 보면 이해하기 쉽습니다!

3. 변동성 돌파 + 타임프레임 + 변동성 조절 기법 변동성 조절 기법은 노출하고 싶은 변동성을 조절하는 자금관리 기법입니다! 전일 변동성 = (전일의 고가 – 전일의 저가) / (전일의 종가) 투입 비중 = 타켓 변동성 / 전일 변동성

변동성 조절 하는 방법!

– 만약 전일의 변동성이 10% 이고 제가 노출하고 싶은 변동성은 5%라고 가정해 봅니다. 그렇다면 오늘 만약 가격이 돌파를 했을 경우 제가 투입하는 자금의 투입 비중은? 투입 비중 = 5% / 10% = 50% 입니다! – 반대로 전일의 변동성이 5%이고 제가 노출하고 싶은 변동성이 10%라면? 투입 비중 = 10% / 5% = 200% 입니다! – 이런 경우에는 레버리지를 사용하여 제가 노출하고 싶은 변동성에 노출 할 수 있습니다.

4. 변동성 돌파 + 타임프레임 + 변동성 조절 기법 + 레버리지

– 변동성 순환과 군집의 현상에 따라서 변동성이 작은 구간 이후에는 변동성이 커질 확율이 크며, 변동성이 큰 구간 이후에는 변동성이 작아질 확율이 높다는 전제가 있습니다.

– 암호화폐는 매우 추세가 강한 시장으로 변동성이 작아진 이후에 잠시 횡보를 하다가 상방 또는 하방으로 엄청난 변동성과 함께 추세가 형성됩니다.

– 변동성이 작은 구간에는 변동성 조절 기법 + 레버리지를 사용하면 상방으로 돌파 할때 매우 큰 수익을 한번에 취할 수 있습니다. – 반대로, 큰 추세로 상승한 후 수익을 챙긴 다음에는 베팅 비중으로 자연스럽게 줄여서 포지젼에 진입해도 손실을 다소 줄일 수 있다는 이점이 있습니다!

한마디 요약하면!

내가 유리 할때는 레버리지를 사용해서 수익을 극대화 하고

내가 불리 할때는 비중을 축소하여 손실을 최소화 한다!

5. 노이즈 비율이란 무엇인가? 그리고 퀀트픽이 사용하지 않는 이유! 래리 윌리엄스가 개발한 변동성 돌파전략은 코스닥과 같은 지수와 암호화폐에 잘 먹히는 것을 알 수 있습니다. 해당 전략은 모든 자산군에 잘 먹히지는 않습니다. 외환, 금, 원유등 기타 원자재에 백테스트를 해보면 수익곡선이 완전히 망가지는 것을 볼 수 있습니다. 변동성 돌파 전략이 꾸준히 수익을 내기 위한 조건은 아래와 같습니다. 1. 변동성이 커야 합니다. – 트레이딩 하는 자산군 또는 개별 종목의 변동성이 커야 변동성 돌파 전략이 잘 먹힙니다. – 변동성이 크면 돌파 후에 매수 시 수수료와 슬리피지를 커버하고도 수익을 낼 수 있기 때문입니다.

2. 노이즈가 적어야 합니다. – 추세적 = 노이즈가 적다 = 추세가 한번 형성되면 추세데로 쭉 간다는 뜻 입니다. 비추세적 = 노이즈가 크다 = 오르면 떨어지고, 떨어지면 하락하는 가격의 방향이 바뀌는 성질이 강하는 뜻 입니다. – 특정 종목이 추세적이라면 캔들 차트의 위꼬리 또는 아래꼬리가 짦습니다. 위꼬리는 가격이 올라갔다가 하락하면서 생기고, 아래꼬리는 가격이 하락했다가 오르면서 생깁니다. – 위꼬리와 아래꼬리가 짦으면 노이즈가 적다는 것, 길으면 노이즈가 크다 라고 해석하면 됩니다. 이를 한줄의 공식으로 풀어보면

노이즈 = 1 – abs(시가-종가)/(고가-저가)

– 분모를 캔들의 전체 길이로 잡아보자. 캔들의 전체 길이를 계산하기 위해서는 고가에서 저가를 빼면 됩니다. – 분수를 (시가 – 종가)의 절대값 (absolute value)로 하면 캔들 전체 길이에서 시가 대비 종가의 길이 비율을 계산할 수 있습니다. – 마지막으로 이 비율을 1에서 빼면 위꼬리와 아래꼬리의 비율이 됩니다. 그리고 이를 하나의 지표로 사용할 수 있습니다!

변동성 돌파 전략에 노이즈 비율을 활용할 수 있는 방법은 크게 4가지가 있습니다! 1.노이즈 값이 특정 수준 이하인 경우만 진입!

– 단일 종목 진입의 필터 조건으로 활용!

2. 노이즈 값이 특정 수준 이할일 경우만 포트폴리오 유니버스에 편입!

– 포트폴리오 구성의 필터 조건으로 이용!

3. 노이즈 값이 작은 종목들만 선별적으로 선택하여 트레이딩 !

– 노이즈 값이 작다는 것은 종목이 추세적이라는 뜻!

4. 노이즈 값에 따라 진입의 역치를 조절!

– 노이즈가 값이 작으면 돌파 계수를 낮게!

– 노이즈 값이 높으면 돌파 계수를 높게 조절!

1~3번의 활용방법은 트레이딩 유니버스를 코인 시장에서 가장 큰 시가총액과 엄청난 거래량이 발생하고 있는 비트코인과 이더리움만 트레이딩 하고 있으며 생략하였습니다. 그리고 4번인 노이즈 값에 따라 진입의 역치를 조절하는 변돌 분노자 지표의 노이즈 비율을 사용하여 백테스트 해본 결과 아래와 같습니다.

계수와 제곱을 1로 설정하면 고정 k 값이 아닌 노이즈 비율에 따라 유동적으로 돌파선을 조절합니다. 바이비트 비트코인 인버스 선물계약, 2019년 01월01일 부터 2021년 05월11일 까지의 수익곡선 입니다. 노이즈 비율을 사용할 시 수익곡선이 깨지는 것을 볼 수 있었습니다. 이더리움에도 노이즈 비율을 사용해보았습니다! 거래빈도수가 올라가고 수익곡선이 망가지지는 않습니다.

하지만 노이즈 비율을 사용하지 않는것이 백테스트 상 결과가 더 좋네요~결과적으로 퀀트픽은 노이즈 비율을 사용하지 않기로 결정하였습니다!

퀀트픽 VB+는 1. 비트코인과 이더리움만 트레이딩 합니다.

2. 바이낸스 선물 거래소를 활용하여 거래비용을 낮추고 레버리지를 활용합니다.

3. 일중 모멘텀이 가장 뚜렸한 10시를 기준으로 돌파선 형성 및 타임커트를 합니다.

4. 백테스트 상 MDD -25% 이하를 기준으로 변동성 조절 기법을 응용합니다.

5. 레버리지는 최고 200%로 제한하여 시장보다 아웃퍼폼하되 강제청산의 가능성을 낮추었습니다.

제가 공부하고 조사한 자료 출저는 아래와 같습니다.

1. SYSTRADER79 카페

2. 할투 유튜브

3. 가상화페 투자 마법 공식

4. 철투 유튜브

5. 철투 사이트

그리고 위의 모든 자료와 데이터 그리고 트레이딩 뷰 스크립트를 적절하게 조합하고 위에 말씀드린 모든 요소들을 고려하여 퀀트픽은 가장 기본적인 변동성 돌파 전략에서 빌드업을 하여 퀀트픽 VB+를 운용하고 있습니다.

*** 철투 2021신전략 소개 및 세팅 방법 을 참고하여 전략을 구매하고 세팅하는 방법까지 모두 확인하실 수 있습니다!

트레이딩의 끝판왕 자동매매 전략 구현하기 (feat. 변동성 돌파 트렌드 전략 by TVExtBot)

1. 자동매매란?

현물에서는 싸게 사서, 비싸게 파는 것을 자동으로 해주는 것을 말하며, 선물 및 마진거래에서는 롱(매수) 또는 숏(매도) 포지션 진입과 청산을 자동으로 해주는 것을 말함

2. 자동매매에 대한 나만의 생각 및 무한도전

싸게 사서 비싸게 팔 수 있는 방법이 있고, 이를 자동으로 실행할 수 있는 자동매매 툴이 있다고 생각해 보자.

상상만으로도 짜릿하지 않은가? 아마도 트레이딩을 하는 투자자들의 로망(파랑새)이 아닐까 생각한다.

이를 위해 누군가는 열심히 방법을 찾아가고 있고, 테스팅해 본다. 잃기도 하고 수익을 얻기도 한다.

아직 완벽한 방법이란 없다.

본인이 예전에 자동매매 지표로 활용한 ‘하이킨아시를 활용한 supertrend benjake 지표 전략’도 상당히 성공적이여 보였지만 실질적으로 지속적으로 자동매매만으로 할 수 없게 하는 뭔가가 (장애물이) 있었다.

개인이 자동매매를 신뢰하지 못하는 실수도 있었고,

시장이 과거와는 다르게 전개되는 경우도 있었다.

지속적으로 관찰하는 끈기가 부족하기도 했다.

성공적인 자동매매 전략을 찾는 것은

나에게 ‘무한도전’이지만 누군가는 이를 ‘무모한도전’이라고 할 수 있으리라.

3. 변동성 돌파 트렌드 전략을 통한 자동매매

나의 이러한 도전에 도움을 주시는 분이 있다.

TVExtBot 개발자 분이다.

이 분께서 이번에 ‘변동성 돌파 트렌드 전략’을 내 놓았다.

(TVExtbot을 사용하시는 분은 아시겠지만 expert 버전을 구매하시는 분께서는 무료로 제공하고 있다.)

변동성 돌파 트렌드 전략은

변동성 돌파 기본 전략을 1시간봉과 2시간봉에 최적화하여

롱과 숏 양방향으로 매매가능하도록 수정한 단기 추세 전략이다.

여러분도 파랑새를 한번 찾아보시죠.

아래 포스팅을 확인해 보세요.

https://tvextbot.github.io/post/indicator_vbt/

06-2 변동성 돌파 전략 구현

변동성 돌파 전략

래리 윌리엄스(Larry Williams)가 Long-Term Secrets to Short-Term Trading에서 소개한 변동성 돌파 전략은 최근 ‘가즈아! 가상화폐 투자 마법공식 (강환국 저)’ 등에서 소개된 이후로 국내에서도 유명해졌습니다. 변동성 돌파 전략을 간략히 요약해 보면 아래와 같습니다.

1) 가격 변동폭 계산: 투자하려는 가상화폐의 전일 고가(high)에서 전일 저가(low)를 빼서 가상화폐의 가격 변동폭을 구합니다. 2) 매수 기준: 당일 시간에서 (변동폭 * 0.5) 이상 상승하면 해당 가격에 바로 매수합니다. 3) 매도 기준: 당일 종가에 매도합니다.

간단한 예제와 함께 변동성 돌파 전략을 이해해 봅시다. 가상화폐는 24시간 거래되고 있기 때문에 먼저 시가와 종가를 계산할 기준 시간을 잡아야 합니다. 00:00:00 분부터 그날의 거래가 시작되고 23:59:59에 거래가 종료된다고 가정합시다.

1) 가격 변동폭은 00:00:00~23:59:59 사이의 거래 중에서 가장 높았던 금액과 가장 낮았던 금액을 빼주면 되겠지요? 예를 들어 12월 10일의 비트코인의 고가가 460만 원이고 저가가 300만 원이었다면 이날의 가격 변동폭은 160만 원입니다.

2) 12월 11일 비트코인의 시가(open)가 400만 원이라면 12월 11일의 매수 목표가는 400 + 160 x 0.5 = 480만 원이 됩니다. 12월 11일 하루 종일 일정한 시간마다 현재가를 계속 조회하다가 현재가가 매수 목표가인 480만 원을 넘어서면 바로 매수합니다.

3) 매도는 12월 12일 00:00:00초에 갖고 있는 비트코인을 시장가로 전량 매도합니다.

단계-1: 주기적으로 현재가 얻어오기

래리 윌리엄스의 변동성 돌파 전략을 단계별로 구현해 나가 보겠습니다. 24시간 동안 실행해야 하기 때문에 반복문 while을 사용합니다. Ch06/06_12.py는 0.2초에 한 번씩 비트코인의 현재가를 화면에 출력합니다. 거래소마다 초당 호출할 수 있는 API의 횟수에 제한이 있기 때문에 0.2초 정도 쉬는 겁니다.

# ch06/06_12.py 1: import pybithumb 2: import time 3: 4: while True: 5: price = pybithumb.get_current_price(“BTC”) 6: print(price) 7: time.sleep(0.2)

라인 4: 반복 횟수가 정해져 있지 않기 때문에 while문을 사용합니다.

라인 5: get_current_price() 함수를 호출하여 비트코인의 현재가를 얻어옵니다.

라인 6: 얻어온 현재가를 화면 출력합니다.

라인 7: 0.2 초 동안 수행을 멈춥니다.

단계-2: 목표가 계산하기

비트코인의 전일 가격 정보를 얻어온 후 금일 매수 목표가를 계산해 봅시다. pybithumb 모듈의 get_ohlcv() 함수는 시가/고가/저가/종가/거래량의 일봉 데이터를 DataFrame 객체로 반환합니다. 함수의 파라미터로 조회하려는 암호화폐의 티커를 입력합니다. 다음 코드는 비트코인 (BTC)의 가격 정보를 화면에 출력합니다.

1: import pybithumb 2: 3: df = pybithumb.get_ohlcv(“BTC”) 4: print(df.tail())

라인 3: get_ohlcv() 함수를 호출해서 비트코인의 일봉 정보를 DataFrame 객체로 얻어옵니다.

라인 4: tail() 메서드를 사용해서 DataFrame 객체에 저장된 일봉 데이터 중 끝의 5개 값만을 출력합니다.

출력 결과를 살펴보면 가격 데이터가 날짜를 기준으로 내림차순 정렬돼 있습니다. 가장 마지막 행에는 금일 조회 시점까지의 거래 정보가 들어있습니다. 따라서 하루 전의 데이터는 DataFrame 끝에서 두 번째행을 얻어와야 합니다. 정수 인덱스 값을 사용해서 행 단위로 값을 얻어올 때는 iloc를 사용했었지요?

open high low close volume 2018-12-11 00:00:00 3931000.0 3988000.0 3787000.0 3800000.0 4236.665853 2018-12-12 00:00:00 3803000.0 3919000.0 3777000.0 3845000.0 3714.563063 2018-12-13 00:00:00 3845000.0 3931000.0 3800000.0 3839000.0 3602.461280 2018-12-14 00:00:00 3839000.0 3861000.0 3670000.0 3704000.0 5563.794047 2018-12-15 21:00:00 3707000.0 3712000.0 3590000.0 3607000.0 3145.158777

가상화폐는 24시간 시장이 열리기 때문에 어제의 종가가 오늘의 시가와 비슷합니다. 따라서 어제의 시가, 고가, 저가, 종가 데이터를 가져오면 목표가 계산에 필요한 전일 저가, 전일 고가, 당일 시가를 모두 얻을 수 있습니다. (보다 정확히 구현하려면 오늘의 시가를 따로 얻어와야 합니다)

# ch06/06_13.py 01: import pybihtumb 02: 03: df = pybithumb.get_ohlcv(“BTC”) 04: yesterday = df.iloc[-2] 05: 06: today_open = yesterday[‘close’] 07: yesterday_high = yesterday[‘high’] 08: yesterday_low = yesterday[‘low’] 09: target = today_open + (yesterday_high – yesterday_low) * 0.5 10: print(target)

라인 4: iloc [-2]로 끝에서 두 번째 행(전일 데이터)을 가져옵니다. yesterday에는 전일 데이터가 Series 객체로 바인딩됩니다.

라인 6: Series 객체로부터 ‘close’ 인덱스를 사용해서 당일 시가를 얻어옵니다.

라인 7: Series 객체로부터 ‘high’ 인덱스를 사용해서 전일 고가를 얻어옵니다.

라인 8: Series 객체로부터 ‘low’ 인덱스를 사용해서 전일 저가를 얻어옵니다.

라인 9: 래리 윌리엄스 변동성 돌파 전략의 목표가를 계산합니다. (당일 시가 + 레인지 x 0.5)

목표가는 프로그램이 시작될 때 한 번 그리고 매일 자정마다 재계산되어야 합니다. 코드의 재사용을 위해 목표가를 계산하는 부분을 함수로 정리해 봅시다.

def get_target_price(ticker): df = pybithumb.get_ohlcv(ticker) yesterday = df.iloc[-2] today_open = yesterday[‘close’] yesterday_high = yesterday[‘high’] yesterday_low = yesterday[‘low’] target = today_open + (yesterday_high – yesterday_low) * 0.5 return target

단계-3: 자정에 목표가 갱신하기

래리 윌리엄스의 변동성 돌파 전략에서 목표가는 프로그램이 시작될 때 한 번 그리고 매일 자정마다 갱신해야 합니다. 목표가를 계산하는 get_target_price() 함수를 구현해놨기 때문에 이 함수를 적절한 시점에 호출해주기만 하면 됩니다. 하지만 현재 시각을 얻어오는 것뿐만 아니라 자정인지 아닌지를 판단하는 부분도 어려워 보입니다. 이러한 기능을 처음부터 구현하는 것보다는 기존에 구현된 모듈을 사용하면 좋겠죠?

파이썬은 시간을 쉽게 다룰 수 있는 datetime 모듈을 제공합니다. 처음 접하면 어려울 수 있기 때문에 다양한 코드를 살펴보며 datetime의 사용법을 익혀봅시다. 다음 코드는 2018년 12월 1일 00:00:00 초가 저장된 datetime 객체를 생성합니다.

1: import datetime 2: 3: dt = datetime.datetime(2018, 12, 1) 4: print(dt) 5: print(dt.year, dt.month, dt.day)

라인 1: datetime 모듈을 import 합니다.

라인 3: datetime 클래스의 초기화자로 년/월/일 세 개의 값을 전달합니다.

라인 4: datetime 객체가 바인딩된 dt 변수를 출력합니다.

라인 5: datetime 객체에 저장된 인스턴스 변수를 출력합니다.

위 코드를 실행하면 datetime 객체에 저장된 현재 시각이 다음과 같이 출력됩니다. 원하는 시각을 갖는 datetime 객체가 생성된 것을 확인할 수 있습니다. 또한 datetime 객체에 저장된 년/월/일 값이 year, month, day 속성에 바인딩된 것을 알 수 있습니다.

2018-12-01 00:00:00 2018 12 1

datetime 모듈에서 현재 시각은 now() 메서드를 사용해서 얻습니다. 다음 코드는 now() 메서드로 얻어온 datetime 객체와 직접 생성한 datetime 객체를 비교합니다.

1: import datetime 2: 3: dt = datetime.datetime(2018, 12, 1) 4: now =datetime.datetime.now() 5: print(now) 6: 7: print(now == dt) 8: print(now > dt)

now 에는 현재 시각이 datetime 객체로 저장돼 있습니다. 예제에서는 호출한 시점이 2018년 12월 16일 02:35:30초입니다. 직접 만든 dt 변수와 now 변수에는 모두 datetime 객체가 바인딩 돼 있기 때문에 비교 연산을 사용할 수 있습니다. 만약 현재 시각이 문자열로 저장돼 있다면 비교 연산을 사용할 수 있을까요? 사용 방법이 어려워 보이지만 datetime을 사용할 때의 얻을 수 있는 가장 큰 장점입니다.

2018-12-16 02:35:20.921899 False True

지금까지 배운 내용을 모두 응용해서 다음날 자정의 시각이 저장된 datetime 객체를 만들어봅시다. now() 메서드로 생성한 datetime의 속성 값을 얻어오는 것이 핵심입니다.

1: import datetime 2: 3: now = datetime.datetime.now() 4: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 5: print(now) 6: print(mid)

라인 3: now() 메서드로 현재 시각을 얻어옵니다.

라인 4: 00:00:00 초의 datetime 객체를 생성하고, 1일의 시간을 더해 다음 날 자정으로 만듭니다. timedelta(1)이 1일의 시간을 의미합니다.

변동성 돌파 전략은 24시간 동안 실행되며, 자정마다 목표가를 갱신해야 합니다. while문 안에서 now() 메서드와 datetime 클래스를 활용해서 자정을 판별해 보겠습니다. Ch06/06_14.py는 매일 자정마다 “자정입니다” 문자열을 화면에 출력하기를 기대하는 프로그램입니다. 코드에 문제가 있어 정상적으로 실행되지 않기 때문에 “기대”라고 언급했습니다. 문제점을 찾아보기 위해 코드를 이해해 봅시다.

# ch06/06_14.py 01: import time 02: import datetime 03: 04: now = datetime.datetime.now() 05: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 06: 07: while True: 08: now = datetime.datetime.now() 09: if now == mid : 10: print(“정각입니다”) 11: now = datetime.datetime.now() 12: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 13: 14: print(now, “vs”, mid) 15: time.sleep(1)

라인 4: 프로그램이 시작할 때 실행되는 코드로 다음날 자정 시각을 계산하기 위해 현재 시각을 얻어옵니다.

라인 5: 다음날 자정의 시각을 계산해서 datetime 객체로 저장합니다.

라인 8: while문 안에서 반복해서 현재 시각을 얻어옵니다.

라인 9: datetime의 비교 연산을 사용해서 얻어온 현재 시각이 자정인지 체크합니다.

라인 11~12: 자정이라면 다음날의 자정 시각을 계산합니다.

라인 14: 현재 시각과 다음날 자정 시각을 출력합니다.

코드를 실행하면 1초에 한 번씩 현재 시각과 다음날 자정의 시각이 출력됩니다. 출력값의 첫 번째 행을 보면 now() 메서드로 얻어온 현재 시각은 12월 16일 03:12:55초라는 것을 알 수 있습니다. 시간이 지나 현재 시각이 12월 17일 00:00:00 초가 되면 “정각입니다” 문자열이 출력될 것을 기대합니다. 하지만 안타깝게도 “정각입니다” 문자열은 출력될 수도 있고 안될 수도 있습니다. 두 번째 행의 현재 시각이 첫 번째 행과 비교하여 1.000459초 차이 납니다. 이는 프로그램에서 정확하게 1초 단위로 시각을 비교할 수 없음을 의미합니다. 컴퓨터에 과부하가 걸릴 경우 시간 차이는 더욱 커질 수 있기 때문에 now() 메서드로 얻어온 현재 시간이 23:59:59초 다음 자정이 아니라 24:00:01초로 넘어갈 수도 있습니다.

2018-12-16 03:12:55.149264 vs 2018-12-17 00:00:00 2018-12-16 03:12:56.149723 vs 2018-12-17 00:00:00 2018-12-16 03:12:57.150150 vs 2018-12-17 00:00:00

이런 문제를 해결할 수 있는 쉬운 방법 중 하나는 반복문 내에서 특정 시각을 비교하는 것이 아니라 보다 긴 구간(약 10초)에 속하는지를 확인하는 겁니다. 예를 들어 지금 시간이 00:00:00초를 비교하는 것보다 지금 시간이 00:00:00초 보다는 크고 00:00:10초보다는 작은 구간에 있는지를 비교하는 겁니다. ch06/06_15.py는 구간을 비교해서 목표가까지 계산하는 코드입니다.

# ch06/06_15.py 01: import time 02: import datetime 03: 04: now = datetime.datetime.now() 05: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 06: 07: while True: 08: now = datetime.datetime.now() 09: if mid < now < mid + datetime.timedelta(seconds=10) : 10: print("정각입니다") 11: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 12: 13: time.sleep(1) 라인 9의 코드를 눈여겨보세요. datetime.delta는 datetime에 offset을 더할 때 사용하는데, (seconds=10)은 10초를 더한다는 의미입니다. 현재 시각(now)이 자정(mid)와 자정에서 10초 뒤의 구간 사이에 있는가를 비교합니다. Ch06/06_16.py은 목표가 계산까지 포함된 전체 코드입니다. # ch06/06_16.py 01: import time 02: import pybithumb 03: import datetime 04: 05: def get_target_price(ticker): 06: df = pybithumb.get_ohlcv(ticker) 07: yesterday = df.iloc[-2] 08: 09: today_open = yesterday['close'] 10: yesterday_high = yesterday['high'] 11: yesterday_low = yesterday['low'] 12: target = today_open + (yesterday_high - yesterday_low) * 0.5 13: return target 14: 15: now = datetime.datetime.now() 16: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 17: target_price = get_target_price(“BTC”) 18: 19: while True: 20: now = datetime.datetime.now() 21: if mid < now < mid + datetime.timedelta(seconds=10) : 22: target_price = get_target_price(“BTC”) 23: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 24: 25: current_price = pybithumb.get_current_price("BTC") 26: print(current_price) 27: 28: time.sleep(1) 단계-4: 매수 시도 이번에는 매수 기능을 추가해 보겠습니다. 목표가가 현재가 이상일 경우 잔고를 조회하고 주문 가능한 수량을 계산한 후에 시장가 매수합니다. Ch06/06_17.py 은 6.1.3 절의 잔고조회와 6.1.4 절의 시장가 주문을 사용합니다. # ch06/06_17.py # 코드 생략 23: while True: 24: now = datetime.datetime.now() 25: if mid < now < mid + datetime.timedelta(seconds=10): 26: target_price = get_target_price(“BTC”) 27: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 28: 29: current_price = pybithumb.get_current_price("BTC") 30: if current_price > target_price: 31: krw = bithumb.get_balance(“BTC”)[2] 32: orderbook = pybithumb.get_orderbook(“BTC”) 33: sell_price = orderbook[‘asks’][0][‘price’] 34: unit = krw/float(sell_price) 35: bithumb.buy_market_order(“BTC”, unit) 36: 37: time.sleep(1)

라인 30: 현재가가 목표가 보다 크다면 다음 코드를 실행합니다.

라인 31: 잔고 조회 API를 사용해서 보유 중인 원화를 얻어옵니다.

라인 32~33: 호가창을 조회해서 최우선 매도 호가를 조회합니다.

라인 34: 원화 잔고를 최우선 매도가로 나눠서 구매 가능한 수량을 계산합니다.

라인 35: 시장가 주문으로 비트코인을 매수합니다.

매수와 관련된 코드(라인 30~35)를 buy_crypto_currency() 함수로 정리해 봅시다. buy_crypto_currency () 함수는 매수하려는 암호화폐의 티커를 입력받습니다.

def buy_crypto_currency(ticker): krw = bithumb.get_balance(ticker)[2] orderbook = pybithumb.get_orderbook(ticker) sell_price = orderbook[‘asks’][0][‘price’] unit = krw/float(sell_price) bithumb.buy_market_order(ticker, unit)

단계-5: 매도 시도

이번 절에서는 매도 기능을 추가해보겠습니다. 변동성 돌파 전략에서는 보유 중인 비트코인을 다음 날 시초가에 전량 매도합니다. 즉, 00:00:00초에 시장가 매도를 하는 겁니다. 앞서 여러분은 이미 while 루프 내에서 00:00:00 ~ 00:00:10초 사이의 시간을 판단하는 분기문을 추가했습니다. 따라서 해당 분기문에서 다음과 같이 sell_crypto_currency() 함수를 호출해줍니다.

while True: now = datetime.datetime.now() if mid < now < mid + datetime.delta(seconds=10): target_price = get_target_price(“BTC”) now = datetime.datetime.now() mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) sell_crypto_currency(“BTC”) 이번에는 sell_crypto_currency()라는 매도 함수를 구현해 봅시다. 매도 함수에서는 단순히 본인 계좌에서 비트코인이 있는지 잔고 조회한 후 조회된 수량의 비트코인을 시장가로 전량 매도하면 됩니다. def sell_crypto_currency(ticker): unit = bithumb.get_balance(ticker)[0] bithumb.sell_market_order(ticker, unit) 정리해보면 매일 밤 자정에는 다음과 같은 순서로 작업이 진행됩니다. 1) 보유한 비트코인이 있다면(당일 매수 조건에 따라 매수가 됐다면) 해당 비트코인을 시장가로 매매 2) 전일 시가, 고가, 저가, 종가 기준으로 래리 윌리엄스의 변동성 돌파 전략 기반 목표가 재계산 3) 해당 일 기준으로 다음 날의 00:00:00 초 시간 계산 매수/매도 기능까지 함수로 정리한 전체 코드는 다음과 같습니다. # ch06/06_18.py # 코드 생략 34: while True: 35: now = datetime.datetime.now() 36: if mid < now < mid + datetime.timedelta(seconds=10): 37: target_price = get_target_price(“BTC”) 38: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 39: sell_crypto_currency("BTC") 40: 41: current_price = pybithumb.get_current_price("BTC") 42: if current_price > target_price: 43: buy_crypto_currency(“BTC”) 44: 45: time.sleep(1)

단계-6: 보안 및 예외처리

이번 절에서는 예외처리 및 보안을 강화해 보겠습니다. 앞서 여러분은 Bithumb 클래스의 객체 생성에 필요한 Connect Key와 Secret Key를 코드 상에 문자열로 직접 입력했습니다. 그러나 이러한 방식은 코드가 공개됐을 때 여러분의 Connect Key와 Secret Key가 노출됩니다.

코드와 여러분의 키값을 분리해 봅시다. 윈도우 메모장을 실행한 후 그림 6-15과 같이 Connect Key와 Secret Key를 각각 다른 줄에 붙여 넣기를 해줍니다. Connect Key가 첫 번째 줄에 위치하고 Secret Key를 그다음 줄에 붙여 넣기 해주시기 바랍니다. 메모장에서 저장을 눌러 bithumb.txt라는 이름으로 파일을 저장합니다.

그림 6-15 Connect Key와 Secret Key

기존에 문자열로 표현된 Connect Key와 Secret Key를 사용해서 Bithumb 클래스의 인스턴스를 생성하는 코드를 다음과 같이 변경합니다. 이때 메모장에서 저장한 bithumb.txt 파일은 반드시 현재 소스코드와 같은 디렉터리에 위치하고 있어야 합니다.

1: with open(“bithumb.txt”) as f: 2: lines = f.readlines() 3: key = lines[0].strip() 4: secret = lines[1].strip() 5: bithumb = pybithumb.Bithumb(key, secret)

라인 1: 예외처리 기능이 포함된 파일 열기 코드입니다.

라인 2: 파일에서 모든 줄(line)을 읽어서 파이썬 리스트로 저장합니다.

라인 3: lines[0] 번(Connect Key)을 읽은 후 strip() 메서드를 호출하여 좌우 공백을 제거한 문자열을 key라는 변수로 바인딩합니다.

라인 4: lines[1] 번(Secret Key)을 읽은 후 strip() 메서드를 호출하여 좌우 공백을 제거한 문자열을 key라는 변수로 바인딩합니다.

라인 5: key, secret 변수를 사용해서 Bithumb 클래스에 대한 인스턴스를 생성합니다.

지금까지 구현한 변동성 돌파 전략은 이상적인 환경에서만 동작합니다. 네트워크 상태가 일시적으로 좋지 않거나 bithumb 서버가 불안정한 경우 API 호출의 실패로 프로그램이 종료될 수 있습니다. pybithumb모듈은 API의 호출이 실패할 경우 None 값을 반환합니다. 다음 코드에서 get_current_price() 함수가 None 값을 반환하면 어떻게 될까요? if문에서 None 값과 숫자(target_price)를 비교하다 TypeError 메시지를 출력하고 프로그램이 종료됩니다.

current_price = pybithumb.get_current_price(“BTC”) if current_price > target_price: buy_crypto_currency(“BTC”)

프로그램이 종료되면 매수/매도를 해야 할 시점에 대응하지 못해 추가적인 손실을 입히거나 시장 참여 기회를 잃어버릴 수 있습니다. API의 호출 실패는 생각보다 빈번하게 일어나기 때문에 안정적인 프로그램 운용을 위해서는 에러 처리를 위한 코드를 추가해야 합니다.

파이썬에서는 에러를 제어하기 위해 try ~ except 문법을 사용합니다. try 키워드에는 정상 상황에서 실행될 코드를 들여 쓰기 한 후 작성하고 except 키워드에는 에러 상황에서 실행될 코드를 들여 쓰기 한 후 추가합니다. 다음은 고의로 에러를 발생시키는 코드입니다. 어떻게 동작할지 생각해봅시다.

1: try: 2: if None > 123: 3: print(“정상”) 4: except: 5: print(“에러 발생”)

라인 2-3: 정상 환경에서 실행될 코드로 에러를 발생시키기 위해 고의로 None 값과 정수 값을 비교합니다.

라인 5: 에러 상황에서 실행될 코드입니다.

정상적인 상태라면 라인 2와 라인 3의 코드를 차례로 실행하고 프로그램은 종료됩니다. 하지만 위 예제에서는 라인 2에서 에러가 발생하기 때문에 라인 3의 코드는 실행되지 못하고 라인 5의 코드가 실행됩니다. 그 결과 “에러 발생”이라는 문자열이 화면에 출력됩니다. 에러 처리를 하지 않는 경우 파이썬 인터프리터가 라인 2에서 에러를 출력하고 종료되지만 에러 처리를 한 경우에는 에러가 있더라도 파이썬 인터프리터가 종료되지 않고 다음 코드를 실행할 수 있습니다.

에러 발생

구현한 변동성 돌파 전략 코드에 try ~ except 구문을 적용해서 에러 처리를 적용해 봅시다.

So you have finished reading the 변동성 돌파 전략 끝판 왕 topic article, if you find this article useful, please share it. Thank you very much. See more: 변동성 돌파 전략 후기, 변동성 돌파 전략 단점, 변동성 돌파 전략 하락장, 변동성 돌파 전략 수익률, 변동성 돌파 전략 종목 선정, 변동성 돌파 전략 백테스트, 변동성 돌파 전략 영어, 변동성 돌파 RSI

Leave a Comment