[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 58
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не боитесь нарваться на частые запросы? Ведь придётся каждые 15-30 секунд либо открывать новые позиции в добавление к уже имеющейся, либо удалять уже имеющиеся.
Объём уже открытой сделки вы поменять не сможете. Потому и придётся дробить его на несколько позиций.
Возможности советника
Один из возможных способов корректировки лота:
Открывайте каждые 15-30 секунд новую мелкую позицию, которые закроете все вместе при достижении нужной Вам прибыли.
Один из возможных способов корректировки лота:
Открывайте каждые 15-30 секунд новую мелкую позицию, которые закроете все вместе при достижении нужной Вам прибыли.
Доброго времени суток.
Есть советник, в нем есть возможность выбора ордера, который открылся до появления советника на графике. И специально для этого ордера есть одно условие закрытия. Допустим, ордер продаж, а цена условно поднимается, то этот ордер сразу закрывается, как только появился советник. Так вот, закрывается все отлично, и как надо. Но не проходит условие, где идет проверка на время закрытия. Я перед условием делал алерт с этой функцией, и оно возвращает 0! Почему? В документации написано, что только открытые и отложенные возвращают ноль. Почему эта функция возвращает ноль и для закрытых? Пробовал ставить паузу в одну секунду после закрытия (ну мало ли, может данные не пришли), все равно ноль. Вот код этого участка:
Спасибо за внимание.
Ребята подскажите пожалуйста как поставить 2 ордера сразу. Ничего не получается.
// Если ближайший максимум оказался ближе к входу в рынок,Устаналиваем ордер OP_SELLLIMIT
if (max<min)
{
1 - OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl_sell,tp_sell,"",1,0,Red);
Alert (GetLastError()); // Сообщение об ошибке установки ордера
//order_opened = true; // если ордер сработал больше не открываем
2 - OrderSend(Symbol(),OP_SELLLIMIT,lot_1,cena_sell_d_1,3,sl_sell,tp_sell_d_1,"",2,0,Red);
Alert (GetLastError()); // Сообщение об ошибке установки ордера
}
else //иначе устанавливаем ордер OP_BUYLIMIT
{
OrderSend(Symbol(),OP_BUYLIMIT,lot,cena_buy,3,sl_buy,tp_buy,"",5,0,Blue);
Alert (GetLastError()); // Сообщение об ошибке установки ордера
//order_opened = true; // если ордер сработал больше не открываем
Почему-то открывается только один:
1 - OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl_sell,tp_sell,"",1,0,Red);
Alert (GetLastError()); // Сообщение об ошибке установки ордера
to sergey_r:
А что в ошибках пишет то? Конкретно, какой код ошибки?
если ставлю:
int order = OrdersTotal(); // Проверяем установлены ли ордера
if (order == 0)
то открывает или selllimit или buylimit по условию, а мне на до или два ордера selllimit или один ордер buylimit
to sergey_r:
Ты не понял. Что выводится в Alert (GetLastError());?
to sergey_r:
Как ты выше сказал, это связано со вторым стопЛососем. У тебя там видимо не правильно вычисляется он. Проверь в том отрезке, где он вычисляется внимательно все.
На всякий случай, вот расшифровка ошибок: https://docs.mql4.com/ru/trading/errors