Невозможно просмотреть автономный график - страница 5

 
qjol:

команда 33324 предназначена для обновления данных, а не тика.


Привет, Раптор,

Я согласен с qjol, что это не то, что я ищу. Команды 33324, похоже, просто просят окно автономного графика обновить/обновить данные, но не запускают тик на автономном графике (т.е. запускают OnStart советника). Кроме того, PeriodConvert - это скрипт, а не советник.

Чтобы обойти это, я добавляю бесконечный цикл внутри OnTimer(), так что основная логика будет работать вечно (с небольшим сном). По сути, я превращаю его в скрипт.

Но я все еще надеюсь, что это будет решено в новом MT4.

 
lingwuchung:


Привет, Раптор,

Я согласен с qjol, что это не то, что я ищу. Команды 33324, похоже, просто просят окно автономного графика обновить/обновить данные, но не запускают тик на автономном графике (т.е. запускают OnStart советника). Кроме того, PeriodConvert - это скрипт, а не советник.

Чтобы обойти это, я добавляю бесконечный цикл внутри OnTimer(), так что основная логика будет работать вечно (с небольшим сном). По сути, я превращаю его в скрипт.

Но я все еще надеюсь, что это будет решено в новом MT4.

Нет! Тестер не сможет работать, если я обойдусь без этого! Он останется на первом баре навсегда!

 
lingwuchung:


Привет, Раптор,

Я согласен с qjol, что это не то, что я ищу. Команды 33324, похоже, просто просят окно автономного графика обновить/обновить данные, но не запускают тик на автономном графике (т.е. запускают OnStart советника). Кроме того, PeriodConvert - это скрипт, а не советник.

Чтобы обойти это, я добавляю бесконечный цикл внутри OnTimer(), так что основная логика будет выполняться вечно (с небольшим сном). По сути, я превращаю его в скрипт.

Но я все еще надеюсь, что эта проблема будет решена в новом MT4.

Хорошо, я вижу разницу, что вы сделали до этого, чтобы start() запустился?
 
RaptorUK:
Хорошо, я вижу разницу, но что вы сделали до этого, чтобы запустить start()?


Исправил! Спасибо qjol. Он уже дал ответ, а я только сейчас заметил!

Решение простое. Просто замените в скрипте, генерирующем автономный график, вот так:

RegisterWindowMessageA("MetaTrader4_Internal_Message") на RegisterWindowMessageW("MetaTrader4_Internal_Message").

PostMessageA(hwnd, MT4InternalMsg, 2, 1) with PostMessageW(hwnd, MT4InternalMsg, 2, 1)

 
qjol:

команда 33324 предназначена для обновления данных, а не для установки галочки


qjol! Спасибо! На самом деле я видел, что люди на других форумах еще не решили эту проблему на сегодняшний день. Этот форум - первый (по крайней мере те, кто просит помощи)! Камни! Это дает мне хорошее чувство, что я все еще способный программист!!! :)

 
Я сделал это для себя, рад поделиться
 
RaptorUK:
Может быть, вам стоит почитать о различиях между старым mql4 и новым mql4....


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

YL

 

Прекратите дискуссию.

33324 не является командой для входящего тика. Это команда обновления графика.

О других командах просто погуглите. Мы относимся к использованию таких команд как к хаку, но мы не меняли команды около 6 или 7 лет и не будем менять их в будущем. (совершенно секретно)

Была ошибка с экзотическими названиями символов на автономных графиках (например, ERRUDD, просто шутка)/ Исправлено в билде 605


Теперь о "деградации"

Вы можете установить таймер в милисекундах, а не только в секундах. Просто попробуйте.

Попробуйте также EventChartCustom. Вам понравится

 
yellowlion:


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

Как бы вы хотели, чтобы я это сделал?
 
stringo:

Прекратите дискуссию.

33324 не является командой для входящего тика. Это команда обновления графика.

О других командах просто погуглите. Мы относимся к использованию таких команд как к хаку, но мы не меняли команды около 6 или 7 лет и не будем менять их в будущем. (совершенно секретно)

Была ошибка с экзотическими названиями символов на автономных графиках (например, ERRUDD, просто шутка)/ Исправлено в билде 605


Теперь о "деградации"

Вы можете установить таймер в милисекундах, а не только в секундах. Просто попробуйте.

Попробуйте также EventChartCustom. Вам понравится



Спасибо за опубликованные обходные пути, просто замечание.

Оба они предполагают, что индикаторы и эксперты, прикрепленные к автономному графику, используют другой метод, чем OnCalculate, OnTick или start(). Это означает, что они не являются решением для готовых индикаторов и экспертов ex4.

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