|
AmiSite.ru
Форум по Ами |
Автор |
Сообщение |
SiS
Зарегистрирован: 17.12.2008
Сообщения: 6
|
Помогите решить проблему….
Загрузил историю за несколько месяцев в тестер. Построил графики - среднии. Планирую торговать в течение одного дня. Систему необходимо тестить на оном дне. Руками устанавливать (перебирать) по одному дню не удобно. Поэтому устанавливаю большой период (месяц, полгода).
Так вот, вопрос, как сделать чтобы график прерывался в конце дня и со следующего дня строился заново и не учитывал данные прошлого дня. (особенно это заметно если был скачек вверх или вниз при открытии следующего дня.) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Для начала надо написать код который будет определять начало дня. Это очень просто
Код: |
NewDay = Day() != Ref(Day(), -1);
Plot(NewDay, "", colorRed);
|
Затем, для вычисления средней, необходимо узнать сколько баров прошло с начала дня.
Код: |
NewDay = Day() != Ref(Day(), -1);
Bars = BarsSince(NewDay) + 1;
Plot(Bars, "", colorRed);
|
Некоторые функции индикаторов в Ами могут использовать переменный период. Одной из таких функций как раз является функция расчитывающая скользящую средную. Если число баров прошедшее с начала дня подставить в эту функцию, то получим средую которая начинает считаться с начала дня
Код: |
NewDay = Day() != Ref(Day(), -1);
Bars = BarsSince(NewDay) + 1;
Mov = MA(C, Bars);
Plot(Mov, "", colorRed);
|
В таком случае получается, что в конце дня средняя имеет период равный числу баров которое прошло с начала дня. Возможно, в некоторых случаях, это будет слишком длинный мувинг. Можно сделать так, чтобы по достижению определенного периода длинна мувинга фиксировалась. Вот например код для максимального периода 20
Код: |
NewDay = Day() != Ref(Day(), -1);
Bars = BarsSince(NewDay) + 1;
Bars = IIf(Bars > 20, 20, Bars);
Mov = MA(C, Bars);
Plot(Mov, "", colorRed);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
| |