Тоже не то, поскольку чтобы открыть позу на лимитник или на маркет нужно использовать разные скрипты + нужно обязательно найти сам инструмент и открыть его окно + нету частичного закрытия позиций.
bool TimeBars()
{
int prevtime = 0;
if (Time[0] == prevtime) return(0); // Бар прежний, а следовательно выходим
prevtime = Time[0]; // Свежий бар, запоминаем время
}
Есть 4 ордера, 2 сел и 2 бай. Сел создаются, образно говоря, когда цена поднимается, ну а бай, когда опускается. Сел удаляются, когда создаются бай, и наоборот. При создании тикет 1-го сел или бай запоминается в переменной pos. У всех 4 комментарии одинаковые - "Aelit". Так вот, есть код:
if (OrderSelect(pos, SELECT_BY_TICKET, MODE_TRADES))
if (OrderComment() == "Aelit")
{
...
OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+0.0001, Digits), OrderTakeProfit(), 0);
...
}
Выбирается ордер нормально по тикету, но очень часто сравнения комментария не проходит. Для интереса сделал else Alert(OrderComment()); и в журнале было "Alert: Aelit[sl]". Что за [sl]? Это из-за того, что все ордера имеют один и тот же комментарий? Тогда почему такой же [sl] был, когда я для теста делал комментарий, не совпадающий с другими? Если убрать проверку по комментарию, то в журнале будет ошибка тикета для OrderModify. Сначала думал, что до этого условия доходит раньше, чем создается какой-то ордер, но нет, в это время ордер уже есть, причем тикет одинаковый в случае срабатывания и не срабатывания условия. Как это понять?
Подскажите пожалуйста, можно ли в mql4 записывать некоторый текст в файл, например *.txt, а потом извлекать эти данные для торговли, идея состоит в том, чтобы советник сам учился торговать, когда цена за пару баров меняется на >100*Point, то советник бы запомнил эти значения и потом попытался использовать их (значение индикатора +/- n%, для открытия ордера), это можно было бы реализовать и в советнике, но после закрытия MetaTradera вроде обнуляются все значения переменных
Здравствуйте !
Ищу скрипт, тему создал здесь https://forum.mql4.com/ru/42138 посоветовали обратиться сюда за помощью.
Заранее спасибо !
Вам же порекомендовали - смотрите здесь, ройте кодебазу - не забывайте делиться результатами.
Вам же порекомендовали - смотрите здесь, ройте кодебазу - не забывайте делиться результатами.
Так я же написал, что ничего там не нашёл :(
https://forum.mql4.com/ru/5006/
https://forum.mql4.com/ru/5006/
Тоже не то, поскольку чтобы открыть позу на лимитник или на маркет нужно использовать разные скрипты + нужно обязательно найти сам инструмент и открыть его окно + нету частичного закрытия позиций.
что то тут не так!
перед сравненим идёт обязательное обнулениеконечно не так:
Я уже говорил вам адрес по которому это сделают именно так как вы хотите, повторять не буду.
Да-да, понял я вас ... но перед тем как отдавать свои кровные хотелось бы убедиться, что нужного мне скрипта точно нету в свободном доступе
Доброго времени суток.
Есть 4 ордера, 2 сел и 2 бай. Сел создаются, образно говоря, когда цена поднимается, ну а бай, когда опускается. Сел удаляются, когда создаются бай, и наоборот. При создании тикет 1-го сел или бай запоминается в переменной pos. У всех 4 комментарии одинаковые - "Aelit". Так вот, есть код:
Выбирается ордер нормально по тикету, но очень часто сравнения комментария не проходит. Для интереса сделал else Alert(OrderComment()); и в журнале было "Alert: Aelit[sl]". Что за [sl]? Это из-за того, что все ордера имеют один и тот же комментарий? Тогда почему такой же [sl] был, когда я для теста делал комментарий, не совпадающий с другими? Если убрать проверку по комментарию, то в журнале будет ошибка тикета для OrderModify. Сначала думал, что до этого условия доходит раньше, чем создается какой-то ордер, но нет, в это время ордер уже есть, причем тикет одинаковый в случае срабатывания и не срабатывания условия. Как это понять?