안녕하세요

현재 주식차트 그래프의 추세선을 이용해서 코인 예약 매매 시스템을 만들고 있습니다.
그래프 라이브러리 중에 plotly 를 찾아서 해보고 있는데 제가 원하는 그래프는 아닙니다..
더 좋은 그래프 라이브러리를 찾는다면 바꿔서 진행 할 예정입니다.

python plotly 와 dash 를 이용해서 아래 이미지 처럼 candlestick(stockchart) 나타나게 만들어 보았습니다.

python plotly

 

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install python3-pip

위 순서대로 해보시면 설치 되실 겁니다

ubuntu 18 버전과python 3.6 버전 pipenv 가상환경에서 진행 하였습니다.
아래 deribit 공식 git 과 api 문서 사이트를 참고 하여 만들었습니다.

https://github.com/deribit/deribit-api-python

 

deribit/deribit-api-python

Deribit API python client library https://www.deribit.com/docs/api/ - deribit/deribit-api-python

github.com

https://docs.deribit.com/#deribit-api-v2-0-0

 

Deribit API

 

docs.deribit.com

필요한 라이브러리
pip3 install websocket-client

 

websocket 참고 사이트
https://pypi.org/project/websocket_client/

 

websocket_client

WebSocket client for Python. hybi13 is supported.

pypi.org

잘 못 되었거나 잘 모르시는 부분 있으시면 댓글 부탁 드립니다.

API 를 호출 하기 위해 request 를 하다 보면 언젠가 python requests.exceptions.ConnectionError 오류가 발생 할 수 있습니다.

이를 막고자 계속 실행하기 위해서는 대책이 필요한데요

저는 Max retries exceeded with url 오류 발생 시 urlopen 을 활용 하여 끊김 없이 데이터를 불러 오도록 만들어 보았습니다.

잘못되었거나 궁금하신 것 있으면 답글 부탁 드립니다.

감사합니다.

파이썬과 html 을 활용해서 간단하게 만들어 보았습니다.

집에 남는 PC를 삼바 서버로 활용하고 있어 외부에서도 삼바서버에 업로드 할 수 있게 만들어 보았습니다.

안되거나 궁금한 사항 있으시면 댓글 부탁 드립니다. 

 

1. python

2. html

코인 거래소 API 를 websocket 으로 받오는 중에 프로세스가 자꾸 죽어서 아래와 같은 해결 방법을 아래와 같이 찾았습니다. 내용을 더 찾아보고 싶으신 분은 https://www.programcreek.com/python/example/7545/os.execl 여기서 확인 하시면 됩니다 !

사용법은 간단하게 작성 하였습니다. 메인 함수가 실행 되는 위치에 아래 소스를 넣으시면 됩니다.

os.execl(sys.executable, sys.executable, *sys.argv)

예제)

 

Jupyter notebook 을 사용 할 때 for 문이 얼마나 진행 되었는지 눈으로 확인 하기쥬피터 노트북을 사용 할 때 for 문이 얼마나 진행 되었는지 눈으로 확인이
필요 할 때가 많죠? 그럴 때 tqdm 을 쓰시면 됩니다.

 

# 1. tqdm 선언 (없으면 설치)
from tqdm import tqdm_notebook, tqdm

# 기본 형
list_a = ['a', 'b', 'c', 'd', 'e']
for li in tqdm_notebook(list_a):
	print(li)
    
# 함수 안에서 tqdm 사용하기
def def_a(items, tqdm=None, **tqdm_params):
    
    list_data = list()
    if tqdm:
        items = tqdm(items, **tqdm_params)
    
    for item in items:
    	list_data.append(item)
    
	return list_data        

list_return = def_a(list_a, tqdm = tqdm_notebook)

python 실행 시 ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'

위와 같이 에러 메시지가 나온다면

pip3 install PyQtWebEngine 혹은 pip install PyQtWebEnginePyQtWebEngine 을 install 해주시면 됩니다.

안되시면 답글 부탁 드려요

command 창을 띄우신 다음 (windows key + r => cmd)

python -m site --user-site

를 입력 하시면 아래 이미지 처럼 경로를 찾을 수 있습니다.

시드 머니를 1000불로 계획하고 룰렛을 마틴(게일)베팅법으로 베팅 했을 때 ,

초기 베팅 금액 별 이길 확률과 평균 베팅 횟수를 python 으로 구현 해 보았습니다.

(룰렛에 0은 포함 00은 미포함)

결론은 1000불을 가지고 룰렛 number, color 베팅을 할 경우

7불, 15불을 초기 배팅금으로 잡고 시작 하는게 가장 승률이 높았습니다.

베팅 횟 수까지 고려 한다면 15불로 시작 하는게 가장 이상적인 것 같습니다(저의 의견).

!!! 절대 베팅을 권고하는 글은 아닙니다. 심심풀이로 만들어 보았을 뿐입니다

base_bet_money: $, win_rate: 승률, betting_count: 베팅 횟수

!! 제가 코드를 잘 못 짰을 수도 있어서 코드도 마지막에 첨부 하였습니다.

for bet_origin in tqdm_notebook(range(1,51)):
    idx = 0
    win = 0
    lose = 0
    total = 0
    
    while True:
        money = 1000
        bet = bet_origin
        i = 0
        hole = 0
        zzac = 0
        while True:
            a = random.randint(0,36)

            if a == 0:
                money -= bet
                bet = bet*2
            elif a%2 == 0:
                money += bet
                bet = bet_origin
                zzac += 1
            else:
                money -= bet
                bet = bet*2
                hole += 1

            i += 1
            if money <= bet:
                lose += 1
                break

            if money >= 1100:
                total += i
                win += 1
                break

        idx += 1

        if idx >= 100000:
            break

    print(bet_origin, win/1000, total/100000)

+ Recent posts