币宽量化交易系统开发技术分析,币宽量化机器人系统开发案例

币宽量化机器人系统开发详细内容:

什么是策略?

策略,可以实现目标的方案集合;在证券交易中,策略是指当预先设定的事件或信号发生时,就采取相应的交易动作。

什么是量化策略?

量化策略是指使用计算机作为工具,通过一套固定的逻辑来分析、判断和决策。

量化策略既可以自动执行,也可以人工执行。

一个完整的量化策略包含哪些内容?

一个完整的策略需要包含输入、策略处理逻辑、输出;策略处理逻辑需要考虑选股、择时、仓位管理和止盈止损等因素。

async def _wait_order_complete(self,order_id):

status=‘open’

order=None

while status is’open’:

await asyncio.sleep(self.check_timeout)

order=self.exchange.fetch_order(order_id)

status=order[‘status’]

logging.info(f’Finished order{order_id}with{status}status’)

#do not proceed further if we canceled order

if status==‘canceled’:

raise ExchangeError(‘Trade has been canceled’)

return order

接下来将创建Telegram机器人,这是最有难度的部分,我们将使其拥有以下指令:

1、列出/取消有效订单

2、显示可用余额

3、建立做多或做空交易

我们还需要对机器人做一些安全限制,使其仅对你的消息做出响应,而其他人则无法使用你的帐户进行交易。

主要是进行做多和做空交易的部分:

1、选择做空或者做多

2、输入数字货币品种

3、输入交易数量

4、所占百分比

5、每个价格

6、显示确认信息

7、显示最终交易信息

我们来创建telegrambot.py并添加以下常量:

SELECTION=“selection”

SHORT_TRADE=“short_trade”

LONG_TRADE=“long_trade”

OPEN_ORDERS=“open_orders”

FREE_BALANCE=“free_balance”

CANCEL_ORD=“cancel_order”

PROCESS_ORD_CANCEL=“process_ord_cancel”

COIN_NAME=“coin_select”

PERCENT_CHANGE=“percent_select”

AMOUNT=“amount”

PRICE=“price”

PROCESS_TRADE=“process_trade”

CONFIRM=“confirm”

CANCEL=“cancel”

END_CONVERSATION=ConversationHandler.END

我们可以通过扩展BaseFilter来实现对user_id的限制。这样机器人必须接受被允许用户的token、id才能执行操作。

class TelegramBot:

class PrivateUserFiler(BaseFilter):

def init(self,user_id):

self.user_id=int(user_id)

def filter(self,message):

return message.from_user.id==self.user_id

def init(self,token:str,allowed_user_id,trade_executor:TradeExecutor):

self.updater=Updater(token=token)

self.dispatcher=self.updater.dispatcher

self.trade_executor=trade_executor

self.exchange=self.trade_executor.exchange

self.private_filter=self.PrivateUserFiler(allowed_user_id)

self._prepare()

上一篇:基于Python获取股票分析数据实践


下一篇:如何将外部jar包手动添加到本地仓库