비트코인 자동매매 / 인공지능 / 최적시간 설정 (00시 - 07시)
2021. 12. 27. 21:55ㆍ코딩
반응형
Facebook prophet을 통해서 비트코인의 최대수익이 나는 시간을 검토해 보면, 아래와 같이
(매번 다를 수 있지만)
00시를 기준으로 가장 낮았고, 5시를 기준으로 가장 높고 13시 기준으로 다시 두번째로 높았던 거을 알 수 있습니다.
자동매매 코인을 올려놓았을 때, 수익 극대화를 위해서 코드 설정 시간을 저는 00시에는 매수 시작이고, 매도는 0700시 기준으로 하고자 합니다.
24시간 기준으로 0900 시에 매수를 하고, 다음날 08:59시에 매도를 하니, 수익이 많이 발생하지 않았습니다.
이번시간에는 (00시 - 07시) 세팅 방법에 대해서 알려드리고, (00시 - 07시) 기준에서 수익이 어떻게 변했는지 다음 블로그에 소개하겠습니다.
from fbprophet import Prophet
기존 코드 입니다.
##반복문 시작
while True:
try:
now = datetime.datetime.now()
start_time = get_start_time("KRW-BTC")
end_time = start_time + datetime.timedelta(days=1)
#09:00 부터 다음날 08:59:50 초까지 해당 시간이 만족하면, 매수목표가 설정
if start_time < now < end_time - datetime.timedelta(seconds=10):
target_price = get_target_price("KRW-BTC", 0.035) #변동폭 k (최적값 확인 ) #변동률 k 0.27
ma10 = get_ma10("KRW-BTC")
current_price = get_current_price("KRW-BTC")
if target_price < current_price and ma10 < current_price:
krw = get_balance("KRW")
if krw > 5000:
buy_result = upbit.buy_market_order("KRW-BTC", krw*0.9995)
post_message(myToken,"#stock", "BTC buy : " +str(buy_result)) #Slack
수정 코드 입니다.
import pyupbit
import time
import datetime
def get_start_time(ticker):
"""시작 시간 조회"""
df = pyupbit.get_ohlcv(ticker, interval="day", count=1)
start_time = df.index[0]
return start_time
now = datetime.datetime.now()
start_time = get_start_time("KRW-BTC") + datetime.timedelta(hours=-9) + datetime.timedelta(hours=22)
end_time = start_time + datetime.timedelta(minutes=10)
print(start_time)
print(end_time)
위에서 보시는 것처럼, 예를 들어 22시에 매수 22시 10분에 매도를 하면, 위와 같이 설정하면 됩니다.
아래는 터미널에서 시간을 불러왔습니다.
아래 코드에 해당하는 시간이 09시 이므로, 이 시간을 기준으로 +/- 시간을 해주면 원하는 시간을 설정할 수 있습니다.
get_start_time("KRW-BTC")
반응형
'코딩' 카테고리의 다른 글
파이썬 / 검색어로 검색된 결과를 주소와 제목을 불러오기 (0) | 2021.12.30 |
---|---|
파이썬 / 구글 검색창에 원하는 검색어를 자동 입력 (0) | 2021.12.30 |
VScode / ctrl + / 단축키 안될 때 (0) | 2021.12.27 |
티스트로 자동글쓰기 / 예시 화면 (0) | 2021.12.26 |
티스토리 자동글쓰기 / Access token 발급 (2) | 2021.12.26 |