diff --git a/Plugins/YLErp.Plugins.GuoLian/DocumentGenerator/TradeConfirmationGenerator.cs b/Plugins/YLErp.Plugins.GuoLian/DocumentGenerator/TradeConfirmationGenerator.cs
index 5fba935c..b31c7d7c 100644
--- a/Plugins/YLErp.Plugins.GuoLian/DocumentGenerator/TradeConfirmationGenerator.cs
+++ b/Plugins/YLErp.Plugins.GuoLian/DocumentGenerator/TradeConfirmationGenerator.cs
@@ -54,8 +54,11 @@ namespace YLErp.Plugins.GuoLian.DocumentGenerator
var trade = Context.Trade;
var underlying = Context.GetTradeUnderlying();
- // 判断看多/看空方向
- bool isLong = IsLongPosition(trade);
+ // 判断看多/看空方向(通过持仓方向判断:PositionType: 1=多头/看多,2=空头/看空)
+ var swapPosition = Context.GetSwapPositions(trade.id, true)
+ .Where(x => x.PositionType == (int)PositionTypeFlag.Long || x.PositionType == (int)PositionTypeFlag.Short)
+ .FirstOrDefault();
+ bool isLong = swapPosition?.PositionType == (int)PositionTypeFlag.Long;
// 判断标的类型(债券ETF vs 现券)
bool isEtf = IsBondEtf(underlying?.UnderlyingCode ?? string.Empty);
@@ -74,15 +77,6 @@ namespace YLErp.Plugins.GuoLian.DocumentGenerator
return Path.Combine(GlobalConfig.PluginFolder, "App_Docs\\contract_template", templateName);
}
- ///
- /// 判断是否为多头/看多方向
- ///
- private bool IsLongPosition(OtcTradeBase trade)
- {
- // 通过BuySell判断:买入=看多,卖出=看空
- return trade.BuySell == "买入";
- }
-
///
/// 判断是否为债券ETF
/// - .SH后缀且511开头 -> 债券ETF