合约跟单系统开发技术详情,合约跟单系统开发源码案例

合约跟单系统开发功能详情介绍:

合约量化策略跟单系统是根据平台内交易员的成交量、盈利量等将交易员进行排名,用户可进行排名筛选,确认好跟单人和相应的跟单费用后,可通过设定策略来选择系统跟单,方便又省时;合约量化策略跟单系统,为新用户提供投√资方向,尽可能的提高收益率,积攒交易相关的经验;此外,合约交易的本身会收取一定的手续√费,实现平台利√益的更大化;

order=self.exchange.create_sell_order(symbol,amount,sell_price)

logging.info(f’Opened sell order:{amount}of{symbol}.Target sell{sell_price},buy price{buy_price}’)

await self._wait_order_complete(order[‘id’])

#post buy order

order=self.exchange.create_buy_order(symbol,amount,buy_price)

await self._wait_order_complete(order[‘id’])

logging.info(f’Completed short trade:{amount}of{symbol}.Sold at{sell_price}and bought at{buy_price}’)

async def execute_long_trade(self,trade:LongTrade):

buy_price=trade.start_price

sell_price=trade.exit_price

symbol=trade.exchange_symbol

amount=trade.amount

order=self.exchange.create_buy_order(symbol,amount,buy_price)

logging.info(f’Opened long trade:{amount}of{symbol}.Target buy{buy_price},sell price{sell_price}’)

await self._wait_order_complete(order.id)

#post sell order

order=self.exchange.create_sell_order(symbol,amount,sell_price)

await self._wait_order_complete(order.id)

logging.info(f’Completed long trade:{amount}of{symbol}.Bought at{buy_price}and sold at{sell_price}’)

async def _wait_order_complete(self,order_id):

status=‘open’

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’)

import asyncio

import logging

from ccxt import ExchangeError

from model.longtrade import LongTrade

from model.shorttrade import ShortTrade

class TradeExecutor:

def init(self,exchange,check_timeout:int=15):

self.check_timeout=check_timeout

self.exchange=exchange

async def execute_trade(self,trade):

if isinstance(trade,ShortTrade):

await self.execute_short_trade(trade)

elif isinstance(trade,LongTrade):

await self.execute_long_trade(trade)

async def execute_short_trade(self,trade:ShortTrade):

sell_price=trade.start_price

buy_price=trade.exit_price

symbol=trade.exchange_symbol

amount=trade.amount

猜你喜欢

转载自blog.csdn.net/yy625019/article/details/113729821