develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ

안녕하세요. 코딩도 코인도 모르는 코린이입니다.

이번에 취미삼아 파이썬으로 코인 자동매매 봇을 만들어보려고 하는데요..조언이 필요합니다.

전체적인 구상은 이렇습니다.

 

1. 해당 항목을 일정 현재가 기준으로 일정 퍼센트 단위로 예약 매수. (아래로 매수 걸어놓기)

- 총 10개를 매수하겠다고 하면 -1%에 1개, -2%되면 1개 ... 이런식으로 주문

 

2. 매수가 되면 윗 단계에 예약매도

- -1%때 샀으면 0%때 매도하도록 매도주문 걸기.

 

3. 판매가 되면 바로 아래 단계에 예약매수

- 2번과 동일한 방식

 

여기서.. 1번은 여차저차 구현했는데 2,3번은 어떻게 해야할지 모르겠습니다. ㅠㅠ

 

질문1. 매수/매도가 된 순간을 어떻게 파악할지(주문마다 주소가 있던데 이 주소는 영원한건가요? 예를들어 297원에 주문을 걸어놨고 팔린 이후에도 주소가 같은건가요? 찾아보니 주문 확인 코드가 있더라구요..!

질문2. 매수/매도 된 순간 예약을 걸어야하는데 현재가 기준 -1%,-2%,-3% 이런 가격대에 주소를 정해줄 수 있는지..

   ex) 예를들어 300원이 현재가인데 297원의 주소는 m1, 294원의 주소는 m2, 뭐 이런식으로..?

        처음 프로그램 시작하면 m1~m10까지 예약매수를 걸어놓고 m1이 사지면 m0의 가격에 예약매도 걸어라. 뭐 이런식으로 하고싶습니다.

질문3. 처음 실행시 매수 10개짜리를 쭈르륵 넣으면 도중에 에러가 납니다. 그래서 딜레이를 0.5초정도 줬더니 주문이 잘 되는데 적절한 주문시간이 있을까요?

 

누군가 알려주셨으면 좋겠습니다 ㅠㅠ

 

지금까지 한 코드는 아래와 같습니다.

 

 

 

import pyupbit
import time

f = open("#######.txt")
lines = f.readlines()
access = lines[0].strip()   # access key "\n"
secret = lines[1].strip()   # secret key '\n'
f.close()

upbit = pyupbit.Upbit(access, secret)   # class instance, object
balance = upbit.get_balance("KRW")

print(balance)

price_current = pyupbit.get_current_price("KRW-ETH") # 현재가격
max_price = 3000000 # 최대 금액
min_price = 1000000 # 최소 금액
investment = 60000 # 투입금
num_crossover = 10 # 교차수
price_CrossOrder = round(investment/num_crossover,0) # 교차당 투입금
profit_rate = 0.002
print("교차당 주문가격은", price_CrossOrder, "원")

funds_required = 5001*num_crossover

    

price_init = price_current

if (price_CrossOrder < 5001 ):
    print("현재 교차당 투입금=", price_CrossOrder,"원")
    print("총 투입금은", funds_required ,"원 이상이어야 합니다")
else:
    print("현재 교차당 투입금=", price_CrossOrder,"원")

    num_order = round(price_CrossOrder/price_current,3) # 주문 개수
    ret = upbit.buy_limit_order("KRW-ETH", price_current, num_order)
    print(price_current,"가격에 ", num_order, "개 매수 예약!!!")
    
    for n in list(range(0, num_crossover)):
            price_order = round(price_init-price_current*profit_rate,-3) # 주문가격
            num_order = round(price_CrossOrder/price_order,3) # 주문 개수
            ret = upbit.buy_limit_order("KRW-ETH", price_order, num_order)
            print(price_order,"가격에 ", num_order, "개 매수 예약")
            price_init = price_order # 다음 주문가격
            time.sleep(0.5)
            

665
  • ?
    일단 위험한 코딩을 하시고 계신듯 합니다........
    코딩을 설계하시기 전에. 매수/매도에 코인가격이 올라갈때(가정을 하면요)...는
    매수를 한다하더라고 가격이 올라간다고 생각할 수 있겠지요...
    하지만 코인가격이 떨어질때 대응이 될지요???
    알고리즘에 대한 수학적이 고민이 필요해 보일듯 합니다.
    쉽게는 고등학교 수학시간에 배운 순서도라는 것이 있습니다.
    알고리즘은 이 순서도를 업그레이한 버전이 라고 생각하시면 됩니다.
    코딩을 설계를 할때 기본적으로 메인이 되는 순서도가 시작이 되지만
    예외적인 변수가 많기 때문에 이를 고려한 예외처리를 위한 알고리즘(순서도)가 필요합니다.
    요즘 알고리즘은 머신러닝...딥러닝... 이딴것들이 있는데....
    순서도를 로직이라고~~~ 들 합니다.
    파이썬정도 하시는 거보니... if else문! switch문! while문! 정도의 코딩문법은 이해하고 계신듯 합니다.

    화이팅입니당^^!!
  • ?
    @에라2
    돈버는 알고리즘은 사실 잘 모르겠습니다..ㅎㅎㅎㅎㅎㅎ 그냥 생각대로 돌아가게만 만들어보고싶어요 우선은!!
    퇴근하고 어떻게하면 벌릴까 고민도 해보는데.. 모르겠더라구요 ㅠㅠㅠㅠㅠㅠㅠㅠ
  • ?
    @소다파이
    단순로직이면.... 일단 코딩시작단계이시니까.
    하나씩하나씩 하세요. 일단 코인 1개 매수하는 코딩파일 저장하시고 다음에
    2개 매수하는 코딩 만드시고 파일명 버전 변경해서 ex) ver01.py -> ver02.py
    3개 정도가 되면 감이 잡히실듯 합니다.

    일단 매수하는 프로그램 코딩하시고 그다음 매도하는 프로그램도 만들어 보세요.
    그다음 매수/매도 프로그램을 다시 만들어야 하는데....

    이것도 반복 하셔야 할듯 하네요.

    근데.. 이건 사용자가 임의로 작성한 코드이고. 실제 트레이딩 데이터가 무엇이 나오는지 코드분석을 하실수 있어야 합니다. 물론, 어떤 데이터가 나올지 예측이 가능한것도 있겠지만, 모르는 것이 있으면 그것두 개발코드에 반영할 지 않할지 생각하셔야 하고요.

    아주 기초적인 수준의 답변이었습니다. ㅎ.
    암튼 화이팅이요.
  • ?
    질문1. 주문번호는 유니크한게 맞을 겁니다. 주기적으로 주문번호로 거래내역을 조회해서 매수/매도가 모두 완료 되었는지 확인해볼 수 있을꺼 같네요.

    질문2. 당연히 가능한거 아닐까요? 다만 1%, 2% 에 해당하는 금액을 계산해서 넘여야 할 것 같습니다.
    100만원에 0.123코인을 샀다면, 0.123코인을 101만원에 판매하겠다고 주문을 넣으면 될꺼 같네요.
    ex 부분도 조금만 응용해서 생각해보시면 될꺼 같네요.

    질문3. 원래 외부 api 쓸때는 적당히 딜레이 줘 가면서 쓰는겁니다. 혼자쓰는것도 아닌데, 서버 입장도 생각해 줘야죠.
    어디나 그래요.
    그냥 넉넉히 2~3초 줘가면서 하세요. 10개면 30초인데, 그정도에 막 수익이 손해로 바뀌거나 그렇지 않습니다.
  • ?
    @비폭력무저항
    0.5초로 하니 적당하더라구요ㅎㅎ 매수 후 매도는 다시 1.01을 곱해줘야겠네요 감사합니다 ㅎㅎ
  • ?
    주문시간 간격은 업비트에서 제한하고 있는 사항이므로 개발자문서를 확인하셔서 간격 설정하시면 됩니다.
  • @Tobit
    Tobit님 축하합니다. 20 보너스 캐시에 당첨되셨습니다.!!
  • ?
    저도 트레이딩 봇을 만들어 쓰고있으나 위험성이 매우 높습니다.
    수익을 조금이라도 안전하게 보고자 한다면 캔들스틱 api 호출해서 수신하는 데이터에 대해서도 분석 고민하시는게 좋아요.

    실제로 저도 쿠폰 사용을 하고 장 상태가 좋을때는 하루종일 3~4퍼 먹을떄도 있지만 잃을때는 무한정으로 잃을 때도 있습니다.
    그래서 손실금 얼마 이하까지 내려간 경우 트레이딩을 정해진 시간까지 멈추는데 이 마저도 실제 안전을 위해 작성한 코드임에도 불구하고 손실 이후 오는 불장에 대해 대응이 안되 손실이 이어지는 경우도 있습니다.

    수익 로직은 좀더 본인이 생각하는 수익실현방법을 분석하셔서 작성하시는게 좋을것 같네요
default debug random = 1 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1774 개발 코인 커뮤니티 차트표 제작완료 3 0 423
련둥신
2021.04.11
1773 개발 파이션 시세 라이버러리 4종 소개 1 1 202
Mkms
2021.04.07
1772 질문 바이비트 API관련문의 1 0 100
연두부
2021.04.05
질문 코딩 왕초보입니다. 업비트 자동매매 봇을 만들고있는데 어떻게 해야할지 모르겠습니다. 도와주세요!! 8 0 580
소다파이
2021.04.01
1770 개발 GGoletn (꼴렸뜬) 프로젝트를 아십니까? 5 1 380
안씨아저씨
2021.03.29
1769 질문 이더리움 프라이빗 네트워크에서의 거래 승인에 대한 질문입니다. 9 file 0 236
비폭력무저항
2021.03.24
1768 개발 업비트 api 지정가 매수 / 익절 / 손절 #프로그램 10 2 3601
양봉이
2021.03.09
1767 질문 주식모의투자 시스템 0 2758
련둥신
2021.03.09
1766 개발 기존 안드로이드앱에 자체(ERC-20)지갑 및 코인결제 시스템 4 0 4938
LOCOKO
2021.02.26
1765 개발 이더리움 풀노드 전체 데이타 드립니다. 16 1 6317
김대박
2021.02.21
1764 개발 트레이딩뷰에서 liquidation 정보 관련 1 0 6644
부자아들
2021.02.16
1763 개발 코인 지갑 개발 4 1 7025
련둥신
2021.02.15
1762 개발 채린이의 채굴장 관리 프로그램(자동재부팅, 모니터링, 기타 셋팅 설정) 54 file 10 10801
그랑굴러
2021.02.14
1761 질문 헤쉬에 관해 문의드립니다 1 0 7155
천리코
2021.02.13
1760 개발 컴퓨터 및 채굴기 원하는 시간에 자동 종료 및 재부팅 할수 있는 프로그램 11 file 1 7731
천리코
2021.02.13
1759 개발 문의좀드립니다 2 0 10121
련둥신
2021.01.27
1758 개발 채굴기 재부팅 프로그램 업데이트 18 file 18 15410
망포동오리
2021.01.15
1757 개발 재부팅 화면 클릭후 재부팅 되는 프로그램 부탁드려요.. 8 0 12117
내스탈알자나
2021.01.14
1756 질문 파이썬 클레이모어 모니터링 기초 질문 13 0 15897
코인초보꾼
2020.12.24
1755 개발 통합 암호화폐 REST API 서비스중 입니다. 3 0 16431
레게노
2020.12.17
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 89 Next
/ 89
default debug random = 1 / type = READ / detected = READ