没有平空后开多,而是只开多的问题
	//===========判断持仓状态======================================
	Bool ret1 = GetLayerOrderMapSymbols(mainsymbols);
	Bool ret2 = A_GetPosition(Mid(TextArray(mainsymbols),1,Len(TextArray(mainsymbols))-2),pos,"",0);
	mypos = pos.l ongCurrentVolume - pos.shortCurrentVolume;(这里发帖的时候显示l ong这个词为敏感词,所以空了一格)


	//====================开平仓===========================================
	If(mypos==0)
	{
		If(A1)
		{
			Buy(1,Close);
			
		}
		If(A2)
		{
			SellShort(1,Close);
		}
	}	
	
	If(mypos<>0)
	{
		If(mypos==1 And A1)
		{
			Sell(1,Close);
			SellShort(1,Close);
		}
		If(mypos==-1 And A2)
		{
			BuyToCover(1,Close);
			Buy(1,Close);
		}
	}

老师,就是我模拟中今天账户有空单的持仓,我的策略出现开多信号,那应该是平空开多。但是实际只开多了,没有平空。我用的A_GetPosition查询账户持仓状态,返回值也是True,说明持仓状态没问题。那么是否跟我用的下单指令有关?我的下单指令还是buy sell BuyToCover SellShort这四种。我是否需要换成A_SendOrder?还是说是别的问题?

怎么做到开多单不平空单
能只开多单或者只开空单吗
用A函数平空开多
buy 能不能只开仓,不平空单啊?
多单开仓条件下,多单止损后如何不让再开多单
多品种开仓问题
获取可平多手数,可平空手数
多策略同合约开仓问题
【发单】平多的指令成了开空单
多周期开仓信号的问题

A函数和图表系统不是一个体系,混用等于抓瞎

那所以我都换成A函数是否能解决这个问题?

换成A函数可能逻辑上你好理解一些,但实现难度要大不少。另外,A函数指令不能回测

补充一些信息,方便老师找到问题:

1.mypos的变量是integer;

2. A1 A2只是技术指标判断,跟问题无关;

3.以上就是主要代码,无其他重要代码;

BuySell是图表信号交易指令,BuySell有一套自己的函数,和实际账户函数没有关系。