51bitquant / howtrader

Howtrader: A crypto quant framework for developing, backtesting, and executing your own trading strategies. Seamlessly integrates with TradingView and other third-party signals. Simply send a post request to automate trading and order placement. Supports Binance and Okex exchanges.
MIT License
704 stars 294 forks source link

可以支持“双向持仓模式“吗 #40

Closed kuakua0416 closed 6 months ago

kuakua0416 commented 6 months ago

51bitquant老师,您好

在您的"howtrader-gateway-binance_usdt_gateway.py"文件里有一个on_query_position_side()函数,具体代码如下:

def on_query_position_side(self, data: dict, request: Request) -> None:

if data.get("dualSidePosition", False): # true will means dual position side

self.set_position_side() # set dualSidePosition to False

这段代码表示如果我原先的dualSidePosition为True的话也会通过set_position_side()函数被设置成False, 我想请教一下howtrader是否支持双向持仓模式呢?因为有的时候策略需要在同一个标的上持有反向仓位(同时持有一个多仓和一个空仓),而在单向持仓模式下就会变成不持有任何方向上的仓位。

提前感谢您的回答, 祝好~~~

51bitquant commented 6 months ago

可以,但是要改代码。单向持仓是可以满足你要求的

来自阿里邮箱Android客户端------------------------------------------------------------------ @.> 日 期:2024年03月20日 02:27:57 @.> @.***> 主 题:[51bitquant/howtrader] 可以支持“双向持仓模式“吗 (Issue #40)

51bitquant老师,您好 在您的"howtrader-gateway-binance_usdt_gateway.py"文件里有一个on_query_position_side()函数,具体代码如下: def on_query_position_side(self, data: dict, request: Request) -> None:
 if data.get("dualSidePosition", False): # true will means dual position side
 self.set_position_side() # set dualSidePosition to False 这段代码表示如果我原先的dualSidePosition为True的话也会通过set_position_side()函数被设置成False, 我想请教一下howtrader是否支持双向持仓模式呢?因为有的时候策略需要在同一个标的上持有反向仓位(同时持有一个多仓和一个空仓),而在单向持仓模式下就会变成不持有任何方向上的仓位。 提前感谢您的回答, 祝好~~~ — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

51bitquant commented 6 months ago

理论上就用单向持仓就可以解决。但是下单的时候,做多开仓用buy(), 平仓用short(), 做空开仓用short(), 做空平仓用buy(), 不用用cover(),或者sell()方法。