Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 77

 
John Smith:


В коде значения берутся так:

Value[1] = current/current+6

Value[2] = current+1/current+7

Value[3] = current+2/current+8


Деление - это кусок формулы моментума с окном в 6 баров.

Есть в такой записи ошибка?

Где Вы нашли окно?

И как Вы думаете, чему будет равно Ваше выражение Value[1] = current/current+6, если current=1, я думаю что 7?

 

Всем привет!

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

Для проверки и разбора прикрепляю советника. 

Благодарю за любую помощь.

Файлы:
6f5djt.mq4  18 kb
 
Rustem71:

Всем привет!

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

Для проверки и разбора прикрепляю советника. 

Благодарю за любую помощь.


при переключении ТФ нужно заново инициализировать панель...

и покопайтесь в классах, там при деинициализации панель не удаляется полностью

 
Taras Slobodyanik:


при переключении ТФ нужно заново инициализировать панель...

и покопайтесь в классах, там при деинициализации панель не удаляется полностью

Пока не совсем разобрался. Очень много классов лопатить приходиться. Но мучает вопрос почему первое переключение проходит нормально а следующее убивает панель. Уже убрал с него все не нужное. Оставил только саму рамку так сказать. Но проблема остается. Пока ковыряю дальше. Если будут мысли с удовольствием послушаю.

Спасибо!


Сейчас выяснил что первый раз панель удаляется и создается по иниту заново, а во второй раз панель остается висеть. 

Может инит во второй раз не так загружать нужно? Или удалять как то по другому.

Файлы:
mrdv0d.mq4  7 kb
 

Только начал разбираться, нужна помощь профи

Хочу используя встроенный стохастический индикатор, получать уведомление о сигнале (пересечение медленной и быстрой стохастик за границами 80/20)

Как получить данные с помощью iStochastic разобрался : пишу свой индикатор, в нем вызывают iStochastic для баров, анализирую и отправляю алерт.

Не пойму как быть в такой ситуации: если я использую большой таймфрейм, например 4 часа, то новый бар появится по окончании таймфрейма,

и вызовется индикатор для пересчета. Т.е. таймаут в 4 часа.

Но я хочу анализировать информацию постоянно, т.е. как только изменилась цена (bid ask) пересчитывать стохастику и

если критерии удовлетворяют условию получать уведомление. Т.е. не ждать окончания таймфрейма и появления новой свечи.

Подскажите куда смотреть, и вообще возможно ли это реализовать. 

Возможно не до конца понимаю суть процессов и вообще не туда копаю, новичок..)

 
Rustem71:

Пока не совсем разобрался. Очень много классов лопатить приходиться. Но мучает вопрос почему первое переключение проходит нормально а следующее убивает панель. Уже убрал с него все не нужное. Оставил только саму рамку так сказать. Но проблема остается. Пока ковыряю дальше. Если будут мысли с удовольствием послушаю.

Спасибо!


Сейчас выяснил что первый раз панель удаляется и создается по иниту заново, а во второй раз панель остается висеть. 

Может инит во второй раз не так загружать нужно? Или удалять как то по другому.


Все сделал! Спасибо Taras Slobodyanik навел на мысль.

При ините запретил создавать панель если была смена ТФ. И в деините запретил уничтожать панель если происходит смена ТФ.

 
VladPro77:

Только начал разбираться, нужна помощь профи

Хочу используя встроенный стохастический индикатор, получать уведомление о сигнале (пересечение медленной и быстрой стохастик за границами 80/20)

Как получить данные с помощью iStochastic разобрался : пишу свой индикатор, в нем вызывают iStochastic для баров, анализирую и отправляю алерт.

Не пойму как быть в такой ситуации: если я использую большой таймфрейм, например 4 часа, то новый бар появится по окончании таймфрейма,

и вызовется индикатор для пересчета. Т.е. таймаут в 4 часа.

Но я хочу анализировать информацию постоянно, т.е. как только изменилась цена (bid ask) пересчитывать стохастику и

если критерии удовлетворяют условию получать уведомление. Т.е. не ждать окончания таймфрейма и появления новой свечи.

Подскажите куда смотреть, и вообще возможно ли это реализовать. 

Возможно не до конца понимаю суть процессов и вообще не туда копаю, новичок..)


// Инициализируем переменную для проверки
datetime time_svecha;        //время предыдущей свечи 
...

// В начале исполнительного кода проверяем на приход новой свечи:
if(iTime(NULL,PERIOD_CURRENT,0) == time_svecha) return;

...

// В конце исполнительного кода присваиваем время новой свечи 
time_svecha = iTime(NULL,PERIOD_CURRENT,0);
 
Подскажите что нужно доделать в торговой панели чтобы она могла работать в тестере именно в режиме визуализации. Или это очень сложно?
 
Rustem71:
Подскажите что нужно доделать в торговой панели чтобы она могла работать в тестере именно в режиме визуализации. Или это очень сложно?


если для индикатора, то по идее должно работать
если для советника, то в тестере, (для советников), не приходят события и не работает таймер...

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

 
Rustem71:


Спасибо, но немного не то)

Я описываю следующую ситуацию. 

1. Закончился таймфрейм, сформировалась свеча. Индикатор пересчитался, отрисовался.

2. Начинается новый тф. (Новой свечи не будет до его окончания). Во время этого длящегося тф меняется бид и аск.

Я хочу реагировать на эти изменения цены (во время длящегося тф, свеча еще не сформирована).

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

А график можно отрисовать когда закончится тф .

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