Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2114

 
Aleksei Stepanenko #:
увеличение n - движение в глубь истории: вчера, позавчера, позапозавчера

спасибо

 
Не за что, здесь получается, что код 180 раз рассчитывает почти одни и те же данные, кроме крайних дат. Это не экономично, ну это не айс.
 
законопослушный гражданин #:

Добрый день, подскажите пожалуйста, этот цикл перебирает дневные Хай/Лоу, от текущего дня назад?

i=1 это в данном цикле какой день? сегодняшний или первый 180 дней назад?

читайте уже документацию...iHighest iLowest

 
Aleksei Stepanenko #:
Не за что, здесь получается, что код 180 раз рассчитывает почти одни и те же данные, кроме крайних дат. Это не экономично, ну это не айс.

ну он вычисляет средний дневной ход за 180 дней

Daily_Range=Daily_Range+(iHigh(Symbol(),PERIOD_D1,n)-iLow(Symbol(),PERIOD_D1,n))/PipValue;

и затем делит на 180 и получает среднее

 if(i==180) adr180=MathRound(Daily_Range/180)

а что не так? второй индюк показывает на 180 дней точно такое же значение (только в том индюке нем mql4 файла и я не могу в него залезть и посмотреть как там всё устроено)

 
Maxim Kuznetsov #:

читайте уже документацию...iHighest iLowest

может  iHigh и  iLow всё таки?

не понятно как мне поможет iHighest iLowest?

 
Конечно, он будет работать, но это тяжёлый код. Когда цикл прогоняется в другом цикле по одинаковым данным. Желательно делать один цикл по всем свечам истории, на каждой итерации этого цикла высчитывать и сохранять данные, которые вам понадобятся на следующей итерации. Иногда необходим дополнительный цикл внутри, но стараться надо делать всё за один раз.
 
Aleksei Stepanenko #:
Конечно, он будет работать, но это тяжёлый код. Когда цикл прогоняется в другом цикле по одинаковым данным. Желательно делать один цикл по всем свечам истории, на каждой итерации этого цикла высчитывать и сохранять данные, которые вам понадобятся на следующей итерации. Иногда необходим дополнительный цикл внутри, но стараться надо делать всё за один раз.

ясно, спасибо

 
законопослушный гражданин #:

Добрый день, подскажите пожалуйста, этот цикл перебирает дневные Хай/Лоу, от текущего дня назад?

i=1 это в данном цикле какой день? сегодняшний или первый 180 дней назад?

"i" - это простой счетчик от 1 до 180 включительно

день - это "n"

 
PapaYozh #:

"i" - это простой счетчик от 1 до 180 включительно

день - это "n"

т.е. n=1 это вчера, n=2 это позавчера и т.д. n++ пока не досчитает до 180 назад?

 
Valeriy Yastremskiy #:

Если это хотелки заказчика, то это точно неверная логика. Смысл может быть только в нужных для анализа участках. И считать конечно от сегодня вглубь. А с начала истории график есть штатный. Его возможно тоже можно расковырять приблизительно по датам.

Получить данные и просчитать за последнюю неделю/месяц/день - банально просто.

Хотелка моя личная получать за периоды с начала жизни счёта.

И всё-же, какая разница с какой стороны считать.!?

Пополнили первый раз, отсюда и можно идти дальше. Приложенный код всё это считает

Загвоздка в том, что не могу пойти дальше и закодировать логику "Начальный/Конечный баланс за период"

Если у кого есть желание помочь, присоединяйтесь = Я в полном ступоре. Возможно, логику нужно переписать

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

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Vitaly Muzichenko, 2023.01.31 22:28

Не совсем так, сбор статистики

Что-то подсказывает, что пошёл не по тому пути ...

Нужно получить начальный и конечный баланс неделя/месяц, но с начала истории.

--

Считаем прибыль/убыток, учитываем пополнения/снятия = результат

--

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

 

---

Нужно получить строку:

неделя0 "дата", начальный баланс =***,  конечный баланс =***, прибыль =***

неделя1 "дата", начальный баланс =***,  конечный баланс =***, прибыль =***

неделя2 "дата", начальный баланс =***,  конечный баланс =*** , прибыль =***

неделя3 "дата", начальный баланс =***,  конечный баланс =*** , прибыль =***

месяц0 "дата", начальный баланс =***,  конечный баланс =*** , прибыль =***

неделя4 "дата", начальный баланс =***, конечный баланс =***, прибыль =***

...


Файлы:
REPORTS.mq4  11 kb
Причина обращения: