Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 894

 
rapid_minus:

Ау! Гуру! При распальцовке палец сломался?

 

Ты думал что мне больше нечем заняться? Странно такое слышать...

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

Что такое (условие А, Б, В, Г, Д, Е)??? Видимо тут и есть ошибка, но не факт. А ты уверен что ордера открываются с перечисленными магиками? Ты понимаешь методы поиска логических ошибок? Тебе неоднократно советовали распринтовать код и смотреть куда заходит выполнение а куда нет, а ты продолжаешь просить помощи.

 
tuner:
Наверное... есть в MQl4 встроенные функции, связанные с сохранением и загрузкой шаблонов: ChartSaveTemplate, ChartApplyTemplate
Ясно, спасибо!
 

Хотел написать простенький скрипт для создания на чарте отрезка (трендовой линии) с началом в месте, куда скрипт брошен (с этим никаких проблем) и окончанием в точке с координатами, где будет сделан левый клик мышкой... Вот тут то и споткнулся... В индикаторе или эксперте отловить это событие элементарно, А КАК ЭТО СДЕЛАТЬ В СКРИПТЕ??? Подскажите, кто знает, пожалуйста!

 
Batman:

Хотел написать простенький скрипт для создания на чарте отрезка (трендовой линии) с началом в месте, куда скрипт брошен (с этим никаких проблем) и окончанием в точке с координатами, где будет сделан левый клик мышкой... Вот тут то и споткнулся... В индикаторе или эксперте отловить это событие элементарно, А КАК ЭТО СДЕЛАТЬ В СКРИПТЕ??? Подскажите, кто знает, пожалуйста!

 

Зациклив скрипт.
 
tara:
Зациклив скрипт.

Пробовал, допустим, цикл в OnStart крутится  сам по себе, а OnChartEvent в это время уже не работает...

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

 
Batman:

Пробовал, допустим, цикл в OnStart крутится  сам по себе, а OnChartEvent в это время уже не работает...

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

А если зациклить через пользовательскую функцию, возврат которой зависит от OnChartEvent

Это экспромт. Не уверен что получится, но если-бы мне пришлось это делать, я пробовал-бы именно такое решение.


зы. Видимо поспешил с мнением. В скрптах кажется недоступно событие OnChartEvent
 
AlexeyVik:

А если зациклить через пользовательскую функцию, возврат которой зависит от OnChartEvent

Это экспромт. Не уверен что получится, но если-бы мне пришлось это делать, я пробовал-бы именно такое решение.

И как это будет выглядеть??))

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

Неужели такая простая задача не имеет решения, во всяком случае, "без танцев с бубнами"??? 

 
Batman:

И как это будет выглядеть??))

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

 Неужели такая простая задача не имеет решения, во всяком случае, "без танцев с бубнами"???

Ну цикл через пользовательскую функцию, это просто. Через цикл while вызывается эта функция и в зависимости от возвращённого значения повтор или break

А вот наличие OnChartEvent в скриптах... сомнительно.

Видимо надо понимать что возможно в скриптах, а что сувать туда себе дороже. Мне кажется результат может быть непредсказуем и зависит от пользователя, а не программиста. Представь что будет если в таком скрипте не нажать крыску...цикл не завершится. А дальше что может сделать пользователь??? Как обезьяна с гранатой.

 
AlexeyVik:

Ну цикл через пользовательскую функцию, это просто. Через цикл while вызывается эта функция и в зависимости от возвращённого значения повтор или break

А вот наличие OnChartEvent в скриптах... сомнительно.

Видимо надо понимать что возможно в скриптах, а что сувать туда себе дороже. Мне кажется результат может быть непредсказуем и зависит от пользователя, а не программиста. Представь что будет если в таком скрипте не нажать крыску...цикл не завершится. А дальше что может сделать пользователь??? Как обезьяна с гранатой.

Какой-то бред насчёт обезьяны с гранатой...))) Скрипт перетягивается на график МЫШКОЙ, затем вполне естественный клик в нужном месте графика (предполагается, что удалось неким образом организовать ожидание и перехват события...), создается графический обект, скрипт завершает работу. Для "забывчивых" можно завершить ожидание по истечении некоторого времени. Даже "зависший" кривой скрипт удаляется с графика нажатием правой кнопки мыши, "Удалить скрипт".

Вопрос - почему обработка событий нажатия кнопки или т.п. в скрипте  невозможна? Что тут запретного?

 
Batman:

Какой-то бред насчёт обезьяны с гранатой...))) Скрипт перетягивается на график МЫШКОЙ, затем вполне естественный клик в нужном месте графика (предполагается, что удалось неким образом организовать ожидание и перехват события...), создается графический обект, скрипт завершает работу. Для "забывчивых" можно завершить ожидание по истечении некоторого времени. Даже "зависший" кривой скрипт удаляется с графика нажатием правой кнопки мыши, "Удалить скрипт".

Вопрос - почему обработка событий нажатия кнопки или т.п. в скрипте  невозможна? Что тут запретного?

Ты не поверишь. Есть у меня один знакомый которому я говорю -"Закрой терминал"... Что ты думаешь он делает? СВОРАЧИВАЕТ... Это я и называю "Обезьяна с гранатой". Никогда не угадаешь куда она её бросит. Так-же никогда не угадаешь что такой юзер сделает с твоей программой.

Ну, а почему обработка события невозможна, это вопрос к MQ.

Попробуй решить это через советник в котором по завершении выполнения нужного действия советник удаляется с графика функцией ExpertRemove()