Первый шаг MQL4 - страница 2

 

HA...мне удалось получить инструкцию / функцию iCustom для извлечения значения из индикатора Moving Average и увидеть значение в маленьком окошке, где вы копируете имя и запускаете скрипт и видите значение....

Кто у вас мастер программист! ;)

Еще несколько вопросов, которые мне не ясны на основе прочитанного, пожалуйста, если можно:

1. Я заметил, что в советнике есть раздел onTick, а затем OnTimer... есть ли между ними понимание, что если советник должен срабатывать на основе движения цены, то предпочтение отдается onTick, а если конструкция основана на времени графика, т.е. открытие и закрытие бара M1, то использовать раздел программы onTimer?

2. В iCustom и других встроенных i[индикаторах], когда индикатор имеет более одного входа, нужно ли ссылаться на все дополнительные входы в одной и той же однострочной функции или нужно повторить функцию столько же раз, сколько входов, например, для индикатора Stochastic, который имеет kPeriod, dPeriod и т.д.?

3. Если мое понимание No1 верно, то могу ли я синхронизировать мой индикатор для запуска с таймером графика, т.е. если я загружаю советник, который смотрит на первые 5 секунд и последние 5 секунд длительности бара, в то время как на графике M1 осталось 42 секунды, могу ли я синхронизировать мой советник для запуска как таковой или он просто делает это автоматически?

Спасибо, ребята!


MW

 
MUZZLE_ZA:

1. Я заметил, что в советнике есть раздел onTick, а затем OnTimer... есть ли между ними понимание, что если конструкция советника должна срабатывать на основе движения цены, то предпочтение отдается onTick, а если конструкция основана на времени графика, т.е. открытие и закрытие бара M1, то следует использовать раздел программы onTimer?


Пока я не сталкивался ни с одной ситуацией, когда мне нужно было бы использовать OnTimer.

Бар не может закрыться и открыться новый, пока не наступит новый тик. Поэтому если вам нужно проверить наличие нового бара (новый бар означает, что предыдущий должен закрыться), сделайте это в OnTick.

 
MUZZLE_ZA:

2. При использовании iCustom и других встроенных i[индикаторов], когда индикатор имеет более одного входа, нужно ли ссылаться на все дополнительные входы в одной и той же однострочной функции или нужно повторить функцию столько же раз, сколько входов, например, для стохастического индикатора, который имеет kPeriod, dPeriod и т.д.?

Я не понимаю вопроса
 

Доброе утро, Гумрай,

Спасибо за ваш ответ. Теперь я запутался в определении OnTick. Насколько я понимаю, OnTick - это изменение цены, т.е. колебание валютного курса, не зависящее от времени?

Ссылка на MQL: Тик - это событие, характеризующееся новой ценой символа в некоторый момент времени.

Исходя из вышесказанного, моя первоначальная мысль заключалась в том, что если цена не двигается в течение 10 секунд, то событие Tick не происходит в течение этого времени?

Возможно, требуется больше ясности?

Что касается вопроса 2, то мне удалось вылечиться, так что я доволен тем, что цель достигнута! - Спасибо.

Ваша очередь. :)


MW

 
MUZZLE_ZA:

Доброе утро, Гумрай,

Спасибо за ваш ответ. Теперь я запутался в определении OnTick. Насколько я понимаю, OnTick - это изменение цены, т.е. колебание валютного курса, не зависящее от времени?

Ссылка на MQL: Тик - это событие, характеризующееся новой ценой символа в некоторый момент времени.

Да, вы правы.

Представьте, что на графике M1

бар открывается в 12:01:00

последний тик бара приходит в 12:01:59

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

но

следующий тик приходит в 12:02:05 и это время, когда новый бар открывается, а старый закрывается. Поскольку в течение 6 секунд не было тиков, невозможно определить начало нового бара, пока не появится тик. Поэтому проверьте наличие нового бара в OnTick

 

Думаю, я понимаю, что вы мне говорите.

Тогда возникает вопрос, для чего нужен OnTimer в советнике?

Если моя цель - посмотреть на период времени, а затем на действия, которые происходят в течение этого периода времени, разве я не выбираю OnTimer?

Другими словами, меня больше интересует то, что происходит между 12:01:00 и 12:02:00: Результатом может быть рост цены, падение цены или отсутствие действия цены в течение этого периода времени?

Надеюсь, это понятно?

 

Доброе утро, друзья,

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

Проблема теперь в том, что когда я загружаю советника на график, он возвращает большое количество стохастических предупреждений вместо требуемого предупреждения...

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

Как проверить, что советник запустил событие?

Я заметил, что советник имеет хмурое лицо на графике, что, если я понимаю, все еще в порядке, потому что я не заинтересован в разрешении живой торговли?

Если я не буду торговать в реальном времени с помощью советника и запущу советник в страт-тестере, должен ли он выдать сигнал тревоги во время тестирования и остановиться или в тестере нет такой возможности?

Спасибо,


M

 
Вы не получаете всплывающих предупреждений в тестере стратегий, но они будут указаны в журнале
 

Привет, ГумРай...

Надеюсь, у тебя были хорошие выходные.

Итак, я открыл код индикатора в редакторе и изменил значения оповещений на false, так что теперь я не получаю спам оповещений от дивергенции стокса при загрузке советника. - Надеюсь, это не окажет негативного влияния на мой советник.

Когда я пытаюсь запустить индикатор на графике M1 в течение 2 дней и смотрю журнал, в записях появляется Custom Indicators xyz: removed - похоже ли это на ожидаемое поведение, когда код находится в блоке OnTick программы?

Бьюсь головой... :)

 

Привет, ребята,

Существует ли какое-либо запаздывание советника... т.е. задержка в несколько секунд при обработке советника?

Если мое системное время отличается от времени графика и появляется предупреждение, какое время предупреждения, основанное на моем местном времени или времени графика?

Функция MqlTick, которая возвращает значение last_tick.bid - это самая последняя тиковая цена бида?

Когда я использую OPEN(0), это цена открытия текущей свечи, на которой находится тикер?