Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 TimeFrameSet и тестер Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 353

СообщениеДобавлено: Пт Июл 17, 2009 10:00 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Давай подробности. Чем отличаются графики?
Вообще для того чтобы протестировать определенный фрейм необходимо и достаточно установить его в настройках тестера.

Вот сразу два графика:
Посмотреть профиль Отправить личное сообщение ICQ Number
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 353

СообщениеДобавлено: Пт Июл 17, 2009 10:02 pm Ответить с цитатой Вернуться к началу

верхний построен Ами через настройки 20R, нижний через код:
Код:
TimeFrameMode(3);
TimeFrameSet(20);
PlotOHLC(Open,High,Low,Close,"4e 3a",1,styleCandle);

Поэтому тест этих графиков тоже разный... Вот мне и интересно:
во-первых, почему различаются графики;
во-вторых, как правильно будет протестировать нижний - он мне больше нравится)))
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8509

СообщениеДобавлено: Пн Июл 20, 2009 6:37 pm Ответить с цитатой Вернуться к началу

TimeFrameSet(20);
строит ранж бар без учета TickSize. Для того, чтобы построить 20-тиковый для лука надо писать TimeFrameSet(0.2);

Тестировать такой график надо с настройками 2000R

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 353

СообщениеДобавлено: Ср Июл 22, 2009 12:21 am Ответить с цитатой Вернуться к началу

000 писал(а):
TimeFrameSet(20);
строит ранж бар без учета TickSize. Для того, чтобы построить 20-тиковый для лука надо писать TimeFrameSet(0.2);

Тестировать такой график надо с настройками 2000R
Терь ясно всё, а то у меня сумасшедшие цифры набегали, когда я тестировал систему со строчкой в коде TimeFrameSet(20), и с выставленными в настройках тестера 20R )))
Посмотреть профиль Отправить личное сообщение ICQ Number
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 353

СообщениеДобавлено: Сб Мар 27, 2010 1:13 am Ответить с цитатой Вернуться к началу

000 писал(а):
TimeFrameSet(20);
строит ранж бар без учета TickSize. Для того, чтобы построить 20-тиковый для лука надо писать TimeFrameSet(0.2);
Тестировать такой график надо с настройками 2000R
В общем так:
чтобы протестировать, например, фючерс RTS, лезем в Symbol --> Information, выставляем Ticksize (для удобства ставим 1, хотя тик для РТС 5), далее идём в тестер и тестируем, например, 100R, т.е. диапазоны по 100пунктов. А в самом коде системы писать TimeFrameSet обязательно или это не обязательно?
Я так понял, меньший фрейм будет игнорироваться, а больший, если расчёт сигналов идёт на нём, будет использоваться для сигналов, но торговля будет всё равно на фрейме установленном в настройках?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8509

СообщениеДобавлено: Сб Мар 27, 2010 8:50 am Ответить с цитатой Вернуться к началу

Да, торговля будет идти на фрейме установленном в настройках.
Фрейма меньше, при этом, просто нет.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Bazil



Зарегистрирован: 23.08.2015
Сообщения: 8

СообщениеДобавлено: Сб Ноя 14, 2015 4:23 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Почему не рабочая? Рабочая. Просто она работает немного не так.
А протестировать - установив в настройках АА нужный фрейм.
Оптимизировать фрейм не получится


Здравствуйте, Олег.
Чтобы не заводить новую тему, уточню тут.
В настоящий момент так и не появилась возможность оптимизировать тиковые таймфреймы с помощью кода? Перечитал ряд веток по TimeFrameMode, TimeFrameSet, TimeFrameExpand, но ответа так и не нашёл.

Заранее спасибо.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8509

СообщениеДобавлено: Сб Ноя 14, 2015 5:06 pm Ответить с цитатой Вернуться к началу

Чет подумалось.
Берем тиковый график. В настройках тестера выставляем тики. Функцией TimeFrameSet() их сжимаем до нужного фрейма а в качестве параметра подставляем олптимизируемую переменную. Потом как положено экспандим. Попробуй.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Bazil



Зарегистрирован: 23.08.2015
Сообщения: 8

СообщениеДобавлено: Сб Ноя 14, 2015 6:38 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Чет подумалось.
Берем тиковый график. В настройках тестера выставляем тики. Функцией TimeFrameSet() их сжимаем до нужного фрейма а в качестве параметра подставляем олптимизируемую переменную. Потом как положено экспандим. Попробуй.


Спасибо за скорый ответ Very Happy

Да, вот уже попытался (если правильно понял), но что-то не особо.

Вот 2 кода пересечения мувинга и цены для сравнения (поправьте, если что не так)

1. В настройках тестера выставляем в поле Periodicity значение Tick, а в коде пишем:
Код:

TimeFrameMode( 1 ); //переводим в режим N-Tick
TimeFrameSet( 20 ); // устанавливаем количество тиков, получаем бары в 20 тиков каждый
myEMA = EMA(Close, 10); //рассчитываем EMA на сжатом графике
Buy1 =  Cross(Close, myEMA);
Sell1 = Cross(myEMA, Close);
TimeFrameRestore(); // возвращаемcя к исходному фрейму Tick

Buy1_ = TimeFrameExpand(Buy1, 20);// разжимаем. То есть как-бы переносим сигнал со старшего, 20тикового таймфрейма, на текущий, однотиковый, верно?
Sell1_ = TimeFrameExpand(Buy1, 20);

Buy = Buy1_;
Sell = Sell1_;


2. Здесь в коде ничего не делаем, а в Periodicity выставляем сразу 20Tick
Код:

myEMA = EMA(Close, 10);
Buy =  Cross(Close, myEMA);
Sell = Cross(myEMA, Close);


При тестировании системы, которые по идее идентичны, показывают разные значения. Sad

И ещё вопрос. Перевести код в режим работы с тиками, если я правильно понял, можно двумя способами:
1. Используя в коде TimeFrameMode( 1 )
Код:
TimeFrameMode( 1 ); // перевод в режим N-tick
TimeFrameSet (аргумент, здесь положительное число );
.....
TimeFrameExpand (аргумент,здесь положительное число);


2. Не используем в коде TimeFrameMode( 1 ), а только TimeFrameSet и TimeFrameExpand и в качестве аргументов передаём в них отрицательные числа.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8509

СообщениеДобавлено: Вс Ноя 22, 2015 11:06 pm Ответить с цитатой Вернуться к началу

Когда есть время и желание потихоньку ковыряю тему. Пока выяснил, что в TimeFrameExpand лучше использовать режим expandPoint. Тогда по крайней мере некоторые сделки похожи...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen