[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 255
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день господа, снова прошу помощи с скриптом удоления объектов.
Скрипт удоляет несколько объектов по имени, но при запуске выскакивает добрая сотня ошибок (точнее, одна и та же, но много раз) подсобите плз.
я так понимаю, сей затейливый код призван удалять с графика все объекты, в названии которых есть цифра? ну, тогда поставьте перед всеми if, кроме первого, еще и else. А то у Вас индекс х уже на первой итерации в область отрицательных значений проваливается.
Добрый день господа, снова прошу помощи с скриптом удоления объектов.
Скрипт удоляет несколько объектов по имени, но при запуске выскакивает добрая сотня ошибок (точнее, одна и та же, но много раз) подсобите плз.
цикл заменить на for (int x = ObjectsTotal(); x>0 ; x--) (только поправить на предмет косячков, типа больше или равно и от количества объектов отнять единичку) и убрать все "x--;" в ифах
помогите разукрасить индикатор, хочу чтобы если значение растет зеленый, падает - красный
вот код:
вот вам в помощь
https://www.mql5.com/ru/articles/1451
Реализация трёхцветных индикаторов и некоторые возможности для максимального упрощения написания индикаторов
я так понимаю, сей затейливый код призван удалять с графика все объекты, в названии которых есть цифра? ну, тогда поставьте перед всеми if, кроме первого, еще и else. А то у Вас индекс х уже на первой итерации в область отрицательных значений проваливается.
Не провалится, найти объект по отрицательному индексу очень сложно, точнее может провалиться, но максимум на единичку.Уважаемые ПРОФИ помогите. По идее советник должен создать ордер и снова создать такой-же, если этого ордера не станет. Но так не происходит?
//--------------------------------------------------------------- 0 ----------------
int start() // Спец.функция start
{
int H=100; // Заданное время - секунда
int Dist=10; // Заданный TP и SL
double Lot =1; // Заданный лот
//--------------------------------------------------------------- 1 ----------------
double i=0.001;
double Cena=NormalizeDouble(Ask,3); // Нормализуем цену
double Price=NormalizeDouble(Cena+i,5); // Находим цену
double TP=Price+Dist*Point; // Находим ТР
double SL=Price-Dist*Point; // Находим SL
int x=1; // Первое условие
int y=1; // Второе условие
//--------------------------------------------------------------- 2 ----------------
for (int pos=1; pos<=OrdersTotal(); pos++) // цикл перебора всех ордеров
{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // выделим ордер
{ if (OrderTakeProfit()==TP)
{ Alert("Сработал х");
x=2;
break;
}
}
else Print("Ошибка ", GetLastError(), " при выборе ордера номер ", pos);
}
//--------------------------------------------------------------- 3 ----------------
for (pos=1; pos<=OrdersTotal(); pos++) // цикл перебора всех ордеров
{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // выделим ордер
{ if (OrderOpenPrice()==Price)
{ Alert("Сработал y");
y=2;
break;
}
}
else Print("Ошибка ", GetLastError(), " при выборе ордера номер ", pos);
}
//--------------------------------------------------------------- 4 ----------------
if (x==2&&y==2)
{ Alert("Такой ордер уже есть!!!");}
else { Alert("отправлен ордер ",Symbol()," BUYSTOP ", Price," Ожидание ответа...");
OrderSend(Symbol(), OP_BUYSTOP, Lot, Price, 0, SL, TP);
}
Sleep(H*60); // Ждём 60 секунд
RefreshRates();
//--------------------------------------------------------------- 5 -------------------
Alert ("Скрипт закончил работу -----------------------------");
return; // Выход из start()
}
Люди, установил я МТ4 (от forex4you), тестирую стратегии, а котировки М1 у меня только с 2.09.2009, загрузить через сервис-архив котировок нет получается,
подскажите, где можно скачать архив котировок хотя бы за 2009 год? Еще один момент, когда в тестере стратегий выставляешь дату, котировки автоматически не загружаются.
Люди, установил я МТ4 (от forex4you), тестирую стратегии, а котировки М1 у меня только с 2.09.2009, загрузить через сервис-архив котировок нет получается,
подскажите, где можно скачать архив котировок хотя бы за 2009 год? Еще один момент, когда в тестере стратегий выставляешь дату, котировки автоматически не загружаются.
Попробуй установить MT4 от другово ДЦ. (т.е. другой MT4)
Уважаемые ПРОФИ помогите. По идее советник должен создать ордер и снова создать такой-же, если этого ордера не станет. Но так не происходит?
Он создаёт ордера постоянно - бесконечно.
Уважаемые ПРОФИ помогите. По идее советник должен создать ордер и снова создать такой-же, если этого ордера не станет. Но так не происходит?
//--------------------------------------------------------------- 0 ----------------
double Cena=NormalizeDouble(Ask,3); // Нормализуем цену
Он не сможет создать такой-же ордер, потому что Ask постоянно на каждом тике меняется. А все остальные параметры и их сравнения в условиях вычисляются от этой переменной.
Уважаемые ПРОФИ помогите. По идее советник должен создать ордер и снова создать такой-же, если этого ордера не станет. Но так не происходит?
Чтоб советник/скрипт мог открыть точно такой же ордер, как и тот, что установлен, есть 2 пути. Первое, установить ордер и все его параметры вписать в переменные, которые будут их хранить. Если ордера не стало, то вколючаем режим ожидания. Как только наступят условия, при которых можно выставить ордер с этими параметрами, то открываем ордер.
Второе. Как только ордера в рынке не стало, проходим по истории и отыскиваем самый последний ордер. Записываем его параметры и как и в первом случае, включаем режим ожидания.
Только вот что хочу сказать. Если логику работы программы строить именно так как Вы описали и я тут пояснил, то все ордера будут ждать одного и того же горизонтального уровня. Оно Вам надо?