Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотя не так-то всё и просто.. int OldBars = Bars; пишу это перед функцией init(); говорит, что ошибка: Bars: initialization expected;
Это же системная преопределенная переменная, почему он ругается на неё?
Хотя не так-то всё и просто.. int OldBars = Bars; пишу это перед функцией init(); говорит, что ошибка: Bars: initialization expected;
Это же системная преопределенная переменная, почему он ругается на неё?
потому что инициировать переменные функциями вне функций нельзя
Да, уже инициировал переменную внутри init();
Но, само собой, снова проблемы. Входной параметр - TimeToStart, следующий кусок кода не работает:
if(Minute()==TimeToStart)
{
Alert("Ypa");
}
TimeToStart ставлю равной 17, запускаю прогу в 21:15, жду 2 минуты, время переваливает за 21:17, но Ура он мне не пишет. Казалось бы, кусок кода простейший, но не работает..
потому что инициировать переменные функциями вне функций нельзя
Алекс, ты прирождённый Модератор с большой буквы "М"! Я иной раз просто удивляюсь уже не тому, откуда ты берёшь терпение, а тому, откуда в тебе ещё остаётся сила шутить при этом. Знаешь, ты талантлив. Реально талантлив. Я рад, что имею возможность время от времени созерцать твои посты. Некоторые из них - это просто шедевры искусства общения. И у других жителей этого форума иной раз проскакивает такое, что диву даёшься - не в смысле бездарности, а аж дух захватывает от восхищения.
Некоторые из тут живущих иной раз выдают гениальные решения, проявляют гениальную рекацию на воздействующий импульс. Люди, я тихо радуюсь, что мне посчатливилось общаться с вами.
Простите админ и модер за отклонение от темы :) - просто к месту пришлось :)
Хотя не так-то всё и просто.. int OldBars = Bars; пишу это перед функцией init(); говорит, что ошибка: Bars: initialization expected;
Это же системная преопределенная переменная, почему он ругается на неё?
Так нельзя. Нужно вот так:
Или вот так:
В первом случае переменная сначала объявлена, затем в блоке инициализации проинициализирована нулём. Во втором случае мы сразу проинициализировали её нулём, поэтому в блоке инициализации можно ни чего про неё не отписывать. НО!
Но дело в том, что запись типа:
будет не правильная. Почему? Потому что Bars - это не просто переменнная. Это меняющаяся переменная. И на момент старта советника ни кто не знает сколько там свечек. Поэтому процессор не знает, сколько ячеек в оперативной памяти отвести для этой переменной. Это станет ясно только после того, как стартонёт советник. А поскольку мы попытались вызвать Барсы ПЕРЕД стартом советника, то получается, что он вообще не в курсе, о чём речь.
Чтоб писать код советников ума много не нужно - нужно усердие, терпимость и желание кодить. Язык MQL4 насолько прост и настолько много имеет неожиданных закоулков, что иной раз диву даёшься.
Добро пожаловать в клуб искателей :)
Часто существует несколько решений одной задачи. Для себя взял на вооружение такой код из чужого советника:
Просто наглядная иллюстрация сказанного получилась! )))) :
.... Язык MQL4 настолько прост и настолько много имеет неожиданных закоулков, что иной раз диву даёшься....
Много полезной инфы вы написали!) Спасибо, друзья. Старая проблема, правда, от этого никуда не ушла.. А она заключалась вот в чем:
if (Minute() == 30) {
alert("ypa!");
}
Вот этот код должен каждый час, в 00:30, 01:30, 02:30 и так далее, писать "ура!". Ну почему он не пишет "ура!"-то? Ни при каком раскладе. Убиться можно.