Moving Avarage за последние 10 часов - страница 2

 
kroww248:

P./S.: Ещё раз подчеркну, что код тестовый и в нём отсутствуют некоторые проверки.

А к примеру, набросок проверки там с помощью Bars может быть действительным только если:

input ENUM_TIMEFRAMES time_frame=PERIOD_CURRENT;

(и если при этом сумма из: количества баров по которым выводятся значения + период МА (ma_period) + начальный номер бара (shift), меньше количества баров на графике заданного периода).

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

 
Dina Paches:

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

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

 
Andrey Khatimlianskii:

Приветствую, Андрей!

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

Лан. Пока-пока. Похоже, настоятельно убедить себя заняться далее решением чисто своих собственных вопросов у меня всё-же получилось.)

 
Dina Paches:

Не надо ждать. Ответы есть выше.

Вот тестовый скрипт:

Вывод во вкладку "Эксперты" терминала:

P./S.: Поправила чуть код. Набросала-то его "на коленке".
Правильно ли я понимаю, результат получаем за счёт изменения переменной "i" в параметрах сдвига индикатора от 1 до 10 ?
 
Andrey Khatimlianskii:

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

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

А МОЖЕТЕ НЕ ПО ТЕМЕ НЕ ПИСАТЬ?
 
kroww248:
Правильно ли я понимаю, результат получаем за счёт изменения переменной "i" в параметрах сдвига индикатора от 1 до 10 ?

Не знаю насколько верно понимаю ваш вопрос. Поэтому просто скажу, что "i" на месте shift (сдвига) из функции iMA означает номер бара, где определяется значение Moving Average (МА).

double  iMA(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          ma_period,        // период
   int          ma_shift,         // сдвиг средней
   int          ma_method,        // метод усреднения
   int          applied_price,    // тип цены
   int          shift             // сдвиг
   );

Т.е., там где тестовый код выводит i = 1 - это вывод значения МА по первому бару после текущего (нулевого), а там где i = 10 - это вывод значения МА по десятому бару после текущего.

Для проверки правильности вывода значений можно воспользоваться следующим способом:

установка на график индикатора Moving Averages, входящего в стандартный набор торгового терминала, с такими же параметрами, как и заданными в тестовом коде по умолчанию или вами - > вызов на графике "Окна данных" -> сравнение выводимых тестовым кодом при распринтовке значений с теми, что выводятся в "Окне данных" индикатором Moving Averages, входящим в стандартный набор торгового терминала.

Параллельно или отдельно можете воспользоваться, для сравнения выводимых значений, и моим индикатором из Кодобазы, что определяет значения МА (там у меня есть "рабочий на повседневку", а не тестовый) или может чьим-то другим, выводящим значения МА.

Т.е., распринтовки и сравнения (при необходимости) хорошо могут помогать разобраться в каких-то неясных вопросах.


P./S.: А на Андрея не "кричите", пожалуйста, через CapsLock.) Со временем, скорее всего, вы поймёте, что он хотел сказать мне.

iMA - Документация на MQL4
  • docs.mql4.com
iMA - Документация на MQL4
 
Dina Paches:

Не знаю насколько верно понимаю ваш вопрос. Поэтому просто скажу, что "i" на месте shift (сдвига) из функции iMA означает номер бара, где определяется значение Moving Average (МА).

Т.е., там где тестовый код выводит i = 1 - это вывод значения МА по первому бару после текущего (нулевого), а там где i = 10 - это вывод значения МА по десятому бару после текущего.

Для проверки правильности вывода значений можно воспользоваться следующим способом:

Параллельно или отдельно можете воспользоваться, для сравнения выводимых значений, и моим индикатором из Кодобазы, что определяет значения МА (там у меня есть "рабочий на повседневку", а не тестовый) или может чьим-то другим, выводящим значения МА.

Т.е., распринтовки и сравнения (при необходимости) хорошо могут помогать разобраться в каких-то неясных вопросах.


P./S.: А на Андрея не "кричите", пожалуйста, через CapsLock.) Со временем, скорее всего, вы поймёте, что он хотел сказать мне.

Всё! Разобрался. Спасибо!!!

А что означает "тестовый код", "распринтовки", "кодобаза"? 

 
kroww248:

Всё! Разобрался. Спасибо!!!

А что означает "тестовый код", "распринтовки", "кодобаза"? 

Замечательно. Рада. Правда.


А "тестовый код", "распринтовки", "кодобаза" - это что-то типа жаргонных разговорных выражений.

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

Там же по ссылке скрин, где отображены значения МА, выводимые во вкладку "Эксперты" терминала приложенным тестовым кодом через функцию Print(). Естественно, и у себя вы, когда запускаете на графике терминала какой-либо код, где есть вывод значений через функцию Print(), можете наблюдать в одноименной вкладке терминала выводимые с помощью этой функции значения. В прилагаемом тестовом коде эта функция задана мной с помощью параметрической формы директивы #define.

Т.е., под распринтовками подразумевала то, что выводится с помощью функции Print() во вкладку "Эксперты" торгового терминала.

Кодобаза - это от названия Code Base (обширной базы различных исходных кодов, написанных на языках MQL4 и MQL5). Перейти в неё напрямую можно по ссылке в верхнем меню сайта:


Если же кто-то из участников Сообщества выкладывает в Code Base какие-то коды, то увидеть их можно и в профиле этого участника, перейдя туда, например, по имени написавшего пост на форуме, а затем там в профиле заглянув в раздел "Публикации".

 
kroww248:
А МОЖЕТЕ НЕ ПО ТЕМЕ НЕ ПИСАТЬ?

По теме я написал намного раньше:

Только вам не нужна была помощь, вам надо было чтоб кто-то сделал за вас. Благо, Дине нужно было отвлечься от своей работы ;)

Удачи в освоении mql! 

 
Dina Paches:

Замечательно. Рада. Правда.


А "тестовый код", "распринтовки", "кодобаза" - это что-то типа жаргонных разговорных выражений.

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

Там же по ссылке скрин, где отображены значения МА, выводимые во вкладку "Эксперты" терминала приложенным тестовым кодом через функцию Print(). Естественно, и у себя вы, когда запускаете на графике терминала какой-либо код, где есть вывод значений через функцию Print(), можете наблюдать в одноименной вкладке терминала выводимые с помощью этой функции значения. В прилагаемом тестовом коде эта функция задана мной с помощью параметрической формы директивы #define.

Т.е., под распринтовками подразумевала то, что выводится с помощью функции Print() во вкладку "Эксперты" торгового терминала.

Кодобаза - это от названия Code Base (обширной базы различных исходных кодов, написанных на языках MQL4 и MQL5). Перейти в неё напрямую можно по ссылке в верхнем меню сайта:


Если же кто-то из участников Сообщества выкладывает в Code Base какие-то коды, то увидеть их можно и в профиле этого участника, перейдя туда, например, по имени написавшего пост на форуме, а затем там в профиле заглянув в раздел "Публикации".

Дина, благодарю Вас за эту информацию. Без подробных разъяснений очень трудно новичкам освоиться в мире MQL. 

Вопрос исчерпан. Всем спасибо! 

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