Математические основы индикаторов

  • Автор темы Автор темы AlexeNP
  • Дата начала Дата начала

AlexeNP

Гуру форума
Алекс Здравствуйте.

Простите если отвлекаю. Вы не могли бы мне помочь.

Нужно покарасить Мувинг, через один бар.
Ну, делаем 2 буфера
EURUSDH1.png
ну и по модулю 4 сравнение проводим, чтобы разъединить точки
 

Вложения

egor008

Активный участник
Ну, делаем 2 буфера
Посмотреть вложение 519264
ну и по модулю 4 сравнение проводим, чтобы разъединить точки



Благодарю!!! Это именно то, что надо!!! Шикарный код!

Вы не могли бы ещё раз взглянуть, на индикатор. Картинки прикрепил.

При забросе на график, всё как надо!

Но притестировании, линия создаётся сплошной, без пробелов.

И ещё очень важный нюанс.

Отрезки линии индикатора, не должны, перемещаться.

То есть, отрезки не должны передвигаться, на пробелы.

Нельзя ли это исправить..

Спасибо!
 

Вложения

  • _01.png
    _01.png
    20,5 КБ · Просмотры: 261
  • _02.png
    _02.png
    27,2 КБ · Просмотры: 255

AlexeNP

Гуру форума
Благодарю!!! Это именно то, что надо!!! Шикарный код!

Вы не могли бы ещё раз взглянуть, на индикатор. Картинки прикрепил.

При забросе на график, всё как надо!

Но притестировании, линия создаётся сплошной, без пробелов.

И ещё очень важный нюанс.

Отрезки линии индикатора, не должны, перемещаться.

То есть, отрезки не должны передвигаться, на пробелы.

Нельзя ли это исправить..

Спасибо!
 

Вложения

Shipr_A

Активный участник
Алекс Спасибо Огромное!!!


Отлично! работает как надо!!


Вы вовремя, я вам, уже писал.. я тоже сделал, через ArrayCopy но это уже не важно.))

Ваш код красивее!!

Ешё раз, Огромное спасибо!!

-------------------------------------------------------------------
 

Shipr_A

Активный участник
Алекс! Здравствуйте!

Простите, пожалуйста, если отвлекаю.

Mогу я вас, попросить, переделать прикреплённый индикатор. Но в вашем исполнении.



Дело в том, что он недостаточно быстро бегает, в тестере.

А мои попытки, его ускорить, привели к тому, что я вам пишу это письмо.

Помогите, пожалуйста, сделать его быстрым.



Я его делал через ArrayCopy. Поверх индикатора канала "super-signals-channel".

Логика такая (на картинке): когда верхняя линия канала, делает "П-Образную" кривую модель,

то по всей вершине "буквы П", выставляется линия. Снизу то же самое, только наоборот.



Посмотрите, пожалуйста. Можно ли, его сделать быстрым.

Спасибо.

-------------------------------------------------------
 

Вложения

AlexeNP

Гуру форума
Алекс! Здравствуйте!

Простите, пожалуйста, если отвлекаю.

Mогу я вас, попросить, переделать прикреплённый индикатор. Но в вашем исполнении.



Дело в том, что он недостаточно быстро бегает, в тестере.

А мои попытки, его ускорить, привели к тому, что я вам пишу это письмо.

Помогите, пожалуйста, сделать его быстрым.



Я его делал через ArrayCopy. Поверх индикатора канала "super-signals-channel".

Логика такая (на картинке): когда верхняя линия канала, делает "П-Образную" кривую модель,

то по всей вершине "буквы П", выставляется линия. Снизу то же самое, только наоборот.



Посмотрите, пожалуйста. Можно ли, его сделать быстрым.

Спасибо.

-------------------------------------------------------
честно говоря, тут еще в некоторых вещах надо разбираться... пример
hhb = iHighest(Symbol(),0,MODE_HIGH,dist,i-dist/2);
llb = iLowest(Symbol(),0,MODE_LOW,dist,i-dist/2);

при этом i>=0 при i=0 что должен выдавать индикатор?
 

Shipr_A

Активный участник
честно говоря, тут еще в некоторых вещах надо разбираться... пример
hhb = iHighest(Symbol(),0,MODE_HIGH,dist,i-dist/2);
llb = iLowest(Symbol(),0,MODE_LOW,dist,i-dist/2);

при этом i>=0 при i=0 что должен выдавать индикатор?
Речь идёт о методе наложения и его корректной работе. Остальное не важно.
В том смысле, что первый индикатор не важен, это может быть канал, линия или что угодно.

Наложение на "П-образные" участки первого индикатора.

На примере МА

------------------

Прикреплённый индикатор, В тестере, Корректно отображается только при забросе на график, а дальше не работает.


Моя версия очень медленная или вообще не работает, как в данном случае.

Вы не могли бы, это исправить или сделать свою версию.

Спасибо.
 

Вложения

  • _03.png
    _03.png
    35,1 КБ · Просмотры: 287
  • ПUП_test_1.mq4
    ПUП_test_1.mq4
    10,4 КБ · Просмотры: 62

AlexeNP

Гуру форума
Речь идёт о методе наложения и его корректной работе. Остальное не важно.
В том смысле, что первый индикатор не важен, это может быть канал, линия или что угодно.

Наложение на "П-образные" участки первого индикатора.

На примере МА

------------------

Прикреплённый индикатор, В тестере, Корректно отображается только при забросе на график, а дальше не работает.


Моя версия очень медленная или вообще не работает, как в данном случае.

Вы не могли бы, это исправить или сделать свою версию.

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

Вложения

Shipr_A

Активный участник
Увы. Не работает.
 

Вложения

  • _02.png
    _02.png
    30,9 КБ · Просмотры: 160

Shipr_A

Активный участник
Так всё не работает. Линия МА не отображается корректно. Уровни ставятся не пойми где. В тестере сами посмотрите.
В тестере стратегий, закиньте его на график и всё увидите сами.
 

AlexeNP

Гуру форума
Так всё не работает. Линия МА не отображается корректно. Уровни ставятся не пойми где. В тестере сами посмотрите.
В тестере стратегий, закиньте его на график и всё увидите сами.
у меня все работает)
Наложение на "П-образные" участки первого индикатора.
где брать эти участки? когда будет ответ на этот вопрос, тогда и поймем - работает или нет) Уровни где должны ставиться? Я не Нострадамус, чтобы находить ответы на подобные вопросы... что было под рукой, то и поставил. Если же хотите добиться нужного результата, то потрудитесь описывать все шаг за шагом, что откуда взять и куда что положить
 

Shipr_A

Активный участник
Простите.

Я делал так:


1. Устанавливаем МА Нормализация 4 - что бы слелать её угловатой или ступенчатой как сказать не знаю.(на картинке)

MA = NormalizeDouble( iMA(Symbol(), 0, period_MA, 0, MODE_EMA, PRICE_CLOSE, i) ,4) ;


2. Устанавливаем счётчик. Считаем все те места, когда МА была не прямая. МА != МА[i+1]


3. И тут же через ArrayCopy копирую (завожу в массив) все цены, мест когда МА была не прямая.
4. И тут же через ArrayCopy копирую (завожу в массив) все индексы, мест когда МА была не прямая.

5. В новом цикле нахожу вершину из скопированных цен массива prices_hi[j+1] > prices_hi[j] && prices_hi[j+1] > prices_hi[j+2]
6. В последнем цикле из скопированных индексов массива, выставляю линию. for ( int k= bars_hi[j] ;k<bars_hi[j+1];k++)
 

Вложения

  • 1.png
    1.png
    37,5 КБ · Просмотры: 164
  • 2.png
    2.png
    40,3 КБ · Просмотры: 159

Shipr_A

Активный участник
7. В последнем цикле, выравниваю линию. level_hi[k] = buff_0[k+1]+SignalGap*Point ;

8. В инт OnInit(), выравниваю линию. Сдвигаю её. SetIndexShift(1,-1);

--------------------------------------------

Скажите какой пункт, не ясен - опишу подробней
 
Последнее редактирование:
Верх