Jump to content
Programmer

Циклический анализ рынков

Recommended Posts

transcendreamer
Отвечая на Ваши замечания, приведу следующие доводы:

 

 

 

Согласен, что комбинации индикаторов дают огромное разнообразие систем. Однако, у подобных систем есть несколько недостатков:

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

- как Вы верно заметили, комбинации индикаторов зачастую могут становиться довольно сложными. Не всегда сложность означает качество

- стандартные индикаторы (RSI, Stochastic, MACD, и пр.) не отфильтровывают алиасинговый шум перед рассчетом показаний. Про алиасинг мы уже начали говорить, и продолжим в следующий раз

- спектральное расширение также не адресовано устаревшими индикаторами. Это явление, например, является причиной того, что Stochastic может иметь ненулевую среднюю во время тренда.

 

 

 

Довод зависит от применяемой стратегии. В скальпинге, например, сигнал - это 95% успеха, поскольку SL и TP в большинстве случаев фиксированы, а о ММ и сопровождении позиции, длящейся не более минуты, речь не идет.

 

В целом, в ходе наших рассуждений, я постараюсь показать такие уникальные свойства, характерные новым индикаторам, что, я надеюсь, Вы сами сделаете вывод, что RSI, Stochastic, MACD & Co. построены по фундаментально незавершенным концепциям. Если и пользоваться этими индикаторами, их принципы сначала требуют серьезных корректировок.

 

Кирилл

 

спасибо за комментарии!

 

если в сигнале например участвуют МА(10) и МА(50) то какое будет итоговое запаздывание? зависит ли запаздывание от способа интерпретации индикатора? или запаздывание всегда определяется "окном" периода расчета? пример: Стохастик обычно используют "на опережение" - то есть он "пытается" предугадать рост/падение на перепроданности/перекупленности - как в этом случае?

 

к понятию качества сигнала - как его определить? вероятность угадывания движения на Н пунктов? будут ли дальше приведены тесты-сравнения например обычных мувингов и правильно сглаженных мувингов? то есть: сначала протестировать советник с обычным мувингом, потом с правильным мувингом... (я какое время назад пробовал сравнивать ради интереса сигналы разных мувингов типа jma/fatl/satl - как ни странно у традиционного простейшего sma результаты оказались лучше, стратегия - вход по развороту мувинга с фиксированным SL=TP)

 

про шум... не является ли алиасинговый шум следствием представления цены в виде свечей OHLC, который в свою очередь тоже является своеобразным фильтром-индикатором?

 

про скальпинг... ведь это только одна из стратегий и далеко не главная на ретейловом форексе, для остальных стратегий очень важно сопровождение позиций, добавление/убавление, способны ли отфильтрованные индикаторы заметно улучшить нескальпирующих стратегий?

 

очень жду новых выпусков!

 

PS

в торговле сам не использую никаких индикаторов, только график

Share this post


Link to post
Share on other sites
Programmer

если в сигнале например участвуют МА(10) и МА(50) то какое будет итоговое запаздывание? зависит ли запаздывание от способа интерпретации индикатора?

 

Если индикатор рассчитывается по формуле многочлена четного порядка с коеффициентами симметричными относительно его середины, запаздывание всегда будет равна степени многочлена пополам. Рекурсивные индикаторы не обладают этим свойством.

Пример:

 

F(x[]) = Ax[-4] + Bx[-3] + Bx[-2] + Ax[-1]

 

MA(10) и MA(50) оба подчиняются этому правилу, поэтому их запаздывания равны 5 и 25 баров соответственно.

 

к понятию качества сигнала - как его определить?

 

Под сигналом подразумевается линия, получаемая на выходе индикатора, а не сигнал на покупку/продажу. Есть четкие параметры филтрации, по которым можно судить о качестве выходного сигнала: запаздываение, аттенюация, критическая частота, количество полюсов, и тд. Об этом мы поговорим довольно подробно, потому что эта важная тема.

 

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

 

Сравнения будут, но качественные. Количественные сравнения, подобные тому, что Вы описали, я пока не планирую. Тем не менее, я буду рад, если после того, как я выложу инидкаторы, Вы сами произведете их сопоставление в советниках и выложите результаты! :drv:

 

про шум... не является ли алиасинговый шум следствием представления цены в виде свечей OHLC, который в свою очередь тоже является своеобразным фильтром-индикатором?

 

Совершенно верно!

 

про скальпинг... ведь это только одна из стратегий и далеко не главная на ретейловом форексе, для остальных стратегий очень важно сопровождение позиций, добавление/убавление, способны ли отфильтрованные индикаторы заметно улучшить нескальпирующих стратегий?

 

Думаю, что да.

 

Спасибо за очень интересные вопросы! :beer_drink:

Думаю, многим пригодится данная информация для лучшего понимания материала.

 

Кирилл

Share this post


Link to post
Share on other sites
transcendreamer

запаздывание (если я правильно понял) - это получается средневзвешенное влияние фактора с каждого бара из "окна расчета" и в случае если факторы всех баров равнозначны, то получается простое среднее и для SMA будет равным половине периода расчета - правильно? для EMA средневзвешенное будет сдвинуто вперед во времени, так как в EMA последние бары имеют больший вес и соответственно линия ближе бежит к цене - так? можно распространить оценку запаздывания на любой индикатор , для сложных индикаторов это можно сделать численным методом оценивая коррелицию волатильности каждого энного бара с волатильностью последнего значения индикатора...

 

теперь перехожу к провокации: если это можно сделать для любого индикатора, то и у "хороших" индикаторов тоже будет запаздывание и в этом смысле они ничем не отличаются от "плохих" индикаторов... можно найти индикатор который будет иметь меньшее запаздывание чем тот же ЕМА при одинаковом периоде расчета, но что это в конечном итоге даст? индикатор будет чаще реагировать на небольшие движения... можно запретить ему это, добавив фильтр отсекающий движения меньше определенной величины, но фильтр очевидно тоже будет иметь свой период запаздывания, так как является по сути такой функцией как и основная функция индикатора... в итоге, мне кажется даже самые лучшие индикаторы не могут радикально решить дилемму запаздывание-изменчивость

 

это напоминает проблему определения размера трейлинг-стопа: сколько ни вычисляй волатильность с отступом, все равно случится так что твой стоп заденет и продолжит двигаться в сторону тренда

Share this post


Link to post
Share on other sites
transcendreamer

про качество сигналов - очень интересно! очень жду! только если есть возможность, просьба давать пояснения, потому что уровень матподготовки у всех разный (я например вообще экономист)))

Share this post


Link to post
Share on other sites
Programmer
можно найти индикатор который будет иметь меньшее запаздывание чем тот же ЕМА при одинаковом периоде расчета, но что это в конечном итоге даст? индикатор будет чаще реагировать на небольшие движения...

 

Тут Вы не совсем правы. Индикаторы, которые мы разбираем в данной ветке построены таким образом, что они отфильтровывают колебания выбранных частот. Это позволяет добиться желаемого уровня отзывчивости к выбранным (пропускаемым) частотам при минимальном запаздывании.

Share this post


Link to post
Share on other sites
Programmer
про качество сигналов - очень интересно! очень жду! только если есть возможность, просьба давать пояснения, потому что уровень матподготовки у всех разный (я например вообще экономист)))

 

Обязательно!

Я стараюсь излагать материал максимально доступно для читателей с любыми уровнями мат. подготовки.

 

Тем не менее, если у Вас возникают вопросы - сразу задавайте. Вместе всегда легче разобраться. :beer_drink:

 

Кирилл

Share this post


Link to post
Share on other sites
transcendreamer
Тут Вы не совсем правы. Индикаторы, которые мы разбираем в данной ветке построены таким образом, что они отфильтровывают колебания выбранных частот. Это позволяет добиться желаемого уровня отзывчивости к выбранным (пропускаемым) частотам при минимальном запаздывании.

 

ок, хорошо

то есть задача трейдера - угадать важные частоты и убрать шумовые, настроив индикатор соответствующим образом? верно ли то что запаздывание фильтра равно половине отсекаемой частоты в барах?

Share this post


Link to post
Share on other sites
transcendreamer
Обязательно!

Я стараюсь излагать материал максимально доступно для читателей с любыми уровнями мат. подготовки.

 

Тем не менее, если у Вас возникают вопросы - сразу задавайте. Вместе всегда легче разобраться. :beer_drink:

 

Кирилл

 

спасибо!

Share this post


Link to post
Share on other sites
Programmer
ок, хорошо

то есть задача трейдера - угадать важные частоты и убрать шумовые, настроив индикатор соответствующим образом? верно ли то что запаздывание фильтра равно половине отсекаемой частоты в барах?

 

Приветствую,

 

Это утверждение неверно. В особых случаях, запаздывание фильтра равно половине числа баров, использованных в рассчете (а не циклических баров, про которые Вы упомянули). Условия на это я описал выше:

- не рекурсивный индикатор, и

- четный порядок

- коэффициенты симметричны относительно середины

 

Например, MA(10)

 

Надеюсь, ответил на вопрос.

Кирилл

Share this post


Link to post
Share on other sites
transcendreamer
Приветствую,

 

Это утверждение неверно. В особых случаях, запаздывание фильтра равно половине числа баров, использованных в рассчете (а не циклических баров, про которые Вы упомянули). Условия на это я описал выше:

- не рекурсивный индикатор, и

- четный порядок

- коэффициенты симметричны относительно середины

 

Например, MA(10)

 

Надеюсь, ответил на вопрос.

Кирилл

 

да, спасибо

тогда если идти от обратного:

фильтр может работать только с такими частотами которые меньше периода его расчета в барах

то есть например 20-баровую волну 10-баровый фильтр не может заметить в принципе

а минимальная частота, с которой можно работать, в виду дискретности баров получается 1 бар

Share this post


Link to post
Share on other sites
Programmer
да, спасибо

тогда если идти от обратного:

фильтр может работать только с такими частотами которые меньше периода его расчета в барах

то есть например 20-баровую волну 10-баровый фильтр не может заметить в принципе

а минимальная частота, с которой можно работать, в виду дискретности баров получается 1 бар

 

Приветствую,

 

Период рассчета фильтра в барах и циклические периоды волн, которые он пропускает или аттенюирует, - две разные вещи, не связанные между собой.

 

Посмотрите, например, на фильтр SuperSmoother, который я выложил в первом посте. У него вовсе нет периода рассчета: он всегда использует текущий бар и предыдущие два; однако, он рекурсивный, что означает, что значения переносятся на последующие бары. Тем не менее, у этого фильтра есть четко задаваемый период аттенюации - AttenuationPeriod.

 

Период аттенюации, это пороговый циклический период, выше / ниже которого волны отсекаются* фильтром.

 

*Отсекаются означает, что амплитуда волны уменьшается филтром на 3 децибела или больше (падение амплитуды примерно на 30%).

 

Кирилл

Edited by Programmer

Share this post


Link to post
Share on other sites
transcendreamer
Приветствую,

 

Период рассчета фильтра в барах и циклические периоды волн, которые он пропускает или аттенюирует, - две разные вещи, не связанные между собой.

 

Посмотрите, например, на фильтр SuperSmoother, который я выложил в первом посте. У него вовсе нет периода рассчета: он всегда использует текущий бар и предыдущие два; однако, он рекурсивный, что означает, что значения переносятся на последующие бары. Тем не менее, у этого фильтра есть четко задаваемый период аттенюации - AttenuationPeriod.

 

Период аттенюации, это пороговый циклический период, выше / ниже которого волны отсекаются* фильтром.

 

*Отсекаются означает, что амплитуда волны уменьшается филтром на 3 децибела или больше (падение амплитуды примерно на 30%).

 

Кирилл

 

надо подумать...

если индикатор рекурсивный то у него должен быть очень приличный реальный период расчета (окно) так как получается что очень многие прошлые бары влияют на расчет, некоторые старые бары будут иметь очень слабое влияние, можно попытаться оценить например если уровень влияния меньше 5% (изменчивость последнего значения индикатора от изменчивости энного бара) то эти бары считать несущественными и так можно оценить реальное "окно" индикатора

Share this post


Link to post
Share on other sites
transcendreamer

PS

я это пишу не из желания поспорить

просто хочется понять "магическую" суть математики наглядным образом

PPS

если смотреть на рисунок в Уроке 2 то там видно например в районе 2 августа что индикатор меняет направление вверх-вниз (это после сильного тренда с 11 июля который он отрисовал очень качественно) - для трейдера это значит либо ложные входы либо индикатор нужно еще дополнительно отфильтровывать, хотя это в принципе не проблема, но тем не менее получается что не все "ложные" частоты удалены, а проблема мне кажется в том что для одного конкретного случая будет свой набор частот являющихся важными и набор ложных частот, а для другого случая будет актуален другой набор частот - то есть - рынок не так просто что можно взять и выделить "сигнал" и "шум" как в радиосвязи - рынок постоянно меняется и важные частоты тоже

Share this post


Link to post
Share on other sites
Programmer
надо подумать...

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

 

Совершенно верно, в моей практике некоторые комбинации фильтр+индикатор имеют "реальный период" до 500 баров. Так долго может занимать стабилизация значений индикатора!

Edited by Programmer

Share this post


Link to post
Share on other sites
Programmer

PS: Буду рад, если упомянутый рисунок пойдет вам на пользу.

 

smoothWave, благодарю за рисунок

 

Кирилл

Share this post


Link to post
Share on other sites
Programmer

Урок 3 - Спектр Сигнала

 

Приветствую друзья,

 

Сегодня мы обсудим одну фундаментальную основу циклического анализа - спектр сигнала. Здача не из легких, поскольку данная тема непростая - в физике и математике ей уделяется особое внимание. Я приложу максимум усилий, чтобы изложить материал понятно, доступно и интересно, а Вы свою очередь, задавайте как можно больше вопросов. Готовы? Тогда начнем!

 

Спектр сигнала — в радиотехнике это результат разложения сигнала на более простые в базисе ортогональных функций. В качестве разложения обычно используются преобразование Фурье ...

Wikipedia

 

Что это означает?

Во-первых, под сигналом понимается отнюдь не торговый сигнал на вход/выход в/из рынка. Сигнал - это носитель информации. В нашем случае сигнал - это цена Close. Спектр сигнала - это попытка представить сигнал в виде составляющих для упращения анализа.

 

Проведем аналогию - представьте, что Вы покупаете Ferrari

 

post-50854-1404220691,9378_thumb.jpeg

Рис.1 - "Разложение" Ferrari

 

Допустим, Вы не знаете характеристики машины (разгон, макс. скорость, год выпуска и тд), но Вам предоставлены две возможности:

1 оценить машину исключительно по ее внешнему виду; или

2 узнать все подробности про элементарные составляющие машины, оценить их, и по суммарному результату произвести оценку всей машины

 

Какой подход выберете Вы?

 

Естественно, покупатель, обладающий подробной информацией о составляющих системы (машины) имеет преимущество над покупателем, который этой информацией не обладает. Наша ситуация отличается лишь тем, что мы "раскладываем" не машину, а сигнал. Однако, в этом нет ничего страшного. Человечество уже придумало множество различных методов спектрального анализа, которые применятюся повседнвено в самых различных областях науки и техники. Некоторые примеры включают: в химии спектральный анализ используют для определения состава объектов, в астрономии - для определения температур звезд и направления их движения, в радиотехники - для фильтрации сигнала и обработки звука.

 

При анализе Forex - мы тоже можем применять спетральный анализ. Ситуация совершенна та же, что и в примере с Ferrari - две возможности, предстоящие перед трейдером:

1 работать с рыночной ценой (сигналом) как есть - применять индикаторы, рассчитывать уровни, и т.д. к цене в том виде, в котором она поступает в терминал; или

2 разложить этот сигнал на элементарные составляющие и проанализировать их поотдельности, применяя соответствующие индикаторы, строя уровни и т.д.

 

Рыночный сигнал, разложенный на составлюящие выглядит примерно так:

 

post-50854-1404220691,9813_thumb.png

Рис.2 - Разложение рыночного сигнала

 

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

 

Терминология

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

 

Период T - наименьший промежуток времени, за который волна совершает одно колебание. В дальнейшем мы будем использовать название циклический период, чтобы не путать это понятие с периодом графика и периодом индикатора.

 

Частота f - характеристика периодического процесса, равная количеству повторений процесса в единицу времени. Частота и циклический период связаны формулой:

f = 1 / T

 

Амплитуда A - размах колебания волны. Чем больше амплитуда какой-либо из составлюящих сигнала, тем больше вклад этой волны в итоговый сигнал. Если амплитуда равна нулю, то волна не имеет никакого вклада в сигнал. Задача фильтрации сводится к минимизации амплитуд ненужных частот - явление, называемое аттенюацией.

 

Пример элементарной составлюящей сигнала с терминологией:

 

post-50854-1404220692,0691_thumb.jpg

Рис.3 - Терминология

 

Многим, особенно форумянам с техническим образованием, этот материал уже знаком. Однако, для многих это совершенно новая информация. Поэтому, на этом мы сегодня остановимся, чтобы у всех было достатончно времени для усвоения материала. Если есть вопросы - обязательно задавайте.

 

До встречи на следующем уроке!

 

© Kirill. StockProgrammer@mail.ru

Share this post


Link to post
Share on other sites
Programmer
PS

я это пишу не из желания поспорить

просто хочется понять "магическую" суть математики наглядным образом

 

Нет проблем!

Наоборот - я очень рад, что Вы задаете вопросы и пытаетесь дойти до истины :drv:

 

PPS

если смотреть на рисунок в Уроке 2 то там видно например в районе 2 августа что индикатор меняет направление вверх-вниз (это после сильного тренда с 11 июля который он отрисовал очень качественно) - для трейдера это значит либо ложные входы либо индикатор нужно еще дополнительно отфильтровывать, хотя это в принципе не проблема, но тем не менее получается что не все "ложные" частоты удалены

 

Отличное замечание!

Ответ кроется в том, что частоту полностью удалить очень сложно - это может происходить только для полюсных частот фильтра (про полюсы мы поговорим позже). В основном частоты не удаляются, а аттенюируются фильтром.

 

Что это значит?

Как Вы увидите из урока №3, который я только что опубликовал, волны характеризуются не только частотой, но и амплитудой. Аттенюация означает уменьшение амплитуды в несколько раз, чтобы ее влияние на суммарный сигнал был пренебрежимо мал. Аттенюация, при которой амплитуда падает в два раза, считается успешной.

 

Однако, если на рынке происходит скачок (насколько я понимаю) амплитуда волн некоторых частот резко возрастает на небольшой промежуток времени. Даже после того, как фильтр уменьшил амплитуду в два (или более раз), она все равно остается весомой по сравнению с амплитудами пропускных волн.

 

Таким образом, происходит "просачивание" ненужных частот сквозь филтр. Отсюда и искажение показаний индикатора, которое Вы верно подметили.

 

Надеюсь, объяснение понятное. Если вопрос еще остался - задавайте. Буду рад помочь :beer_drink:

 

Кирилл

Share this post


Link to post
Share on other sites
transcendreamer

 

Многим, особенно форумянам с техническим образованием, этот материал уже знаком. Однако, для многих это совершенно новая информация. Поэтому, на этом мы сегодня остановимся, чтобы у всех было достатончно времени для усвоения материала. Если есть вопросы - обязательно задавайте.

 

 

© Kirill. StockProgrammer@mail.ru

 

 

разложение по частотам конечно знакомо даже такому лоботрясу экономисту как я

мне это даже еще ближе стало после того как я занялся тестированием синтетиков

(тема "ТС на основе корреляции", раздел "методы анализа")

 

аналогия в том что синтетик собирается из нескольких инструментов:

synth = symbol1 * lot1 + symbol2 * lot2 + ... + symbol3 * lot3

(lot1,lot2... - это аналогия амплитуд частот)

в результате получаем график с желаемым поведением

а разложение наоборот превращает один график в несколько синусоид

если продолжить аналогию:

XXXYYY = lot1 * sin(period1,phase1) + lot2 * sin(period2,phase2) + ...

 

а теперь как говорится внимание вопрос - что с этим хозяйством делать?

торговать синусами очевидно нельзя )))

значит будем пытаться прогнозировать будущие бары экстраполяцией синусов?

 

версия 2:

искать частоты с высокими амплитудами

попытаться построить торговую систему на идее возврата колебаний

например: в АЧХ инструмента видим мощную амплитуду для длины волны 20 баров

тогда делаем разметку графика вертикальными линиями каждые 20 баров

а каждые 10 баров будет полуволна и ожидаемый экстремум

торгуем ордерами "внутрь волны" открываясь на ожидаемых экстремумах

переворачиваемся на противоположных экстремумах

 

или что-то другое?

 

помнится вроде бы на mql4.com была тема про FFT...

Share this post


Link to post
Share on other sites
transcendreamer
Нет проблем!

Наоборот - я очень рад, что Вы задаете вопросы и пытаетесь дойти до истины :drv:

 

 

 

Отличное замечание!

Ответ кроется в том, что частоту полностью удалить очень сложно - это может происходить только для полюсных частот фильтра (про полюсы мы поговорим позже). В основном частоты не удаляются, а аттенюируются фильтром.

 

Что это значит?

Как Вы увидите из урока №3, который я только что опубликовал, волны характеризуются не только частотой, но и амплитудой. Аттенюация означает уменьшение амплитуды в несколько раз, чтобы ее влияние на суммарный сигнал был пренебрежимо мал. Аттенюация, при которой амплитуда падает в два раза, считается успешной.

 

Однако, если на рынке происходит скачок (насколько я понимаю) амплитуда волн некоторых частот резко возрастает на небольшой промежуток времени. Даже после того, как фильтр уменьшил амплитуду в два (или более раз), она все равно остается весомой по сравнению с амплитудами пропускных волн.

 

Таким образом, происходит "просачивание" ненужных частот сквозь филтр. Отсюда и искажение показаний индикатора, которое Вы верно подметили.

 

Надеюсь, объяснение понятное. Если вопрос еще остался - задавайте. Буду рад помочь :beer_drink:

 

Кирилл

 

спасибо

значит нужно фильтровать все резкие движения

правда так и начало тренда тоже отфильтруется

Share this post


Link to post
Share on other sites
transcendreamer

и еще конечно вопрос об инструментарии:

чем делать разложение?

если ли какие-то готовые коды на mql?

в кодобазе есть кое-какие варианты, но как я понял они все с недостатками

вот тут интересно http://codebase.mql4.com/ru/5333 красиво по крайней мере

Share this post


Link to post
Share on other sites
transcendreamer

прогнозы по спектру как я понял из обсуждений на mql4 не сильно работают

http://forum.mql4.com/ru/12030/page2

Share this post


Link to post
Share on other sites
transcendreamer

 

есть еще такой метод: SSA называется

вот здесь на скриншотах такое творится!

 

*** удалено - правило форума 9 ***

 

правда неясно насколько результативно )))))

Edited by AntFX

Share this post


Link to post
Share on other sites
Programmer

или что-то другое?

 

Вариантов ТС может быть масса. В данный момент наша задача будет отделить шум от рыночного сигнала, научиться разделять тренд и циклические движения рынка, переписать некоторые стандартные индикаторы так, чтобы они работали только с определенными частотами, и т.д.

Share this post


Link to post
Share on other sites
Programmer
и еще конечно вопрос об инструментарии:

чем делать разложение?

если ли какие-то готовые коды на mql?

в кодобазе есть кое-какие варианты, но как я понял они все с недостатками

вот тут интересно http://codebase.mql4.com/ru/5333 красиво по крайней мере

 

Все коды MQL я буду программировать и выкладывать здесь.

Например, SuperSmoother я уже выложил в первой ветке. Напомню, что этот фильтр аттенюирует волны с циклическим периодом больше того, который Вы зададите в настройках. По умолчанию 10 баров.

 

Кирилл

Share this post


Link to post
Share on other sites
Programmer
прогнозы по спектру как я понял из обсуждений на mql4 не сильно работают

http://forum.mql4.com/ru/12030/page2

 

Смотря как применять ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×