Так не сделать. Нужно "залипало" от одного события до другого.
Code:
  using System.Collections.Generic;
using TSLab.Script.Handlers;

namespace NewIndicators.Support
{
    public class Flip : IBoolAccum
    {
        public IList<bool> Execute(IList<bool> source1, IList<bool> source2)
        {
            return Calc(source1, source2);
        }

        public bool m_last;

        public bool Execute(bool source1, bool source2)
        {
            m_last = Calc(source1, source2, m_last);
            return m_last;
        }

        public static IList<bool> Calc(IList<bool> source1, IList<bool> source2)
        {
            var res = new bool[source1.Count];
            for (int i = 1; i < source1.Count; i++)
            {
                var last = i > 0 ? res[i - 1] : false;
                res[i] = Calc(source1[i], source2[i], last);
            }
            return res;
        }

        public static bool Calc(bool source1, bool source2, bool last)
        {
            var res = last;
            if(!res & source1)
            {
                res = true;
            }
            if (res & source2)
            {
                res = false;
            }
            return res;
        }
    }
}

Скомпилируйте блок, соедините его с пересечением и с есть открытая позиция. А на блок входа подайте этот сигнал.


Отредактировано 777 (Tue Oct 18 2011 12:57 PM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.