ctm_name = cfgFile['GENERAL']['name'] ctm_log = cfgFile['GENERAL']['log'] ctm_signalSource_port = cfgFile['SIGNAL_SOURCE']['port'] ctm_signalSource_address = cfgFile['SIGNAL_SOURCE']['address'] except Exception as e: print(f"Invalid cfg file! [{e}]") exit(1) del cfgFile # --- SAMPLE 1 ------------------- print("--- SAMPLE 1 -------------------") con = envelop_sendRecv.connection() ret, msgret = con.connectToServer(ctm_signalSource_address, int(ctm_signalSource_port), socket.AF_INET, socket.SOCK_STREAM) if ret == False: print(msgret, file=stderr) exit(1) copytrade_sample1 = BinanceCTProto.CT_PROTO() copytrade_sample1.cmd = BinanceCTProto.CT_CMD_COPYTRADE copytrade_sample1.fromto = {'from': ctm_name, 'to': 'SrvSend'} copytrade_sample1.timestamp = getTimeStamp() copytrade_sample1.cmdtype = "REQ" copytrade_sample1.response_timestamp = ""
def sendOrderToSrvSend(symb: str = "", side: str = "", qtd: str = "", price: str = "", priceStop: str = "", priceLimit: str = "", typeOrd: str = "", orderCTId: str = "") -> [bool, str]: global GUIUtilcfg orderToSendData = BinanceCTProto.CT_PROTO_COPYTRADE_DATA( _symbol=symb, _side=side, _qtd=qtd, _ordid=orderCTId, _ordtype=typeOrd, _price=price, _priceStop=priceStop, _priceLimit=priceLimit) orderToSend = BinanceCTProto.CT_PROTO( _cmd=BinanceCTProto.CT_CMD_COPYTRADE, _fromto_from=GUIUtilcfg.meName, _fromto_to="SrvSend", _timestamp=BinanceCTUtil.getTimeStamp(), _cmdtype=BinanceCTProto.CT_TYPE_REQUEST, _resp_timestamp="", _data=orderToSendData) ret, msg = orderToSend.formatToNet() if ret == False: return ([False, msg]) con = envelop_sendRecv.connection() logging.debug( f"Connecting to SrvSend: {GUIUtilcfg.srvSendAddress} {GUIUtilcfg.srvSendPort}" ) ret, retmsg = con.connectToServer(GUIUtilcfg.srvSendAddress, GUIUtilcfg.srvSendPort, socket.AF_INET, socket.SOCK_STREAM) if ret == False: return ([False, f"Connect to server error: {retmsg}"]) ret, retmsg = con.sendMsg(msg, len(msg)) if ret == False: return ([False, f"Send to server error: {retmsg}"]) ret, retmsg, msgRecv = con.recvMsg() if ret == False: return ([False, f"Error msgRecv: [{retmsg}]"]) orderRecv = BinanceCTProto.CT_PROTO() orderRecv.loadFromNet(msgRecv) logging.info(f'Sent: [{msg}]') BinanceCTProto.dumpCmdToLog(orderToSend, logging.info) logging.info(f'Received: [{msgRecv}]') BinanceCTProto.dumpCmdToLog(orderRecv, logging.info) return ([True, "Ok"])