[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 400

valeri
148
valeri  
Всем добрый день Подскажите пожалуйста как заставить работать индикатор который выкладывают без исходника Я его кидаю в папку индикаторы но МТ его не видит Например вот эти индюки Что в них не так Их прога не видит
Файлы:
azimuth
26
azimuth  
splxgf писал(а) >>

Странное использование return, условия и вложенность if можно сократить.

Сократить то можно, но проблемы это не решает. Пробовал и OrdersTotal()-1, но это без разницы. Непонятно, почему при ii++ все работает, как надо, закрываются все ордера, например 2, 5, 6 и 10, а при ii-- только 10, а остальные остаются работать. Где тут собака зарыта?

Victor Nikolaev
Модератор
14140
Victor Nikolaev  
Andrei-1 писал(а) >>
Будем пробовать. Да ловлю savchenkoandrei-ya@yandex.ru или ссылку.

Отправил

Victor Nikolaev
Модератор
14140
Victor Nikolaev  
xoxol писал(а) >>
Всем добрый день Подскажите пожалуйста как заставить работать индикатор который выкладывают без исходника Я его кидаю в папку индикаторы но МТ его не видит Например вот эти индюки Что в них не так Их прога не видит

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

Александр
60
Александр  

Здравствуйте.

Кто подскажет чем код индикатора отличается от кода советника вроде все одинаково..

Попробовал код индикатора скопировать в код написания советника, добавил команды на открытие -закрытие ордеров.

Произведение компилируется без ошибок но не запускается в окне графика.

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

Индикатор рисует на экране сигналы на вход и выход, хотел попробовать на эти места привесить комады для ордеров, но не проехало.

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

Если написать например iMA (...) то он получит данные из встроенного индикатора, а хочется из пользовательского.

techno
1226
techno  

Vekker, В индикаторе нельзя пользоваться торговыми функциями, а в советнике пользоваться индикаторными массивами. Других принципиальных отличий в коде нет, ну разве что хорошие индикаторы просчитывают свои значения только один раз при старте программы, потом просто дополняют инфу. Ну и еще одно различие это место где находится советник или индикатор, если советник положешь в папку с индикаторами и там откомпилишь, он станет для программы индикатором(не рабочим конечно же :) Вероятно и не откомпилится, зависит от кода.)

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

Вот тут описание этой функции https://docs.mql4.com/ru/indicators/iCustom

keekkenen
1115
keekkenen  

советник не может использовать индикаторные буферы так как это делает индикатор,

индикатор не может работать с ордерами (открывать/изменять/закрывать/удалять)..


если код не индикатор или советник специфический (то что сверху), т.е. не делает своего основного предназначения,

то отличие в наличии #property indicator_chart (#property indicator_separator) для индикатора и их отсутствии у советника

Ether
4
Ether  
Доброго времени суток. Есть у меня один вопрос по оператору if. Представим, что в программе идет следующий оператор - if (A && B) { ... }, где A и B - некоторые условия. Понятно, что вся логическая формула истинна только тогда, когда истин каждый его компонент. Вопрос - MQL проверяет каждый оператор на истинность или все таки проверяет истинность каждой компоненты слева направо и если есть хоть одна ложная компонента, то прерывает работу и возвращает значение истинности - ложь?
Павел
5
Павел  

Как из "double" значения получить время в формате datetime? И можно ли прозводить операции между 2 переменными в формате datetime? Просто TimeCurrent() возращает datetime, а остальные функции int значения.

Цель, получить отрезок начало и конец предыдущего дня по текущему времени, и на этом отрезки найти high и low. 

igor
1144
igor  

Ether писал(а) >>
Доброго времени суток. Есть у меня один вопрос по оператору if. Представим, что в программе идет следующий оператор - if (A && B) { ... }, где A и B - некоторые условия. Понятно, что вся логическая формула истинна только тогда, когда истин каждый его компонент. Вопрос - MQL проверяет каждый оператор на истинность или все таки проверяет истинность каждой компоненты слева направо и если есть хоть одна ложная компонента, то прерывает работу и возвращает значение истинности - ложь?

Попробуйте ещё раз прочитать.