Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 431
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можно. Но осторожно. У открытой позиции он возвращает цену её закрытия. Соответственно: для Buy - Bid, для Sell - Ask
я думал OrderClosePrice() можно взять только у закрытой сделки.
в справке про это ничего нет)
о. я не знал что его можно так использовать.
я думал OrderClosePrice() можно взять только у закрытой сделки.
в справке про это ничего нет)
Недокументированная возможность. Но там есть некоторые условности. Сейчас не вспомню какие. Нужно Алексея @Alexey Viktorov спросить - он недавно писал о них.
Недокументированная возможность. Но там есть некоторые условности. Сейчас не вспомню какие. Нужно Алексея @Alexey Viktorov спросить - он недавно писал о них.
переменная не инициилизируется сразу нулем?
а что по этому коду?
переменная не инициилизируется сразу нулем?
Нельзя уповать на умолчания. Лучше сразу при объявлении локальной переменной озаботиться её значением: bool pr=false;
А вообще, конечно излишне её там задавать. Достаточно проверять что возвращает функция:
if(!OrderClose()) Print("Бяка");
Как узнать цену веера фибоначи на предыдущей свече? MQL5
ObjectGetValueByTime() не работает, возвращает то 0, то хай, то лоу свечи
@Artyom Trishkin
Добрый день. Пожалуйста, помогите. подскажите, в чем дело с моим индикатором. Я не понимаю, почему вообще ничего не рисует.
https://www.mql5.com/ru/forum/224805#comment_6372281
Недокументированная возможность. Но там есть некоторые условности. Сейчас не вспомню какие. Нужно Алексея @Alexey Viktorov спросить - он недавно писал о них.
Это было так давно... но всё-же получилось найти. Ренат доступно объясняет почему нежелательно. Но всё-же на мой взгляд ничего страшного. Проблема может возникнуть тогда когда на закрытие ордера получили реквоту. Если в запросе ставим цену Ask или Bid то всегда можно обновить цены и повторить попытку. А в случае указания цены закрытия OrderClosePrice() придётся повторно выбирать ордер с целью обновить данные по ордеру.
Вывод: Если нельзя, но очень нужно, то можно.
Подскажите пожалуйста! Читаю данные из CSV файла, в том числе столбец с ценой с разделителем разряда "." (1.22426) через FileReadString(handle), далее через функцию StrToDouble, все ОК. Но есть столбец тоже с ценой, но уже с разделителем "," (1,22426) и его уже StrToDouble не считывает. Как быть, если нет возможности менять запятую на точку в самом CSV ?
Подскажите пожалуйста! Читаю данные из CSV файла, в том числе столбец с ценой с разделителем разряда "." (1.22426) через FileReadString(handle), далее через функцию StrToDouble, все ОК. Но есть столбец тоже с ценой, yо уже с разделителем "," (1,22426) и его уже StrToDouble не считывает. Как быть если нет возможности менять запятую на точку в самом CSV ?
FileReadString
а потом можете поменять с запятой на точку:
StringReplace
Заменяет в строке все найденные подстроки на заданную последовательность символов.
int StringReplace(
string& str, // строка, в которой будет осуществляться замена
const string find, // искомая подстрока
const string replacement // подстрока, которая будет вставлена в найденные места
);
FileReadString
а потом можете поменять с запятой на точку:
StringReplace
Заменяет в строке все найденные подстроки на заданную последовательность символов.
int StringReplace(
string& str, // строка, в которой будет осуществляться замена
const string find, // искомая подстрока
const string replacement // подстрока, которая будет вставлена в найденные места
);
Спасибо!) , переменную Cena=FileReadString(handle); вставляю в функцию Separator=StringReplace(Сena,",","."); пишет ошибку "implicit conversion from number to string" -
не хочет читать значение с разделителем "," (1,22426) как строку, и StringReplace не срабатывает. Или я неправильно действую?