바로 전에 써놨던 코드에서 제가 분명 +- 3%의 수익 손실 구간을 설정 해뒀었는데, 프로그램의 오류가 있었던 걸 발견했는데요. +3% 의 수익구간을 넘어가면 바로 자동 매도처리 되는건 제가 원하는 방향이였지만, 이때 가장 처음 조건을 확인하는 if 문에 작성해 두었던
if target_price < current_price and ma15 < current_price:
krw = get_balance("KRW")
if krw > 5000:
buy_result = upbit.buy_market_order("KRW-BTC", krw*0.9995)
#수수료를 차감한 후 5000원이상 밸런스일시 매수 진행
post_message(myToken,"#stock-bitcoin","BTC 매수 하였습니다. : " +str(buy_result))
코드로 인해 3%의 수익을 실현했음에도 불구하고 매도 주문이 들어가자마자 다시 매수하는 무한 매수 매도가 일어났었습니다. (그래서 수수료 폭탄 맞았다는..) 이 코드를 틀에서 크게 벗어나지 않는 상태에서 어디 부분을 건드리면 될까하고 생각해봤었는데 제가 생각한 방법은 가장 간단한 방법으로 time.sleep을 활용하면 되지 않을까라고 생각했습니다.
목표매수가 기준 +-3%의 수익지점에 도달하면 전량 매도 후 1시간후에 다시 프로그램을 작동 시키는 원리입니다. 이렇게 문제점을 통해 코드를 살펴보고 더 나은 방향으로 수정해 보았습니다.