Сделал я как-то такую штуку ... - страница 10

 
Yurixx:


Я тоже так думал до некоторых пор. Действительно, с чего начинают новички ? Чем больше насуешь индикаторов, тем лучше. А потом, не знают что делать с этой кучей параметров. В конце концов, начинаешь понимать, что любой параметр - это произвол того, кто строит систему. Тогда и возникает вполне правомерное желание уйти от них вообще. Но правильно ли это ?

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


Я согласен. От этого параметра никуда не деться. Но вот мы попытались перейти к делу и сразу же столкнулись с вопросом - как определить "уход от уровня". И я пока не понимаю, как здесь обойтись без ещё одного параметра.

Вообще в этом вопросе есть ещё один важный критерий. Раз мы собираемся набирать статистику на истории, алгоритм не должен быть слишком "тяжёлым". Ну и раз мы собираемся работать с уровнями, довольно естественным было бы привязать критерий к расстоянию между уровнями. Например мы делим этот интервал на степень двойки, вот эта степень и может быть параметром. Важно что у него очень небольшой диапазон разумных значений, 2, 3, ну 4.

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

Кстати, помнится я когда-то форсировал алгоритм расчёта уровней Мюррея, именно с целью возможности работы с ними на длинной истории :).

 
Candid:

...Речь шла о том, что ты не можешь знать, сколько раз цена пересекала уровень внутри бара. Следовательно, если ты в реале намерен реагировать действительно на каждое пересечение, ты принципиально не можешь набрать на истории статистику для такого алгоритма. Если же ты решил считать не более одного пересечения на бар, значит ты уже ввёл один параметр - задержку, и установил его значение: "до конца календарной минуты" (если можно так выразиться). Далее неизбежно встаёт вопрос о целесообразности именно такой задержки.


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

что нам нужно.

1. критерий эффективности, это не деньги, а пункты.

2. критерий пробития уровня

3. какойто фиксированный интервал времени, дать цене время уйти от уровня...

 

по 1 пункту. критерий пусть не булышев, суть в том что бы иметь эти 4 цифры, вход. выход. мак. и мин. дальше посчитаем все что нужно. другого не вижу. вход - это исследуемый уровень. а вот по трем остальным цифрам нужна статистика

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

3. допустим 1 час

алгоритм прост, имеет минимум параметров, и позволит сравнить по эфективности допустим с уровнем 00+7. любой другой алгоритм имеет большее количество параметров что усложняет сравнение и анализ 

 
Prival:


по 1 пункту. критерий пусть не булышев, суть в том что бы иметь эти 4 цифры, вход. выход. мак. и мин. дальше посчитаем все что нужно. другого не вижу. вход - это исследуемый уровень. а вот по трем остальным цифрам нужна статистика

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


Если я не знаю, что это за пустыня, будем считать что это Кара-Кум :) . Согласен, совершенно здравый подход, позволяющий приступить к действию.

Проблема в том, что от числа входов (то есть от числа пересечений) будет зависеть вклад этого уровня в общий итог. Если критерий ограничения числа пересечений будет выбран произвольно, статистика будет отражать только этот частный случай. То есть эта статистика никого не убедит, тут же возникнет "более правильный" способ её набора. Поэтому я и хочу с самого начала иметь какую-то логику в выборе методики.

 

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

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

самое простое сравнивать отдельно, лучший вход, лучший выход, лучший профит. по медиане выборки.

а вот над совокупным критерием. который учитывает сразу все нужно подумать

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

 

Предлагаю общий критерий такой, т.к. у нас нет выхода,  мы в принципе его и не проверяем, у нас нет логики выхода.

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

Лучший уровень тот у кого эта величина больше, идеальный уровень - цена улетает по направлению входа, без просадки…

Как такой критерий ?

 

Может быть можно так?

x=DoubleNormalize(Close[i],3) ;

line=DoubleNormalize(Close[i],2);

if(x==line) flag = true;

if(flag && x>line) { Up=1; flag=false; }

 
Candid:

Я согласен. От этого параметра никуда не деться. Но вот мы попытались перейти к делу и сразу же столкнулись с вопросом - как определить "уход от уровня". И я пока не понимаю, как здесь обойтись без ещё одного параметра.


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

Допустим мы хотим торговать внутри дня, но не хотим заниматься пипсовкой. Допустим также, что на избранной нами валютной паре размах дневного движения цены составляет 70-80 пунктов. Тогда мы можем задаться целевым профитом на сделку скажем в 50 пп. Это число может быть принято в качестве базового параметра, поскольку оно можно сказать однозначно определяет зигзаг, который будет представлять собой, с одной стороны, идеальную схему нашей торговли, а, с другой, фрактальную структуру рынка на выбранном уровне.

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

Я понимаю, что я влез в ваше обсуждение конкретной ТС, торгующей от абсолютных уровней. Это, конечно, совсем другой подход к торговле, который между прочим требует еще своего обоснования, хотя бы статистического. Иначе от произвола при выборе этих уровней никак не уйти. Поэтому я высказался в общем смысле, в том смысле с какой стороны лучше подходить к созданию ТС. ИМХО

Candid:

Вообще в этом вопросе есть ещё один важный критерий. Раз мы собираемся набирать статистику на истории, алгоритм не должен быть слишком "тяжёлым". Ну и раз мы собираемся работать с уровнями, довольно естественным было бы привязать критерий к расстоянию между уровнями. Например мы делим этот интервал на степень двойки, вот эта степень и может быть параметром. Важно что у него очень небольшой диапазон разумных значений, 2, 3, ну 4.

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

Кстати, помнится я когда-то форсировал алгоритм расчёта уровней Мюррея, именно с целью возможности работы с ними на длинной истории :).


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

А вообще, если торговать по уровням, то получается как минимум три параметра: 1) база, то есть по крайней мере одно абсолютное значение задающее опору сетке; 2) интервал между уровнями - вполне соответствует тому параметру целевого значения профита, о котором я писал; 3) параметр определяющий уход от уровня. Если построение более тонких уровней сетки осуществлять делением интервала пополам, то уход от уровня определяется тогда естественным образом.

А вот деление на 10 представляется мне данью нашей привычке к десятичной шкале. Вряд ли это можно обосновать.

 
Yurixx:


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

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

Допустим мы хотим торговать внутри дня, но не хотим заниматься пипсовкой. Допустим также, что на избранной нами валютной паре размах дневного движения цены составляет 70-80 пунктов. Тогда мы можем задаться целевым профитом на сделку скажем в 50 пп. Это число может быть принято в качестве базового параметра, поскольку оно можно сказать однозначно определяет зигзаг, который будет представлять собой, с одной стороны, идеальную схему нашей торговли, а, с другой, фрактальную структуру рынка на выбранном уровне.

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

Это понятно, но мы действительно говорили о другом.

Я понимаю, что я влез в ваше обсуждение конкретной ТС, торгующей от абсолютных уровней. Это, конечно, совсем другой подход к торговле, который между прочим требует еще своего обоснования, хотя бы статистического.

Именно на обоснование мы и замахнулись :). Справедливости ради, однако, надо сказать что и "следование движениям цены" тоже нуждается в статистическом обосновании.
Степень двойки, причем именно первая, кажется мне наиболее приемлемым значением. Она, по-моему, в наибольшей степени соответствует фрактальной структуре рынка. Еще несколько лет назад, когда Владислав выложил индикатор уровней Мюррея, я оценил насколько адекватно он ведет себя по отношению к колебаниям цены.
Ну первая степень всё-таки грубовато, но по крайней мере я рад что мы оба уважаем деление пополам. Кстати, ускорял я именно индикатор Владислава.
А вообще, если торговать по уровням, то получается как минимум три параметра: 1) база, то есть по крайней мере одно абсолютное значение задающее опору сетке; 2) интервал между уровнями - вполне соответствует тому параметру целевого значения профита, о котором я писал; 3) параметр определяющий уход от уровня. Если построение более тонких уровней сетки осуществлять делением интервала пополам, то уход от уровня определяется тогда естественным образом.

я думаю пп. 1 и 2 можно свести к одному, выбрав горизонт мы можем получить и базу и интервал между уровнями.
 
nikost:

Может быть можно так?

x=DoubleNormalize(Close[i],3) ;

line=DoubleNormalize(Close[i],2);

if(x==line) flag = true;

if(flag && x>line) { Up=1; flag=false; }

Да, как-то так, только if(flag && x[i]>=line && x[i+1]<line) ....

Однако:

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

2. Надо работать не с Close а с High и Low, иначе у нас не будет шансов воспроизвести алгоритм входов в реальном времени, имхо.

 
Prival:

Предлагаю общий критерий такой, т.к. у нас нет выхода, мы в принципе его и не проверяем, у нас нет логики выхода.

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

Лучший уровень тот у кого эта величина больше, идеальный уровень - цена улетает по направлению входа, без просадки…

Как такой критерий ?


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