Не знаю почему, но когда вы меняете выход на рынок @, это, похоже, решает проблему, не сильно влияя на результаты. Я думаю, что это ошибка в кодировании TS, где, если вам случается получить 2 сигнала, генерируемых по той же цене на одном и том же баре, он печатает только один сигнал. Это означает, что наши результаты все еще сохраняются. Введенные входы кода: dollarStop (500), emaLength (10), exitEMALength (50); {$ 1600 остановка для USDCHF, $ 1200 для GBPUSD} vars: 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 ежедневно} lowerEMA = xaverage (low, emaLength) # 91; 1 # 93; данных2; middleEMA = xaverage (open, emaLength) данных2; numContracts = 1; {intPortion (((20000 NetProfit) *. 10)1400);} {******************************* ****************** ******** ПРОДАЕТСЯ СИГНАЛЬ ********************** ********************** **************} if marketPosition gt; -1 и высокие кресты над верхнимEMA, затем продают контракт numContracts на верхнем пределе предела; {************************************************* ************************************************** ***************************} {********************* **************************** ********* КУПИТЬ СИГНАЛ *********** ********************************* **************} if marketPosition л; 1 и низких крестов ниже lowerEMA, затем купите контракт numContracts при нижнем пределе EMA; {************************************************* ************************************************** ***************************} {********************* **************************** ******** ВЫХОДНЫЕ СИГНАЛЫ ************ ******************************* **************} if marketPosition = 1 и высокие gt; upperEMA, а затем выйтиLong (LX Target1) на рынке; если marketPosition = -1 и low lt; lowerEMA, затем exitShort (SX Target1) на рынке; {************************************************* ************************************************** **************************} if marketPosition gt; -1 затем breakEvenEngageS = FALSE; если marketPosition lt; 1 затем breakEvenEngageL = FALSE; если marketPosition = 1 и высокие кресты выше среднегоEMA, тогда breakEvenEngageL = TRUE; если marketPosition = -1 и низкие крестики ниже среднегоEMA, тогда breakEvenEngageS = TRUE; если breakEvenEngageS = TRUE, то exitShort (SX BE) при остановке entryPrice; если breakEvenEngageL = TRUE, то exitLong (LX BE) при остановке entryPrice; setStopContract; setStopLoss (dollarStop);