Метод тенденциальной планиметрии - страница 10

 
Prival:

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

В идеале задача индикатора - выдавать нужную информацию в максимально сжатом виде (без существенных потерь, разумеется) с минимально возможными вычислительными затратами. По первому критерию 3D картинка хороша (для визуального восприятия), но вот по второму как-то напряжённо.
 
lna01:
Prival:

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

В идеале задача индикатора - выдавать нужную информацию в максимально сжатом виде (без существенных потерь, разумеется) с минимально возможными вычислительными затратами. По первому критерию 3D картинка хороша (для визуального восприятия), но вот по второму как-то напряжённо.

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

to Candid

Так в чём проблема? Заготовку для индикатора (с расчётом функции профиля) я ранее в этой ветке выкладывал. Функция профиля использованная grasn является частным случаем вложенной в тот код. Останется добавить процедуру поиска сгущений (то есть минимумов этой функции) и индикатор готов. Можно в том числе и процедуру предложенную grasn вставить.

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


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

Червячки в чистом виде:

Плюс ко всему появляется третья координата – а именно величина «плотности» по которой, наверное, можно делать осмысленные выводы.

PS: описанный алгоритм совсем простой и вряд ли составит больших трудов его перенести в MT, да и объем вычислений тут не играет ключевой роли. Можно сделать пока ничем не обоснованный вывод, если посмотреть на 3D картинку. Видно, что у отметки «сегодня», это 1400 отсчет (ось "n"), червячки обладают явно заниженным значением «плотности» по сравнению с «сильными» зонами (более зелененькие точки). А как показывал в предыдущих постах, «завтра» цена стартует вверх и не возвращается к червячкам. Мож это имел ввиду eugenk?

to eugenk

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

 
grasn:

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


Что ты мой код не смотришь я знаю :), я просто подсказал человеку что часть работы по такому индикатору для МТ уже сделана и выложена
 
lna01:
grasn:

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


Что ты мой код не смотришь я знаю :), я просто подсказал человеку что часть работы по такому индикатору для МТ уже сделана и выложена
я пытался вот тут разобраться 'Метод тенденциальной планиметрии' (Ina01 03.11.2007 16:20) :о))))
 
grasn:
я пытался вот тут разобраться 'Метод тенденциальной планиметрии' (Ina01 03.11.2007 16:20) :о))))

А надо было тут 'Метод тенденциальной планиметрии' (lna01 02.11.2007 11:35) :)

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

    Sum = Close[sh+1];
    SMA[1] = Sum;
    for (i = 2;i<=SMANumber;i++) {
      Sum += Close[sh+i];
      SMA[i] = Sum/i;
    }
// Предыдущий код обсуждён с Matemat'ом в предыдущих постах. Собственно, это эффективный алгоритм
// расчёта значений простых скользящих средних на баре с индексом sh+1
// Теперь сортируем массив этих значений, после этого значения будут идти в том же порядке, что и на графике. 
// Если не нравится, можно закомментировать эту строчку
    ArraySort(SMA);
// Теперь рассчитываем функцию профиля, для визуальной оценки загоняем значения функции в индикаторный буфер
// Сама функция - разность значений SMA. Если бы не было сортировки, это была бы 
// разность SMA с периодами i+hf и i-hf, с сортировкой это интервал цен, занимаемый 2*hf+1 SMA в том порядке, 
// в каком они идут на графике, SMA[i] - медианное значение интервала.
    for (i = hf+1;i<=SMANumber-hf;i++) {
      D[sh+i] = SMA[i+hf] - SMA[i-hf];
    }

Для построения второй картинки в заинтересовавшем тебя посте код был модифицирован

    for (i = hf+1;i<=SMANumber-hf;i++) {
      dSMA = SMA[i+hf] - SMA[i-hf];
      D[sh+i] = dSMA;
      if (SaveData) FileWrite(h,dSMA,SMA[i]-SMA[1],i);
    }
P.S.  Подробные комментарии я рассматриваю как маленькую месть :)
 
to grasn

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

Только вернулся из командировки. Такс…, что у нас тут? Нда…, продолжения особого не намечается, ну да ладно, и я потихоньку буду закругляться.

to Candid

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

to vaa20003

Всегда готов помочь. Файлик прикрепил, снабдил краткими комментариями. Код не самый лучший с точки зрения оптимизации, но такой задачи не ставил к тому же спешил. Думается, что направление бесперспективное, не говоря уже о том, что ЛР поставленные цели (вернее, грубо очерченные) достигает проще и точнее.

PS: Понадобиться MathCAD 13.0/13.1 Шаг MA меняется в функции PL.

PSS: Надеюсь, что молчание eugenk не связано с большими проблемами и он внесет свежую струю



файл тут: http://grasn.narod.ru/test/PLANIMETRIA.xmcd Чего то не хочет загружаться.

 
Спасибо. Буду учиться :) (скачал уже 14, но должна быть совместимость!)
 
vaa20003:
Спасибо. Буду учиться :) (скачал уже 14, но должна быть совместимость!)
вот тут: http://twt.mpei.ac.ru/ochkov/Mathcad_14/index.html можно почитать об отличиях 13 от 14. Я в итоге остался на 13.
Причина обращения: