Я делаю первое, что приходит в голову. Возможно, можно делать проще, или наоборот более поэтапно. Можно сразу подставлять данные так, чтобы была возможность проверять разные условия (оптимизировать стратегию). Я же для примера делаю всё, что называется, в лоб:
Создаем столбец «Условие для входа». В каждый час будем проверять, соблюдаются ли условия.
Для лонга: Если закрытие больше открытия (рост свечи) и закрытие предыдущей свечи больше открытия, то условие выполнено. Присвоим этому событию число 1. Обратное для шорта, присваиваем число -1. Если сигнала нет, ставим 0.
Таким образом, формула эксель выглядит так: =ЕСЛИ(И(F4>C4;F5>C5);1; ЕСЛИ(И(C4>F4;C5>F5);-1;0))
Здесь и далее для удобства все формулы даны для пятой строки книги.
Логика формулы «если»:
Если
(
1. условие, в нашем случае: и в этот час рост, и предыдущий час тоже рост, то
2. Ставим в ячейку число 1. В противном случае
3. проверяем, нет ли условия на шорт:
1. если (условие №2: оба часа падение, то
2. ставим -1, в противном случае
3. ставим 0
)
)
Всё, условие записали. Теперь, поскольку мы всегда в рынке, нам нужно, чтобы появился некий «выключатель», который предотвратит повторные входы, и будет изменять направление позиции только при появлении условия на противоположный вход. Таким образом мы избавляемся от нолей и число -1 появляется каждый раз, пока не появится 1, после этого в каждой следующей строчке будет 1 до тех пор, пока не выполнится условие на шорт. Для этого
Пишем формулу: если предыдущее значение условия для входа изменило свой знак, то ставим новое значение в столбец «выключатель», в противном случае оставляем то, что было. =ЕСЛИ(И(I4<0;H5>0);H5; ЕСЛИ(И(I4>0;H5<0);H5;I4))
Логика формулы: Если (число поменялось с -1 на 1, то ставим новое число, 1. В противном случае, если (число поменялось с 1 на -1 ставим новое: -1. В противном случае оставляем то, что было))
Следующий столбец – «точка входа». Если значение выключателя поменялось, то значит на этом часе появился сигнал на переворот, значит ставим сюда значение закрытия текущего часа. При чем для шорта ставим со знаком плюс, а для лонга со знаком минус (потому что когда мы покупаем, мы тратим деньги, а когда продаем – получаем).
Формула: =ЕСЛИ(I5<>I4;I5*F5;0)*-1
Следующая ячейка: баланс. В начале у нас 0 денег (в данном случае одна деньга = 1 пункт РТС). Как только мы вошли в шорт, у нас появилось денег, полученных в результате продажи одного контракта. Как только появится условие на лонг, мы потратим деньги на закрытие позиции+ ещё столько же на открытие новой, лонговой, и наш баланс станет отрицательным. Когда на последней свечке мы принудительно закроем позицию по цене закрытия, мы получим итоговый результат нашей стратегии.Формула: =J5*2+K4 «Точка входа» умноженная на два + предыдущее значение баланса.
И последний, самый важный столбец: «Результат».
Сделаем его по состоянию на каждый час. Для этого представим, что мы закрываем позицию в конце каждого часа. Если «выключатель» = -1, то мы тратим деньги на покупку контракта, т.е. из баланса вычитаем цену закрытия. Если «выключатель» = 1, то нам надо продать контракт, и к балансу прибавится стоимость закрытия.Формула: =ЕСЛИ(I5<0;K5-F5;F5+K5)