Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1863
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте уважаемые. Подскажите где я могу найти скрипт или индикатор который отправляет уведомление на телефон,при достижении цены определенного уровня ,указаного мной. чтоб всё время не следить за терминалом.Спасибо
Недавно написал алерт: #18550. Но его можно доработать добавив SendNotification:
В исходник следует добавить строки которые я выделил, бросить в папку Indicators и скомпилировать. Данный индикатор можно добавить в чарт сколько угодно раз и получать сигналы при пересечении разных уровней. Код дорабатывал онлайн. Результат не проверял.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
GlaVredFX, 2022.01.17 18:59
Подскажите в чем проблема, Код должен закрывать ордера и если их нет то открывать новый.
Но почему то, он закрывает только 1 ордер и останавливается до следующего сигнала.
2022.01.17 16:22:08.389 2022.01.04 08:00:00 e: Signal 1.1322 < clos 1.1304 ExistPosSell 0
2022.01.17 16:22:08.389 2022.01.04 08:00:00 e: Signal 1.1322 > clos 1.1304 ExistPosBuy 1
2022.01.17 16:22:08.366 2022.01.04 04:00:00 e: Signal 1.1325 < clos 1.1306 ExistPosSell 0
2022.01.17 16:22:08.366 2022.01.04 04:00:00 e: Signal 1.1325 > clos 1.1306 ExistPosBuy 1
2022.01.17 16:22:08.327 2022.01.04 00:00:00 e: Signal 1.1326 < clos 1.1296 ExistPosSell 0
2022.01.17 16:22:08.327 2022.01.04 00:00:00 e: Signal 1.1326 > clos 1.1296 ExistPosBuy 1
2022.01.17 16:22:08.298 2022.01.03 20:00:00 e: Signal 1.1328 < clos 1.1283 ExistPosSell 0
2022.01.17 16:22:08.298 2022.01.03 20:00:00 e: close #1 buy 0.01 EURUSD at 1.13598 at price 1.12831
2022.01.17 16:22:08.298 2022.01.03 20:00:00 e: Signal 1.1328 > clos 1.1283 ExistPosBuy 1
2022.01.17 16:22:08.190 2022.01.03 16:00:00 e: open #4 buy 0.01 EURUSD at 1.13512 ok
2022.01.17 16:22:08.190 2022.01.03 16:00:00 e: Signal 1.134 < clos 1.135 ExistPosSell 0
2022.01.17 16:22:08.190 2022.01.03 16:00:00 e: Signal 1.134 > clos 1.135 ExistPosBuy 1
Если вы уделите немного больше внимания вашему вопросу и вашему коду, то сами всё поймёте.
Там вопрос - что должен закрываться на 1 баре 1 самый прибыльный ордер, дальше ждем новый бар и опять закрываем 1 прибыльный ордер. А не сразу все.
А плучается на одном первом баре закрывается, а уже на следующем баре не чего не происходит.
Там вопрос - что должен закрываться на 1 баре 1 самый прибыльный ордер, дальше ждем новый бар и опять закрываем 1 прибыльный ордер. А не сразу все.
Тогда нужно правильно формулировать вопросы. У вас появляется всего 1 сигнал. И то на открытии нового бара. А если будет только 1 сигнал, то сколько ордеров закроется?... И то только если сигнал появится на новом баре. А если не появится, то ордера закроются на следующих барах. И опять же при наличии сигнала.
Тогда нужно правильно формулировать вопросы. У вас появляется всего 1 сигнал. И то на открытии нового бара. А если будет только 1 сигнал, то сколько ордеров закроется?... И то только если сигнал появится на новом баре. А если не появится, то ордера закроются на следующих барах. И опять же при наличии сигнала.
В подобных случаях обычно помогает блоксхема. Или нужно подробно расписать алгоритм по пунктам на листке бумаги либо в текстовом файле. И только тогда вы поймете как нужно писать ваш код.
Нужна функция закрытия 1 ордера, открытого самым первым из всех имеющихся. Кто может поделится.
Так если заметили, то в коде алгоритм прописан.
1) Появление нового бара
2) Если МА выше цены закрытия предыдущего бара то переходим к п.3 если MA ниже цены закрытия то переходим к п.4.
3) Если есть позиция BUY то закрываем одну позицию с максимальным профитом в валюте депозита.
3.1)Если нет открытых ордеров BUY открываем позицию SELL.
4) Если есть позиция SELL то закрываем одну позицию с максимальным профитом в валюте депозита.
4.1)Если нет открытых ордеров SELL открываем позицию BUY .
И теперь опять вопрос, что не правильно прописано в этом коде из Выше неписаного алгоритма:
В коде прописан набор команд. Терминал не знает что вам нужно, он знает только то что написано в коде!
Переменные buySignal и sellSignal пропишите на глобальном уровне.В коде прописан набор команд. Терминал не знает что вам нужно, он знает только то что написано в коде!
Я это сообщение удалил, так как проблема нашлась, в том что надо закрывать ордера не по профиту а по времени.
Так как профит есть не всегда и не там где надо.
Потому нужна функция "Закрытие одной позиции, открытой самой первой из всех имеющихся"
Я это сообщение удалил, так как проблема нашлась, в том что надо закрывать ордера не по профиту а по времени.
Так как профит есть не всегда и не там где надо.
Потому нужна функция "Закрытие одной позиции, открытой самой первой из всех имеющихся"
Добавил пример с открытием позиций в таймере в предыдущем посте. Чтобы позиция гарантированно открывалась. Можете подставить туда свою функцию.
Добавил пример с открытием позиций в таймере в предыдущем посте. Чтобы позиция гарантированно открывалась. Можете подставить туда свою функцию.
Хотя не так. Нужно отслеживать результат работы
или новой вашей функции в OnTradeTransaction. И если нет позиций, то входить. Или записывать сигнал в buySignal или sellSignal и обрабатывать в OnTimer как я показал в примере.