def sell_just_kospi(): writeLog(dt, '[관망]매도') # 테스트인 경우 if isTest: return # 현재 보유종목 가져오기 stock_code, stocks = daishinTrade.getJango() # 1:매도, 2: 매수 for sellCode in stock_code: # 보유수량 확인 amount = 0 for s in stocks: if s['code'] == sellCode: amount = s['amount'] break daishinTrade.goTrade(code=sellCode, bs='1', cnt=amount) if len(stock_code) == 0: writeLog('관망을 위해 매도할 종목이 없습니다.') else: # 임시 s = time.strftime('[%H:%M:%S]') s += '[관망]매도' telegram_bot.sendMsg(s) # 초기화 init_tran_val()
def sell_leverage_only(status): leverageOff() writeLog(dt, '[매도]레버리지 Only매도 : ',status) # 테스트인 경우 if isTest: return # 현재 보유종목 가져오기 stock_code, stocks = daishinTrade.getJango() # 레버리지 매도 for etf in etfLeverage: # 레버리지 if etf in stock_code: # 보유수량 확인 amount = 0 for s in stocks: if s['code'] == etf: amount = s['amount'] buyPrice = s['buyPrice'] break writeLog(" - 레버리지Only(", etf, ") 매도 : ", amount, '주, 매입가격 : ', buyPrice) # 임시 s = time.strftime('[%H:%M:%S]') s += '[매도]레버리지 Only매도 : ' s += status telegram_bot.sendMsg(s) daishinTrade.goTrade(code=etf, bs='1', cnt=amount) else: writeLog(" - 레버리지Only(", etf, ")는 잔고에 존재하지않습니다.")
def sell_inverse_only(status): inverseOff() writeLog(dt, '[매도]인버스 Only매도 : ',status) if isTest: return # 현재 보유종목 가져오기 stock_code, stocks = daishinTrade.getJango() # 인버스 매도 for etf in etfInverse: # 인버스 대상매도 if etf in stock_code: # 보유수량 확인 amount = 0 buyPrice = 0 for s in stocks: if s['code'] == etf: amount = s['amount'] buyPrice = s['buyPrice'] break writeLog(" - 인버스Only(", etf, ") 매도 : ", amount, '주, 매입가격 : ', buyPrice) # 임시 s = time.strftime('[%H:%M:%S]') s += '[매도]인버스 Only매도 : ' s += status telegram_bot.sendMsg(s) # 메도주문 daishinTrade.goTrade(code=etf, bs='1', cnt=amount) else: writeLog(" - 인버스Only 매도(", etf, ")는 잔고에 존재하지 않습니다.")
def sell_kospi(): # 1:매도, 2: 매수 writeLog(dt, '[매도]인버스매수 & 레버리지매도') # 테스트인 경우 if isTest: return goto_sell = [] # 현재 보유종목 가져오기 stock_code, stocks = daishinTrade.getJango() # 미체결 있으면 해당 종목취소 # 좀 나중에 개발.. # 레버리지 매도 for etf in etfLeverage: # 레버리지 대상구매 if etf in stock_code: goto_sell.append(etf) else: writeLog(" - 레버리지(", etf, ")는 잔고에 존재하지않습니다.") for other in etfOther: # 레버리지 외의 다른종목 대상구매 if other in stock_code: goto_sell.append(other) else: writeLog(" - ", other, "종목은 잔고에 존재하지않습니다.") # 매도(어떤가격으로 매도를 해야할지..) # goto_sell 매도 writeLog(" - 매도대상 : ", goto_sell.__str__()) # 1:매도, 2: 매수 for sellCode in goto_sell: # 보유수량 확인 amount = 0 for s in stocks: if s['code'] == sellCode: amount = s['amount'] break # 임시 s = time.strftime('[%H:%M:%S]') s += '[매도]인버스매수 & 레버리지매도' telegram_bot.sendMsg(s) daishinTrade.goTrade(code=sellCode, bs='1', cnt=amount) # 인버스 매수 for etf in etfInverse: # 레버리지 대상구매 if etf in stock_code: writeLog(" - 인버스(", etf, ")는 잔고에 존재합니다.") else: # 인버스 1000주 매수 writeLog(" - 인버스 매수") daishinTrade.goTrade(code=etf, bs='2', cnt=1000) # 초기화 init_tran_val()
def writeTelegramLog(self, text): # 현재시간 s = time.strftime('[%H:%M:%S]') # s = "[" + now[0:2] + "시" + now[2:4] + "분" + now[4:6] + "초" + "]" for t in text: s += str(t) print(s) self.fd.write(s + '\n') self.fd.flush() telegram_bot.sendMsg()
def sell_all_kospi(): writeLog('[전량매도]') # 현재 보유종목 가져오기 stock_code, stocks = daishinTrade.getJango() # 1:매도, 2: 매수 for sellCode in stock_code: # 보유수량 확인 amount = 0 for s in stocks: if s['code'] == sellCode: amount = s['amount'] break daishinTrade.goTrade(code=sellCode, bs='1', cnt=amount) if len(stock_code) == 0: writeLog('매도할 종목이 없습니다.') else: # 임시 s = time.strftime('[%H:%M:%S]') s += '[전량매도]' telegram_bot.sendMsg(s)
def buy_kospi(): writeLog(dt, '[매수]레버리지 매수 & 인버스매도') # 테스트인 경우 if isTest: return goto_buy = [] # 현재 보유종목 가져오기 stock_code, stocks = daishinTrade.getJango() # 미체결 있으면 해당 종목취소 # 좀 나중에 개발.. # 인버스 매도 for etf in etfInverse: # 인버스 대상매도 if etf in stock_code: # 보유수량 확인 amount = 0 buyPrice = 0 for s in stocks: if s['code'] == etf: amount = s['amount'] buyPrice = s['buyPrice'] break writeLog(" - 인버스(", etf, ") 매도 : ", amount, '주, 매입가격 : ', buyPrice) # 임시 s = time.strftime('[%H:%M:%S]') s += '[매수]레버리지 매수 & 인버스매도' telegram_bot.sendMsg(s) # 메도주문 daishinTrade.goTrade(code=etf, bs='1', cnt=amount) else: writeLog(" - 인버스(", etf, ")는 잔고에 존재하지 않습니다.") # 레버리지 매수 for etf in etfLeverage: # 레버리지 대상구매 if etf in stock_code: writeLog(" - 레버리지(", etf, ")는 잔고에 존재합니다.") else: goto_buy.append(etf) for other in etfOther: # 레버리지 외의 다른종목 대상구매 if other in stock_code: writeLog(" - ", other, "종목은 잔고에 존재합니다.") else: goto_buy.append(other) # 매수(어떤가격으로 매수를 해야할지..) # goto_buy 매수 writeLog(" - 매수대상 : ", goto_buy.__str__()) for stock in goto_buy: # 레버리지는 70주 나머지 종목은 10주 amount = 10 if stock == 'A122630': amount = 70 daishinTrade.goTrade(code=stock, bs='2', cnt=amount) # 초기화 init_tran_val()