У меня похожая проблема.
Переворотный скрипт торгует в лаборатории, а в реале только первый вход срабатывает, а дальше переворот не делает(в менеджере команд ничего не появляется).

Переворот, по идее, производится при пересечении моего индикатора с ценой. Вот так:
Code:
...
            int barsCount = source.Bars.Count;
            for (int i = ctx.TradeFromBar + 1; i < barsCount; ++i)
            {
                IPosition le = source.Positions.GetLastActiveForSignal("LE");
                IPosition se = source.Positions.GetLastActiveForSignal("SE");

                if (le == null && my_indicator_result[i - 1] > source.ClosePrices[i - 1] && my_indicator_result[i] < source.ClosePrices[i])
                {
                    if (se != null)
                        se.CloseAtMarket(i + 1, "SX");
                    source.Positions.BuyAtMarket(i + 1, 1, "LE");
                }

                if (se == null && my_indicator_result[i - 1] < source.ClosePrices[i - 1] && my_indicator_result[i] > source.ClosePrices[i])
                {
                    if (le != null)
                        le.CloseAtMarket(i + 1, "LX");
                    source.Positions.SellAtMarket(i + 1, 1, "SE");
                }
            }
...

индикатор на графике в реале успешно рисуется и выглядит как надо.

Пробовал запускать другой переворотный скрипт "две скользящие средние" сделанный на кубиках - там всё прекрасно работает.

Как заставить скрипт нормально торговать?


Отредактировано programmer (Fri Feb 03 2012 02:50 PM)