iSAR и другое...

 

Вот жешь как... хорошо проверять иногда и загодя... :(

Решил поюзать параболик, точнее iSAR.
Ничего страшного, что это знаю, да и справка есть.
Её и открываю... https://docs.mql4.com/ru/indicators/iSAR

Ага... Наличие int timeframe то что нужно, ибо предполагается использовать данные
только одного таймфрейма М5, и случайные переключения самого графика не повлияют
на показания, для чего есть параметр 0 если надо - используется текущий тф...

Но обрадовался рановато...
Вот первых, просьба чайника:
- примеры давать в нескольких вариантах, постараться без дефолтных значений
там и так понятно что 0 это 0, а вот вставить сходу правильный тф пришлось задуматься: а что именно?
5 или PERIOD_M5 что приведены на странице https://docs.mql4.com/ru/constants/timeframes
Впрочем и с 5 и PERIOD_M5 едитор не ругнулся и впринципе заработало...
Метод тыка - самый методистый и действенный метот в мире!!! :)))

Но заработало как-то не так как хотелось бы...
Для проверки забил в свой индикатор выводящий комменты на график этот код:

double ПАРСАР=iSAR(NULL,PERIOD_M5,0.02,0.2,0);

Значения выведеные в комент совпали как и ожидалось с накинутым на график
штатным параболиком из терминала... НО !!!
При изменении таймфрейма менялись значения "коментного параболика", хотя ему
внятно указано давать значения таймфрейма М5 !

Как и что сделано неправильно и недопонято...


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

 
kombat:

double ПАРСАР= iSAR ( NULL, PERIOD_M5, 0.02, 0.2, 0 ) ;


Замени PERIOD_M5 на 0 или на Period()
 

Как раз недавно это обсуждалось - 'Что неправильно?'. Дело в нумерации баров, значения он давал с м5, но не на тех барах показывал.

 

Кхм... видимо я слишком много и мудрёно написал... ;)

Нужно что-бы конструкция :

double ПАРСАР= iSAR ( NULL, PERIOD_M5, 0.02, 0.2, 0 ) ;

давала результат исключительно как для периода М5 (или другого указанного в коде)

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

Про: "Замени PERIOD_M5 на 0 или на Period() " я ж написал выше ... что знаю про такое...

 
Integer:

Как раз недавно это обсуждалось - 'Что неправильно?'. Дело в нумерации баров, значения он давал с м5, но не на тех барах показывал.


Тут увы другая история...
Показывает то значения параболик правильно!
Вопрос в том почему он скачет по тф, если ему прямо сказано только с М5 и баста! :)
т.е. не зависеть от текущего тф графика где висит советник или индикатор...
 
Мне кажется таже история. iSar это не готовый индикатор, а только функция, возвращающая значение индиктора с определенного таймфрема и определенного бара. В советник смело вставляйте, будет все как надо работать.
 
kombat:
Integer:

Как раз недавно это обсуждалось - 'Что неправильно?'. Дело в нумерации баров, значения он давал с м5, но не на тех барах показывал.


Тут увы другая история...
Показывает то значения параболик правильно!
Вопрос в том почему он скачет по тф, если ему прямо сказано только с М5 и баста! :)
т.е. не зависеть от текущего тф графика где висит советник или индикатор...
В любом случае в "обзоре рынка" должен присутствовать график М5 иначе негде будет индикатору брать данные для расчета, ну а в тестере все необходимые таймфреймы подкачиваются.
 
Не обязательно график открывать, даже не обязательно, чтобы символ в обзоре рынка был. Только надо проверять на ошибку загрузки данных. kombat, может у вас с этим и было связано. если давно не открывали м5, надо время на подгрузку, а потом все вычисления заново делать.
 
С параболиком из стандартной выкладки нельзя иначе как НормализеДоубле))))
Бо все что в этой ветке товарищ не понимает что видит,
а видит он то что Параболик ничего не кажет без, повторяю НормализеДоубле (не путать с Кондолизе)))
 

Прошу у всех прощения !!! за свою невнимательность... :(

Вначале я вписал так:

int start(){
double ПАРСАР=iSAR(NULL,PERIOD_M5,0.02,0.2,0);
string ГДЕПАРСАР=" ниже";
if (iSAR(NULL,0,0.02,0.2,0) > MarketInfo(Symbol(),MODE_BID)) ГДЕПАРСАР=" выше";
//=== выводим инфу на график построчно ==============================   
{Comment("Индикатор4: "+iSAR(NULL,0,0.02,0.2,0)+ГДЕПАРСАР+"\n");}
return(0); 
 
 }

забыв в последствии заметь то место где "Индикатор4..." на правильное...
потому и гнался текущий тф, а я гусей... ещё раз огромное сорри...

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

 
Korey:
С параболиком из стандартной выкладки нельзя иначе как НормализеДоубле))))
Бо все что в этой ветке товарищ не понимает что видит,
а видит он то что Параболик ничего не кажет без, повторяю НормализеДоубле (не путать с Кондолизе)))


Ну не надо же так категорично...
Если я ошибся по невнимательности это не значит что гусь я лапчатый и кому то товарисчЪ.

Параболик кстати кажет и Кондолизой и без...
привёдёный выше кусок первый варинат, и как видим без нормализЭ.
Сейчас это конечно причёсано к точности инструмента...

Причина обращения: