Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1819
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Такого нет. Это не процедурный язык. Здесь программа строго сверху вниз. И вызовы функций все решают есть циклы, если то. И ООП)
Спасибо!
Привет
Получил по тикету прибыль ордера, xочу закрыть при достижении -x.
А получаю закрытие подряд всеx ордеров.
Подскажи как правильно?
Привет
Получил по тикету прибыль ордера, xочу закрыть при достижении -x.
А получаю закрытие подряд всеx ордеров.
Подскажи как правильно?
Попробуй так
а вообще целиком выкладывай функцию, чтобы было понятно что ты делаешь
Привет
Получил по тикету прибыль ордера, xочу закрыть при достижении -x.
А получаю закрытие подряд всеx ордеров.
Подскажи как правильно?
Как это у вас идет закрытие всех ордеров, если я вижу только один вызов OrderClose?
Не очень понятно где данный код вообще вызывается... Алгоритм робота также неясен...Как это у вас идет закрытие всех ордеров, если я вижу только один вызов OrderClose?
Закрывает ордер как только тот открылся
Это не то что ты хотел - это пример. Я делал советника для полуавтоматической торговли.
То что ты хочешь надо писать самому)
Если что я помогу.
Итак, распишу конкретнее что мне нужно для такого Fast Pending Orders Panel EA, частично я куски кода из этого списка понаходил (процентов 20%), но остальное надо спрашивать у вас, коллеги.
1) оболочка: отображение как таковое табло с кнопками на графике: BUY_lp(lower ASK in___pips), SELL_hp (higher BID in___pips) - число в пипсах вводится в ручную на табло, BUY_lt (lower ASK up to____seconds),SELL_ht (higher BID up to____seconds) - число в секундах вводится в ручную на табло, CLOSE_buys, CLOSE_sells - закрыть все ордера.
а) код создания кнопки на графике; сюда же табло как фоновый объект;
б) код ввода значений в это табло (пипсы, секунды) специальные поля под это;
в) сохранения значения пипсов в некий файл памяти, где после нажатия на кнопку фиксируется цена и прибавляется/отнимается количество пипсов для той цены, по которой нужно войти в рынок;
г) сохранения значения секунд в некий файл памяти, где постоянно подсчитывается минимальное/максимальное значение цены за выбранный "в секундах" период;
2) внутри: исполнение.
а) считывание из файла значения в пипсах и зафиксированной цены после нажатия на кнопку BUY_lp или SELL_hp, чтобы ее сравнивать с текущей ценой;
б) считывание из файла значения в секундах и меняющейся максимальной/минимальной цены после нажатия на кнопку BUY_lt или SELL_ht, чтобы ее сравнивать с текущей ценой;
в) когда текущая цена сравняется с необходимым значением - войти в рынок(открыть ордер);
г) кнопка закрыть ордер или все ордера, кнопка в зависимости от режима исполнения должна работать по разному, если был вход "по пипсам", то соответственно после закрытия на соизмеримое число пипсов цена закрытия должна отличаться в "лучшую" сторону (ожидание этой цены после нажатия на "закрыть"), если же "по секундам", то лучшая цена должна подсчитываться за обозначенный период (ожидание этой цены, но не ниже/выше на момент нажатия на кнопку).
Закрывает ордер как только тот открылся
Ну да. Профит всегда имеет отрицательное значение в момент после входа из-за наличия спреда... Попробуйте уменьшить значение x.
И лучше сделать свою функцию вычисления профита в пунктах (разумеется если не стоит задача задавать его в валюте депозита).Ну да. Профит всегда имеет отрицательное значение в момент входа из-за наличия спреда... Попробуйте уменьшить значение x.
-x меньше чем спред, вывести на Print
if(OrderProfit()<=-x);
будет true если условия совпадают. добавляю команду закрытия. закрывает сразу
Ну да. Профит всегда имеет отрицательное значение в момент после входа из-за наличия спреда... Попробуйте уменьшить значение x.
И лучше сделать свою функцию вычисления профита в пунктах (разумеется если не стоит задача задавать его в валюте депозита).Можно и пункты, особо нет разницы. Xотелось просто по проще сделать