不知道为什么,但是当您将出口改为@市场时,似乎解决了问题,而不会对结果产生很大影响。我认为它是TS编码中的一个错误,如果您碰巧在相同的条上以相同的价格生成2个信号,它只会打印一个信号。这意味着我们的结果仍然存在。插入代码输入:dollarStop(500),emaLength(10),exitEMALength(50); (USDUSF止损1600美元,GBPUSD止损1200美元)变量:upperEMA(0),lowerEMA(0),totTr(0),prof(0),tradeStr(),middleEMA(0),breakEvenEngageL(FALSE),breakEvenEngageS (FALSE),numContracts(0); upperEMA = xaverage(高,emaLength)#91; 1#93;的数据2; {data2 is daily} lowerEMA = xaverage(low,emaLength)#91; 1#93;的数据2; middleEMA = data2的xaverage(open,emaLength); numContracts = 1; {intPortion(((20000 NetProfit)*。10)/1400);} {******************************* ****************** ********卖出信号****************** ********************** **************} if marketPosition gt; -1和高于upperEMA的交叉点然后在upperEMA限制下卖出numContracts合约; {******************* ************************************************** ***************************} {********************* ************************ *********购买信号*********** ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* LT; 1和低于低于马克的低位交叉点,然后以低于马克的价格购买numContracts合约; {******************* ************************************************** ***************************} {********************* ************************ ********退出信号************ ******************************* **************}如果marketPosition = 1和高GT; upperEMA然后在市场上exitLong(LX Target1);如果marketPosition = -1且low < lowerEMA然后exitShort(SX Target1)在市场上; {******************* ************************************************** **************************} if marketPosition gt; -1则breakEvenEngageS = FALSE;如果marketPosition < 1 then breakEvenEngageL = FALSE;如果marketPosition = 1且高于middleEMA,则breakEvenEngageL = TRUE;如果marketPosition = -1并且低于middleEMA,则breakEvenEngageS = TRUE;如果breakEvenEngageS = TRUE,则在entryPrice stop处exitShort(SX BE);如果breakEvenEngageL = TRUE,则entryPrice处的exitLong(LX BE)将停止; setStopContract; setStopLoss(dollarStop);