Ваши вопросы по языку MQL4

AlexeyVik

Программист mql4 mql5
Здравствуйте и процветайте уважаемые знатоки программирования. Подскажите пожалуйста как вызвать скрипт из советника, если это возможно?
Овчинка выделки не стоит, проще скопировать код из скрипта в виде функции в советник. Или в библиотеку, а потом оттуда вызывать.
Ну, а если ради эксперимента, то после объявления функции OnStart() должно быть написано export, но как это работает я не проверял за ненадобностью и не очень уверен, что это сработает. Просто где-то читал, начал пытаться проверять, но сразу бросил пожалев время на такие эксперименты.
 

lexar

Местный житель
Овчинка выделки не стоит, проще скопировать код из скрипта в виде функции в советник. Или в библиотеку, а потом оттуда вызывать.
Ну, а если ради эксперимента, то после объявления функции OnStart() должно быть написано export, но как это работает я не проверял за ненадобностью и не очень уверен, что это сработает. Просто где-то читал, начал пытаться проверять, но сразу бросил пожалев время на такие эксперименты.

Спасибо, но немного не то. Мне надо чтобы скрипт целиком наносился на график если он не нанесён. А переносить в советника тоже думаю проблематично, так как у скриптов есть свои мульки...
 

AlexeyVik

Программист mql4 mql5
Спасибо, но немного не то. Мне надо чтобы скрипт целиком наносился на график если он не нанесён. А переносить в советника тоже думаю проблематично, так как у скриптов есть свои мульки...
Какие, например?
 

_SERG_

Активный участник
Спасибо, но немного не то. Мне надо чтобы скрипт целиком наносился на график если он не нанесён. А переносить в советника тоже думаю проблематично, так как у скриптов есть свои мульки...
Как насчёт доку почитать?
Хотя бы про разницу между скриптом и советником?
Скрипты сам активно юзаю, после проверки на правильность работы включаю в код. Работает.
А про "думаю", и не "пробовал", мож передумаешь , и попробуешь?
А ещё про "Мне надо чтобы скрипт целиком наносился.... ", так он никуда не наноситься, доку почитай.
Брателла, ты разберись с идеей, не вопрос, поможем. :laugh:
 
Последнее редактирование:

lexar

Местный житель
Как насчёт доку почитать?
Хотя бы про разницу между скриптом и советником?
Скрипты сам активно юзаю, после проверки на правильность работы включаю в код. Работает.
А про "думаю", и не "пробовал", мож передумать, и попробуешь?
А ещё про "Мне надо чтобы скрипт целиком наносился.... ", так он никуда не наноситься, доку почитай.
Брателла, ты разберись с идеей, не вопрос, поможем. :laugh:

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

_SERG_

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

А де картинка (про полосочки)? Или я что то, пропустил?
 

_SERG_

Активный участник
Картинка делу не поможет. Думал мож какая функция существует на этот счёт.

Та не вопрос, обсудим вкус апельсина с тем, кто его не пробовал.

А функция может действительно есть, только об этом никто не узнает.

Друг, вернись в сознание! :laugh: Чё обсуждаем?
 

Cathylva

Интересующийся
А мне совсем не поможете? Хочу получить такую картинку (как в отдельном окне):
attachment.php
Но всё в один индюк не могу засунуть почему-то. Всё уже перепробовано. рисует не то.
 

Вложения

  • dpo+bbands.jpg
    dpo+bbands.jpg
    174,9 КБ · Просмотры: 166
Последнее редактирование модератором:

_SERG_

Активный участник
А мне совсем не поможете? Хочу получить такую картинку (как в отдельном окне):
attachment.php
Но всё в один индюк не могу засунуть почему-то. Всё уже перепробовано. рисует не то.

Не влазит в индикатор, размести в советнике, благо есть где.

Такое впечатление, что доку читатать- западло!
 
Последнее редактирование модератором:

_SERG_

Активный участник

Cathylva

Интересующийся
а почему не "то" рисует, не пробовал посмотреть?
Отладчик тебе в помощь.
Пользовался?
Если бы я знал где это посмотреть и как, то попробовал бы :)
Но пока могу посмотреть только в терминале, что не то рисует, что надо :)
Спасибо за наводку, буду изучать отладчик, для меня это темный лес пока.
 

_SERG_

Активный участник
Если бы я знал где это посмотреть и как, то попробовал бы :)
Но пока могу посмотреть только в терминале, что не то рисует, что надо :)
Спасибо за наводку, буду изучать отладчик, для меня это темный лес пока.

Это в мета эдиторе типа клавиша "Play", только Ф9, намжми где точка остановки должна быть, иначе ничего не увидишь!
 

AlexeyVik

Программист mql4 mql5
Есть скрипт который рисует полосочки на графике. После нанесения скрипта его можно двигать. Двигаю советником. Если забуду нанести хотел, чтоб советник наносил. А смысла большого нет переносить его в сову, он и так прекрасно работает.
Просто перед тем как двигать эту самую полосочку надо её поискать и если её нету, то вызвать функцию которая её нарисует.
Вот описание функции ObjectFind() -https://docs.mql4.com/ru/objects/objectfind
 

Ugar

Гуру форума
Здравствуйте и процветайте уважаемые знатоки программирования. Подскажите пожалуйста как вызвать скрипт из советника, если это возможно?
Возможно всё, даже если это через зад. Это как раз тот случай.
Проще код скрипта оформить в виде функции и вызывать её.
 

Cathylva

Интересующийся
Это в мета эдиторе типа клавиша "Play", только Ф9, намжми где точка остановки должна быть, иначе ничего не увидишь!
Это я понял, Что в МетаЭдиторе. Почитал встроенную справку по отладчику, но непонятна для меня пока логика этой штуки.
Расставил я, значит, точки останова, запускаю отладку, останавливается на расчете осциллятора (dpo), добавляю наблюдение, получаю такую картину:
attachment.php
Но она мне ни о чем не говорит. Что такое dynamic array[6420],IS ?
Как это мне может помочь понять почему индикатор рисует не то?
 

Вложения

  • otlad.jpg
    otlad.jpg
    99,5 КБ · Просмотры: 145
Последнее редактирование модератором:

lexar

Местный житель
Просто перед тем как двигать эту самую полосочку надо её поискать и если её нету, то вызвать функцию которая её нарисует.
Вот описание функции ObjectFind() -https://docs.mql4.com/ru/objects/objectfind

Спасибо. я так и проверяю. Если есть полосочка, то я её натягиваю на график и тогда скрипт рисует остальные полоски. Если скрипт не нанесён то и других полосок не будет.
 

lexar

Местный житель
Возможно всё, даже если это через зад. Это как раз тот случай.
Проще код скрипта оформить в виде функции и вызывать её.

Спасибо. Полазил по нету и кроме как через ... скрипт не вызвать. Придётся библиотечкой оформлять...:disappointed: Или не забывать наносить ручками...
 

_SERG_

Активный участник
Это я понял, Что в МетаЭдиторе. Почитал встроенную справку по отладчику, но непонятна для меня пока логика этой штуки.
Расставил я, значит, точки останова, запускаю отладку, останавливается на расчете осциллятора (dpo), добавляю наблюдение, получаю такую картину:
attachment.php
Но она мне ни о чем не говорит. Что такое dynamic array[6420],IS ?
Как это мне может помочь понять почему индикатор рисует не то?
Логика очень простая, если нажимать клавишу F11 по в режиме пошагового исполнения можно увидеть значения переменных, значения ячеек массивов, другие детали работы как индикатов, советника так и скрипта.

Ток f9 надо устанавливать там, с какого места не понятно что происходит.
Т.е. не просто F9 нажал, а там где не понятно, или надо проверить.

Справа внизу, в окошке пишешь имя переменной, или ячейки массива, или индексов перебора, Нажимаешь f11, и смотришь, соответствует результат ожидаемому, или надо подправить код.
И так до правильного результата.

Скрин, это правильно, значения напишешь, и увидишь результат. Например: ExtLowerBuffer ...

dpo равно цене закрытия "итого" бара минус значение индикатора на "итом" баре , ну чё не понятно?!! Ит.д. ......

Непонятно, проговаривай словами, пиши алгоритм буквами. Потом допрёшь.
Жалуйся по ходу.:)
 
Последнее редактирование модератором:
Верх