Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 94
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Задача интерактивно менять советника на чарте. Вариант с несколькими чартами и несколькими советниками не рассматривается.
Известен вариант о применении шаблона ChartApplyTemplate, и он справляется со своей задачей, но бывает возвращает ответ false (в цикле постоянный ответ), мотивируя это тем что не может поместить команду в очередь.
Что за очередь, где можно прочесть об этом или как можно очистить эту очередь ибо моя задача должна быть приоритетнее всех остальных?
пробовал подойти иначе: Вам надо менять стратегию! Помещал все в один советник. Сначала управлял скриптами и глобальными переменными. Потом кнопками. Одна зеленая - остальные желтые. Нажимаю на желтую - она становится зеленой и стратегия меняется. Потом оставил одну маленькую кнопку. Нажимаю - появляются описанные кнопки. Нажимаю на желтую - стратегия меняется и кнопки исчезают, на зеленую - остается прежняя стратегия. Потом научил советника самого выбирать ...
пробовал подойти иначе: Вам надо менять стратегию! Помещал все в один советник. Сначала управлял скриптами и глобальными переменными. Потом кнопками. Одна зеленая - остальные желтые. Нажимаю на желтую - она становится зеленой и стратегия меняется. Потом оставил одну маленькую кнопку. Нажимаю - появляются описанные кнопки. Нажимаю на желтую - стратегия меняется и кнопки исчезают, на зеленую - остается прежняя стратегия. Потом научил советника самого выбирать ...
в моем случае нет исходников советников. Я лишь пишу управляющий другими ))
помогите разобраться. почему не открываются позиции на покупку. что не так с if ... else если OB=false по умолчанию
double lot=0.01;
bool OB=false;
string simb=Symbol();
int start()
{
while(true)
{
if(OB=true)break;
else
{
int ticket=OrderSend(simb,OP_BUY,lot,Ask,4,0,0);
}
if(ticket>0)
{
Alert("Open");
}
else Alert("Not open");
int Error = GetLastError();
switch(Error)
{
default: Alert("Error is NO = ",Error);
}
break;
}
return;
}
помогите разобраться. почему не открываются позиции на покупку. что не так с if ... else если OB=false по умолчанию
bool OB=false;
...
while(true)
{
if(OB=true)break;
else
{
int ticket=OrderSend(simb,OP_BUY,lot,Ask,4,0,0);
}
...
В строке "if(OB=true)" вы присваиваете OB значение true прямо внутри проверки условия. Не путайте оператор присваивания "=" и оператор сравнения "==". К тому же, сравнивать булевскую переменную с true нет смысла. И в else для оператора, по которому мы всё равно выйдем из цикла, если он сработает, тоже нет смысла.
Правильно будет
if(OB)break;
int ticket=OrderSend(simb,OP_BUY,lot,Ask,4,0,0);
нужно или ненужно проверять? какие могут быть последствия?
нужно или ненужно проверять? какие могут быть последствия?
Предупреждение - это потенциальная ошибка. Желательно устранить, чтоб не было последствий
Добрый день!
Мне всегда в платформе эксперты брались от папки C:\Program Files (x86)\Брокер\MQL4\Experts, сейчас после перезапуска МТ4 начали от C:\Users\Nauris\AppData\Roaming\MetaQuotes\Terminal\E1563977DAC5C4226D329EB321915A56\MQL4\Experts. Как я могу настроить в платформе обратно первый вариант ?
нужно или ненужно проверять? какие могут быть последствия?
Предупреждения отвлекают. Все устраняю. В данном случае делаю так:
в будущем при желании можно будет добавить проверку
Здравствуйте! Кто подскажет, почему не скачиваются бесплатные советники и индикаторы? Пишет:"Есть ли у меня терминал?" Нажимаю, что ДА - и на этом все заканчивается, скачивания не происходит. ??
Здравствуйте! Кто подскажет, почему не скачиваются бесплатные советники и индикаторы? Пишет:"Есть ли у меня терминал?" Нажимаю, что ДА - и на этом все заканчивается, скачивания не происходит. ??
Посмотри в навигаторе. Файл маленкии, быстро качает. устанавливает сразу в мт4