Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2489
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет подскажите, пожалста.
Сначала я сделал первую версию индикатора, который перекрашивает некоторые свечки.
Потом из первой версии сделал вторую, куда добавил линию. Но при этом частично пропадает перекраска свечей. Иногда почти все перекрашенные свечи отображаются и пропадают после смены цвета линии, иногда сразу почти все перекрашенные не отображаются.
Но в буферах, при этом значения все значения корректны.
Подскажите, подскажите, пожалста, как сделать чтоб все корректно отображалось?
и вот это лучше сделать так
и вот это лучше сделать так
сделал, ничего не изменилось.
сделал, ничего не изменилось.
Ну у меня норм рисует и в терминале и в тестере. Правда в терминалу вылезли две ошибки
а в тестере судя по его медленной работе и мерцанию можно предположить, что он много раз пересчитывается.
Добавил проверку iBarShift чтоб не был меньше нуля.
ЗЫ. нужно везде проверять iBarShift , сейчас при переключении таймфреймов, выход за пределы массива в строке 145
Всем доброго времени суток! Вопрос по тестеру МТ4
При наступлении нужного события мой код(самый нижний) на одном тике открывает 72 ордера. В параметр Comment каждого ордера я хочу поместить порядковые номера итераций от 1 до 72. Они лежат в переменной w. Переменная w имеет целочисленный тип, а в параметр Comment нужно помещать строку. Для этого я при помощи IntegerToString(w,1) преобразовываю на каждой итерации число из переменной w в строку и сохраняю в к1. И потом число в виде строки вставляю в параметр Comment в расчете на то что в Comment каждого ордера будет отображен номер итерации.
Но при закрытии ордеров OrderComment() каждого ордера почему то показывает не номер итерации , а k1[tp] . То есть, получается что в параметр Comment каждого ордера почему то не сохраняются номера итераций
При этом после открытия каждого ордера Print() выводит значение к1 как и задумывалось мною от 1 до 72.
Подскажите пожалуйста как мне получить то что я хочу.
Всем спасибо за помощь.
TkT=OrderSend(Symbol(),OP_BUY,0.1,Ask, 3,Bid-(stp*Point),Bid+Mms[w-1][0],"k1",Tk1);
Зачем тут ковычки?
Зачем тут ковычки?
Так дается в Справочнике. Как я понял, этот параметр заковычен поскольку в нем лежит переменная типа стринг.
Да и функция string OrderComment(); возвращает именно string.
Хотя к моему удивлению, я убрал кавычки из этого параметра в функции открытия ордера ... и компилятор не вывел никой ни ошибки ,ни предупреждения...
После того как убрал кавычки при закрытии ордера OrderComment() начала выводит номера итераций , как я и хотел. Но почему то к каждому номеру добавляется [tp] То есть 1 [tp] 2 [tp] 3 [tp] 4 [tp]... [tp] я не заказывал... как от нее избавиться?
Приветствую. Подскажите, пожалста.
Чем отличается ArrayInitialize от ArrayFill ?
Чем отличается инициализация массива указанным значением от заполнения массива указанным значением, кроме того что заполнить можно не весь ?
TkT=OrderSend(Symbol(),OP_BUY,0.1,Ask, 3,Bid-(stp*Point),Bid+Mms[w-1][0],"k1",Tk1);
Спасибо
ЗАКРЫВАЮ ОРДЕРСделал как Вы сказали, но результат тот же
ОТКРЫВАЮ ОРДЕР
Print() выводит значение поля Coment (к2)
Спасибо
ЗАКРЫВАЮ ОРДЕРСделал как Вы сказали, но результат тот же
ОТКРЫВАЮ ОРДЕР
Print() выводит значение поля Coment (к2)
1) называйте переменные читаемо и разумно. 2-3 случайные буквы это не имя..даже не кличка :-)
2) ВСЕГДА проверяйте результат OrderSend , OrderClose, OrderDelete (и так далее - все операции с ордерами)
3) когда печатаете что-то про ордера - печатайте заодно тикет.
---
разбирать код который как будто натошнило мало кто будет.
скорее всего или ордер не отрывается или при чтении вы берёте иной (старый). тем более что читаете из истории - просто промахнулись