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



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

СообщениеДобавлено: Пт Апр 23, 2010 2:42 pm Ответить с цитатой Вернуться к началу

Вот в этой статье
http://www.russian-trader.ru/forum/viewtopic.php?t=7256&sid=18a6315b7f8528584ffdc56838a8d9fb
есть такой абзац
Цитата:
Расчет волатильности по "теням".

Поскольку при расчете волатильности мы пытаемся определить величину рыночного "шума", то можно попытаться измерить величину "ложных колебаний". Так допустим, что цена в течение дня поднялась вверх, потом сильно упала и после небольшого отскока закрепилась немного ниже открытия дня. Консенсус продавцов и покупателей был достигнут на закрытии дня, поэтому "эффективным движением" считаем изменение цены от открытия до закрытия дня. А прочие ценовые уровни были достигнуты исключительно благодаря эмоциям и просчетам трейдеров. Вот как раз эти ценовые уровни и посчитаем в качестве случайных колебаний цены. Просчитаем величину, равную разнице между дневным диапазоном и "эффективным движением". Затем посчитаем стандартное отклонение полученного значения, чтобы определить эмоциональность за 15-барный период. Таким образом, мы получим интервал, в который цена может залететь по ошибке. Прибавляя это значение ко вчерашнему максимуму и вычитая из вчерашнего минимума, мы получим требуемый нам интервал волатильности. На границе этого интервала и поставим стоп-приказы на открытие позиции.


Можно ли это записать на АФЛ вот таким образом?
Код:
Rng = Param("Range", 15, 1, 100, 1);
//Rng = Optimize("Range", 15, 1, 50, 1);
HL = High - Low;
CO = Close - Open;
Vol = StDev((HL - abs( CO )), Rng);

Band_Top = Ref(High, -1) + Vol;
Band_Bot = Ref(Low, -1) - Vol;

Plot( Band_Top, "Band_Top", colorBlue, 1 );
Plot( Band_Bot , "Band_Bot", colorRed, 1 );

Buy = Cover = Cross( H, Band_Top );
BuyPrice = CoverPrice = Band_Top;
Short = Sell = Cross( Band_Bot, L );
ShortPrice = SellPrice = Band_Bot;

Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );
Short = ExRem( Short, Cover );
Cover = ExRem( Cover, Short );
//Equity(1);

PlotShapes( Buy*shapeSmallUpTriangle, colorBlue, 0, Low );
PlotShapes( Sell*shapeSmallDownTriangle, colorRed, 0, High );
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Апр 23, 2010 11:12 pm Ответить с цитатой Вернуться к началу

Для дневного интервала вроде так.

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


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Сб Апр 24, 2010 1:18 pm Ответить с цитатой Вернуться к началу

А вы вдумывались в смысл подхода? Сам код тоже с погрешностями, возможно исчезновение сигналов, расчет цены входов-выходов врет.

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Nero Wolfe



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

СообщениеДобавлено: Пн Апр 26, 2010 9:26 am Ответить с цитатой Вернуться к началу

000 писал(а):
Для дневного интервала вроде так.

А почему только для дневного? Вы имеете в виду что High и Low это конкретно привязанные к дневному таймфрейму величины?
Цитата:
А вы вдумывались в смысл подхода? Сам код тоже с погрешностями, возможно исчезновение сигналов, расчет цены входов-выходов врет.

Смысл подхода описан в первом сообщении, в цитате, вот и хотелось это протестировать. Идея то в целом здравая - определение шума и выход за пределы этого шума.
Подскажите как подправить код, чтоб работал и внутри дня тоже.
Заранее спасибо Smile
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Апр 26, 2010 9:38 am Ответить с цитатой Вернуться к началу

На дневном фрейме потому, что в описании упоминаются "закрытие дня", "дневной диапазон"..., а этот код будет брать именно дневные OHLC только если работает на дневках.На внутридневных данных тоже будет работать, но будет брать OHLC не дневные, а с рабочего периода.

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



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

СообщениеДобавлено: Пн Апр 26, 2010 12:23 pm Ответить с цитатой Вернуться к началу

А чтоб не было исчезновения сигналов может стоит вот так?
Код:
Vol = Ref(StDev((HL - abs( CO )), Rng), -1);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Апр 26, 2010 12:51 pm Ответить с цитатой Вернуться к началу

Да, этого будет достаточно.

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


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Вт Апр 27, 2010 5:30 pm Ответить с цитатой Вернуться к началу

Band_Top = Ref(High, -1) + Vol;
Band_Bot = Ref(Low, -1) - Vol;

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

Код:
 Затем посчитаем стандартное отклонение полученного значения, чтобы определить эмоциональность за 15-барный период.


Какое к черту стандартное отклонение пустой набор цифр, неимеющий под собой никаких основ. Данную величину можно посчитать только для окончательно сформированного бара. причем имея 3 изменяемых массива отклонение вообще теряет смысл, нет вообще никакой взаимосвязи между поведением массивов и так называемом отклонением. Вобщем теоритическая часть пуста и безидейна. Без обид, сам мудохаюсь с одной идеей без результатно недели 2.
При расчете цены для тестера не забываете про О уровень может превышаться ценой открытия бара причем прилично, а вы для тестера учитываете только сам уровень.

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


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

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

Ну на счет СКО ты перегнул. Статистика типа все таки наука. А од на счет того, что надо брать от Open полностью согласен.

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


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

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

000 писал(а):
Ну на счет СКО ты перегнул. Статистика типа все таки наука. А од на счет того, что надо брать от Open полностью согласен.


Не о статистике речь, а целесообразности и логичности конкретного расчета. Что имеем его используя на текущем баре 1 известное О, неизвестные 3 массива, хрен его знает будет ли H больше О или С может равен им, может в расчет СКО основную составляющую дал H может L (средняя непонятно чего по палате на прошлых барах сомнительное подспорье), не прогноза движения цены на текущем баре, ни состояния рынка (рост падение), ни выгодной цены входа в позу. Доклад закончил. Rolling Eyes

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Nero Wolfe



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

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

Цитата:
При расчете цены для тестера не забываете про О уровень может превышаться ценой открытия бара причем прилично, а вы для тестера учитываете только сам уровень.

Не понял вот этого, объясните, пож-та, по подробнее.

И если не касаться идеи, а с точки зрения математического расчета - почему собственно "хрен его знает" ? Smile Ведь при расчете
Vol = Ref(StDev((HL - abs( CO )), Rng), -1); я сдвинул окно на бар назад, таким образом Vol считается по уже окончательно сформированному массиву O H L C.

P.S. Понял, нужно вот так:
Код:

Buy = Cover = H > Band_Top;
BuyPrice = CoverPrice = Max(Band_Top, Open);
Short = Sell = L < Band_Bot;
ShortPrice = SellPrice = Min(Band_Bot, Open);
Посмотреть профиль Отправить личное сообщение
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Ср Апр 28, 2010 3:38 pm Ответить с цитатой Вернуться к началу

Код:
И если не касаться идеи, а с точки зрения математического расчета - почему собственно "хрен его знает" ? :) Ведь при расчете
Vol = Ref(StDev((HL - abs( CO )), Rng), -1); я сдвинул окно на бар назад, таким образом Vol считается по уже окончательно сформированному массиву O H L C.


Пост писался с учетом REF, пояснение дал выше и по идеи и по получаемому результату добавить нечего.

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen