Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2044

 
Порт-моне тв #:
У меня иногда не закрываются некоторые ордера в сеточном списке открытых ордеров, банально потому что не хватает пару пунктов из-за спреда, ошибок нет, но не закрытые болтаются и нарушают ход дальнейшего алгоритма, возникла такая идея, Как написать следующую функцию: если один из ордеров закрылся по TP или SL, то закрыть все открытые ордера, которые не закрылись(для mt4)

Там не много другой алгоритм, но то что вам нужно есть. При сигнале на закрытие всех ордеров, закрываем открытые и удаляем отложки. Вся инфа об ордерах хранится в массивах. Структуры не люблю.

Файлы:
LockSell_1.mq4  50 kb
 

Подскажите, плиз, как можно увеличить размер шрифта для графиков? Для цен (правая шкала), для даты/времени (нижняя шкала), для строки OHLC?

Сейчас, по моему монитору, высота букв и цифр около 2 миллиметров. Пробовал изменить разрешение экрана, не помогло. 1600х900 или 1360х768 или 1260х720 или 1024х768, все равно 2 мм.

В справке слово «шрифт» ничего не дает. В настройках тоже не вижу.

 
Порт-моне тв #:

Благодарю за ответ, но если честно не совсем ясно как это решение относиться к определению закрытия по SL/TP, можете пояснить саму логику? 

Когда советник открывает ордера, то записывает в "cnt_buy" кол-во.

Например сов открыл 4 ордера на покупку, соответственно "cnt_buy" = 4.

Функция  "CountOrders(OP_BUY)" проверяет сколько ордеров на покупку на текущий момент, т.е. пока все 4 ордера открыты "CountOrders(OP_BUY)" = 4

Если хотя бы один ордер закроется по SL/TP , то "CountOrders(OP_BUY)" будет равен 3.

А дальше проверка если "cnt_buy" т.е. 4 больше "CountOrders(OP_BUY)" т.е. 3 - закрываем оставшиеся 3 ордера и сбрасываем значение "cnt_buy" на "0"

 
Подскажите, пожалуйста, как написать в коде условие "если цена выше трендовой линии". Как нарисовать её на графике, я разобрался, а вот как её использовать в условии, не нашёл
 
Ivan Butko #:
Подскажите, пожалуйста, как написать в коде условие "если цена выше трендовой линии". Как нарисовать её на графике, я разобрался, а вот как её использовать в условии, не нашёл

Для бай Аск для открытия и бид для закрытия цена. Иф Цена больше значения трендовой линии на баре. Трендовая линия это объект, от него можно все получить))) Тема Как получить данные объекта с графика.

 
FxPro7009 #:

Подскажите, плиз, как можно увеличить размер шрифта для графиков? Для цен (правая шкала), для даты/времени (нижняя шкала), для строки OHLC?

Сейчас, по моему монитору, высота букв и цифр около 2 миллиметров. Пробовал изменить разрешение экрана, не помогло. 1600х900 или 1360х768 или 1260х720 или 1024х768, все равно 2 мм.

В справке слово «шрифт» ничего не дает. В настройках тоже не вижу.

Та, экранную лупу включи)))

 
Ivan Butko #:
Подскажите, пожалуйста, как написать в коде условие "если цена выше трендовой линии". Как нарисовать её на графике, я разобрался, а вот как её использовать в условии, не нашёл

Типа такого шото)

ObjectCreate(name,OBJ_TREND,0, datetime, price);
if(Bid>price)
  {
   Выполнить условие;
  }

Ну, или Ask  вместо Bid. Только ещё имя линии указать надо 

 
to_ha #:

Та, экранную лупу включи)))

Дык, включил. Но не удобно с ней.((

Например, когда перекрестье по центру графика на баре, то при этом цена и время за приделами лупы.

Есть же пустое место.

Пустое место

Хотя бы до размера шрифта инструмента
Актуально для этих трех мест и для «Перекрестья». Меню, строки терминала, навигатор и т.д. и т.п. можно обойтись. 

 
Ведь цены меняются в динамике, каждый раз разные.
 
Ivan Butko #:
Подскажите, пожалуйста, как написать в коде условие "если цена выше трендовой линии". Как нарисовать её на графике, я разобрался, а вот как её использовать в условии, не нашёл
Тебе нужна эта функция
Причина обращения: