[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 711

 
miha-28:

Здравствуйте господа. Вопрос, если какая функция или еще как-нибудь чтобы определить как закрылись предыдущие позиции с плюсом или минусом???? Если тема поднималась скинь ссылку. Заранее спасибо….


https://www.mql5.com/ru/forum/107476/page21#79649

https://www.mql5.com/ru/forum/107476/page21#79908

 
Есть массив PeakUP[]. В цикле записываем в него значения экстремумов. Если на выходе после цикла размер массива ==1 (т.е. нашли только одно значение), то делаем дополнительный цикл с поиском значений и найденные дополнительные значения вносим в этот же массив. Делаю так:
BubleUP=TempIND[i-2];               // Возьмём значение "бугорка" - Это найденное дополнительное значение, которое нужно вписать в массив
                              
asize=ArraySize(PeakUP);           // Размер массива значений пичков... (именно он содержит только одно значение, а нужно минимум два)
ArrayResize(PeakUP, asize+1);       // ... увеличим его на 1
PeakUP[0]=BubleUP;                  // ... и впишем в него значение "бугорка"

На выходе после всех перечисленных манипуляций в распринтовке видим:

PeakUP Size = 3 - значит нашли два дополнительных значения и размер массива пичков увеличился до 3 - здесь всё правильно, далее:
PeakUP[0] = 49,9119 - это значение, которое было найдено при поиске доп. значений вторым по счёту и оно здесь и должно находиться; далее:
PeakUP[1] = 0 - здесь должно быть значение первого найденного доп. значения (примерно 82 с копейками)
PeakUP[2] = 0 - здесь должно быть значение найденного всего лишь одного экстремума (примерно 173 с копейками)

Вопрос - куда я потерял два значения? И вообще - правильно ли я пытаюсь их вписать? Код, который изначально заполняет массив PeakUP значениями экстремумов работает верно,
не работает вторая часть - повторное добавление в массив дополнительных значений.

Подскажите что не так?

 
artmedia70:


Вопрос - куда я потерял два значения? И вообще - правильно ли я пытаюсь их вписать? Код, который изначально заполняет массив PeakUP значениями экстремумов работает верно,
не работает вторая часть - повторное добавление в массив дополнительных значений.

Подскажите что не так?



Всё, не надо, спасибо, разобрался...
 
cyclik33:

Пожалуйста обьясните как его сделать. Я пробовал СКОПИРОВАТЬ КАК ОТЧЕТ но оно выдает в htm и не показывает кол-во убыточных сделок подряд все-равно.

Копировать ничего не надо. В deinit() вставляется нужны код, который анализирует результаты и сохраняет результаты в файл. Иногда пользуюсь подобным методом когда нужно получать свой критерий оптимизации.
 
Не могу никак понять. Мне нужно просто для наглядности рассчётов поставить точки на графике индикатора AD в тех местах, где находятся найденные экстремумы.
Функция
bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)
вогнала меня в непроходимый тупик... :(

Ведь написано чёрным по белому, что OBJ_ARROW использует только одну координату. КАКУЮ??? Откуда из индикатора брать значение datetime??? Или мне ещё и его запоминать наряду с найденным экстремумом? Короче - гора вопросов и непонимания, а ответа по сайту не нашел, если не брать работу с другими типами граф. элементов...

Помогите, ткните пальцем пжлст... :)

 
artmedia70:
 

Ведь написано чёрным по белому, что OBJ_ARROW использует только одну координату. КАКУЮ??? Откуда из индикатора брать значение datetime??? Или мне ещё и его запоминать наряду с найденным экстремумом? Короче - гора вопросов и непонимания, а ответа по сайту не нашел, если не брать работу с другими типами граф. элементов...

Помогите, ткните пальцем пжлст... :)

Когда нашел экстремум, он находится на определенном баре, вот и вставляешь:

datetime time1=величина экстремума, double price1=Time[номер бара] 

 
Roger:

Когда нашел экстремум, он находится на определенном баре, вот и вставляешь:

datetime time1=величина экстремума, double price1=Time[номер бара]

Не-е-е, я экстремумы ищу на графике индикатора, в данном случае A/D
 
artmedia70:

Ведь написано чёрным по белому, что OBJ_ARROW использует только одну координату. КАКУЮ???

Это неточность в Хелпе. Конечно, не одна координата, а одна точка (которая имеет две координаты).
 
Mathemat:
Это неточность в Хелпе. Конечно, не одна координата, а одна точка (которая имеет две координаты).

Спасибо, Алексей, половина прояснилась :) Теперь хотелось бы знать как брать и откуда эти координаты для рисования на графике индикатора. На графике цены - там всё ясно и понятно, а вот с индикатором какая-то напасть...
 

График индюкатора? Дык это по сути то же самое. Все равно экстремумы только на барах, а не между ними.

Индюкатор - это отдельное окно (если ты его отдельно рисуешь, под окном цены). В этом окне те же координаты - значение индюкатора и время.