| / | Статьи |
Cтатьи
Возможности
Статистический анализ рыночных движений и их прогнозов
Авторизуйтесь или зарегистрируйтесь , чтобы добавить новую статью
|
Статистический анализ рыночных движений и их прогнозов [ en ]Вместо вступления
|
| Диапазон TP и SL | 20..120 пт |
| Число скользящих средних в веере | 40 |
| Шаг веера | 3 периода |
| Найдено уникальных баров, удовлетворяющих условиям | 1153 |
| Найдено всего подходящих условий | 48259 |
| Прибыльных сделок | 991 |
| Убыточных | 391 |
| Ожидание | 71,71% |
| Получено убытка | 1 172 705 пт |
| Получено прибыли | 1 571 420 пт |
| Итого прибыли | 398715 |
График 1. Зависимость суммы прибыли (красный) /убытка(синий) от nTP.

График 2. Отношение сумм прибыли и убытка в зависимости от nTP. Значение <1 говорят о прибыли.
Как видно, из графика для nTP=24, 42, 44 убыток оказался больше чем прибыль. Для всех остальных случаях он удерживался в районе 0,6.

График 3. Нормирование суммы прибыли. Значение 50% - равность прибыли (красный) и убытка (синий).

Не менее интересны и остальные зависимости, которые вы сможете посмотреть в таблице GBPUSD_5_fan.xls
Как уже говорилось это всего лишь один вариант в бесчисленном море возможностей статанализа, так что дерзайте. Успехов вам в начинании и больших профитов.
Внимание! Прежде чем переносить скрипт или индикатор на график настоятельно рекомендуем ознакомиться с принципом вычислений. Так как выполняется обработка большого числа данных, то возможна приостановка работы терминала на несколько секунд.
P. S.
Если кто желает поделиться своими наработками и/или высказать критические замечания, то желательно создать ветку на форуме.
![]() Интеграция MetaTrader 4 с MS SQL-сервером
В статье показан пример интеграции клиентского терминала MetaTrader 4 и сервером MS SQL посредством использования dll. Приложены как исходные коды на С++ и MQL4, так и готовый скомпилированный проект Visual C++ 6.0 SP5. |
![]() Взаимодействие между MetaTrader 4 и Matlab посредством DDE
Пошаговые инструкции по организации передачи данных от Matlab к MetaTrader 4 посредством DDE. |
| Предыдущая | Следующая |
Хорошая статья. Особенно подход необычен.
Что интересно, функция IsProfitFan, зачем там вставлена? Раз стоит значит что-то делала.
я, наверное, опоздал к беседе. И я не профессионал. Мне просто хотелось понять, возможно с помощью вашей статьи или прикрепленных данных определить, например, время, когда та или иная валюта вообще становится более активна. Не важно, в каком направлении. Просто активна. Если да, то напишите, пожалуйста, как это сделать. Или может есть какой-то другой способ. Мне это, к сожалению, нужно, и я не могу решить этот вопрос. Мне надо определить статистически время ативности валюты, не направление и точку входа, а время входа.
с уважением, Азер.
Я понимаю где в таймсерии находится прошлое и будущее :-) Я говорю о том что статистическое исследование проведено неверно.
Если мы проводим его на 125 000 барах, то мы должны взять веер принадлежащий каждому бару и сравнить его с остальными 124 999 веерами.
И потом выбрать наиболее удачный шаблон веера. В варианте когда j=i+1 мы каждый следующий веер сравниваем с меньшим кол-вом вееров. Получается что для некоторых вееров мы проводим сравнение с 10, 11 ... 2000 и т.д. веерами. Мне кажется это не корректным.
Все с точностью до наоборот. Если вы например находителсь сейчас на баре номер 0, то ведь не знаете значения веера бара номер -1 или -2. Это ведь back to the future. А ограничением выборки от i+1 мы таким образом не смотрим на бары i, i-1, i-2 ...
Убедил?
Спасибо за все ваши корректировки. Очень приятно, что вы разобрались с кодом.
Большую часть из правок я нашел сам. А вот что касается вашего последнего замечания
строка 118: for (j=i+1; j<MaxI; j++)
Кажется должно быть j=1 тогда мы полностью составим картину для всех вееров на всех 125000 барах. Т.е. берем веер на каждом баре и сравниваем его со всеми подряд веерами на всех барах. А так мы сравниваем статистику на разных кол-вах баров.
здесь уже обсуждалось. Мы не должны заглядывать в будущее. Поэтому мой цикл правильный.
Спасибо за все ваши корректировки. Очень приятно, что вы разобрались с кодом.
Большую часть из правок я нашел сам. А вот что касается вашего последнего замечания
строка 118: for (j=i+1; j<MaxI; j++)
Кажется должно быть j=1 тогда мы полностью составим картину для всех вееров на всех 125000 барах. Т.е. берем веер на каждом баре и сравниваем его со всеми подряд веерами на всех барах. А так мы сравниваем статистику на разных кол-вах баров.
здесь уже обсуждалось. Мы не должны заглядывать в будущее. Поэтому мой цикл правильный.
Предложения по увеличению быстродействия.
if (Low[k]<=LossPrice) { find = true; FileWriteInteger(hFile, -k); break;}//если нашли бар СЛ
else if (High[k]>=ProfitPrice) { find=true; FileWriteInteger(hFile, k); break;}//если нашли бар ТП
while (_ma<MaxK && find && k<MaxI) // проходим по вееру и классифицируем его
{
if (Sign(Ma.Sub[_ma][j])!=Sign(Ma.Sub[_ma][i])) {find=false; break;}// если не совпало направление каждой МА
else
if (MathAbs(Ma.Sub[_ma][j])>=MathAbs(Ma.Sub[_ma][i])*1.4 || MathAbs(Ma.Sub[_ma][j])<=MathAbs(Ma.Sub[_ma][i])*0.714)
{find=false; break;}// или если расстояния между ними не попадают в диапазон
_ma++;
}
Замечания о возможных ошибках.
Ф-ция CreatDataArray()
Если к ней добавить статистику, то результат может оказаться впечатляющим. Статистика хороша, когда обрабатывает некую базовую теорию.
Статья называется "Формула рыночной волны". С уважением и добрыми пожеланиями!
2 Avelox.
А вы можете обосновать свои слова, по поводу практического применения?
Неужели вы свои идеи тестируете в уме и ни разу не заглядываете на графики цен?
А статья это всего лишь статья. Главное - ценность идеи.
Для практического применения уважаемый гр.sergeev я пользуюсь разработкой приведённой в следующей статье:
Если к ней добавить статистику, то результат может оказаться впечатляющим. Статистика хороша, когда обрабатывает некую базовую теорию.
Статья называется "Формула рыночной волны". С уважением и добрыми пожеланиями!
Всем ЗДРАСТВУЙТЕ! Т.к. я ЗДЕСЬ новенький- немного о себе…1.5 года в реале, сижу ПОКА! на RUMUS2, кому интересно, что я – смотрите наhttp://forum.fxclub.org/usercp.php Теперь по теме...Все, конечно здорово…НО...Само основное условие расчетов- считаю- ИМХО, некорректно, т.к. что мы имеем: 1.Внешний вид визуально НИЧЕГО не показывает- только мат. расчет и то параметры на Истории мало что определяют, т.к. рынок постоянно меняется…2. Сам подход- ОДНОБОКО – ЛИНЕЙНЫЙ, нет определения по векторам осей X и Y, нет корреляции с точками изменения тенденции. 3. Правило построения фракталов для изменения тенденции – простой пример: A1<A2;A2>A3;A3>A4;…An<Ax ….и т.д. здесь не учтено.Следовательно и как показывает практика, данная схема построения и мат. вычислений будет по коэффициенту примерно 1 к 1.4, что при отрицательном свопе неминуемо приведет к потере депо.Конечно ИМХО, т.к. многого не знаю, НО…К нашей проблеме…Что нам необходимо-попробуем понять…1.Точки перелома тенденции.2.Направление движения, учитываемое советником.3.Определение уровней стопов для минимизации убытков при новостных форс- мажорах.4.Соотношение профит – убыток с коэффициентом выше 1 к 2.2 [говорят, можно создать систему с К и выше, но что-то не очень верится- по моему брехня..] 5.И основное- МТС визуально и математически понятная, как для советника, так и для трейдера. Сереж, ты не обижайся, но продуктивная критика еще никому не вредила, даже огромный РЕСПЕКТ тебе за тот труд и усилия, что ты уже вложил, но просто данный путь по структурной логистике ошибочен- жаль время которое ты потратил и еще потратишь- мое мнение- впустую…Так как нельзя все вот так просто взять и бросить, да и мне неприятно [понимаю прекрасно, сколько вложил], давай попробуем ВСЕ немного видоизменить, чтоб энто было продуктивно и твой труд действительно увенчался успехом…Надеюсь, когда прочтешь- подумаешь, потом согласишься…Теперь о видении рынка…У каждого оно свое и я осмелюсь выложить, как я энто вижу..Просто без энтого вступления невозможно понять те принципы, по которым он живет и которые [ как мне кажется- уже перекрестился…] им управляют.Представь себе…. детскую площадку…, разные снаряды …, детей…, которые играют на них катаясь…качели.
Не такие, а вот энти,
т.к. с одной стороны у нас бакс, а с другой – любая валюта. Что мы имеем? А имеем валютную пару.В определенный момент одна сторона перевешивает другую- за счет новостей, или еще как-то…, но до определенного предела- иначе это не рынок, так как интерес опустить кого-то ниже плинтуса полностью отсутствует. Что, если линейно-графически разложить в 2х мерке у нас получится? Конечно линейно расположенная неравномерно структруированная синусоида, простым языком –ВОЛНА. Что еще не хватает? Конечно фактора Времени.В своих расчетах почему-то ты его отодвинул на последнее место.Что нам необходимо? Индикаторы, по которым советник Адекватно сможет определять направление движения цены в текущий момент времени и правильно реагировать на те тенденции, которые в тот момент присутствуют.Т.к. с твоими МА энтого не получишь, предлагаю 2 варианта индикатора [ идея моя- май 2007г., создал по мат-ке Роман Карцев, параметры мои.Включен в версии Rumus 2 выше 1.2.1 в августе 07г.], 1 на ruling , 2ой под МТ-4.Выкладываю: n1 := Input("Параметр быстрой средней", 1, 100, 3);
n2 := Input("Параметр медленной средней", 1, 100, 5);
n3 := Input("Параметр сигнальной средней", 1, 100, 11);
n4 := Input("тип средней (1-s/2-e)", 1, 2, 1);
NMACD:= If(n4=1, Mov((H+L)/2,n1,S)-Mov((H+L)/2,n2,S), Mov((H+L)/2,n1,E)-Mov((H+L)/2,n2,E));
NMACDS:= If(n4=1, Mov(NMACD,n3,S), Mov(NMACD,n3,E));
gr := ValueWhen( 1, NMACD>=Ref(NMACD,-1), NMACD);
red := ValueWhen( 2, NMACD<Ref(NMACD,-1), NMACD);
gr;
red;
NMACD;
NMACDS;
0; ИЛИ под ruling: n1 = inparam("Параметр быстрой средней", 1, 100, 1);
n2 = inparam("Параметр медленной средней", 1, 100, 11);
n3 = inparam("Параметр сигнальной средней", 1, 100, 5);
n4 = inparam("тип средней (1-s/2-e)", 1, 2, 1);
if n4=1 then
begin
NMACD=mov((h+l)/2,n1,s)-mov((h+l)/2,n2,s);
NMACD_S=mov(NMACD,n3,s);
end;
if n4=2 then
begin
NMACD=mov((h+l)/2,n1,e)-mov((h+l)/2,n2,e);
NMACD_S=mov(NMACD,n3,e);
end;
if NMACD>=ref(NMACD,-1) then gr=NMACD; else red=NMACD;
gr;
red;
NMACD;
NMACD_S;
0; ПАРАМЕТРЫ-gr-5-зеленый;reg-2- красный; NMACD-1-красный; NMACD_S-2-желтый;ВСЕ ГИСТОГРАММА!+ К этому индикатору Необходимо!!! Добавить МА с параметрами:3;-1;5 SMA close, которая строится на графике цены, а затем перетаскивается в окно индикатора на новый слой.Именно МА и будет являтся показателем движения тренда на данном таймфрейме, хоть на 1мин., хоть на днях.Правило для МА- больший таймфрейм является в долгосрочной перспективе более важным, но лучше всего 3-4 часа… Но советник должен работать на тайм фреймах =30 мин. И 1час.Т.К. ДАННАЯ система по показателям – думаю построишь- тестанешь- согласишься, гораздо лучше чем то, что ты показал, может имеет смысл попроборвать построить советника по выше указанному- К будет лучше- факт, быстродействие+ адекват на порядок лучше, а МА-фильтр направление четче определит тенденцию рынка.Почему УСЕ выкладываю?ДА, признаю- есть и мой шкурный интерес…, т.к. собрался переходить на МТ-4- советник толковый нужен, а сам написать- старый уже-8 месяцев Rulang грыз, разгрыз кое-как, а теперь еще…Сам понимаешь- тяжко…Для писем:Staier13@Yandex.ru, г. Ростов-на-Дону, 89198841505 МТС, или на вышеуказанный форум в личку…