Форекс количество открытых ордеров по одной паре. Dashboard Trading - Page @ Forex Factory

Торговые условия

Создание советника для открытия серии ордеров Понедельник, 20 Июн Итак, мне понадобится: В данном посте я напишу советник для открытия серии валютных пар в одном направлении. Предварительно можно посмотреть тестирование созданного советника. Сразу ответ на вопрос: Меня интересует открытие на новом баре свече.

Скрипт сразу после переноса на торговый график начнет свою работу. Советник же подождет до нового бара и только тогда откроет позиции. Более того, советник, в случае сбоя, оставшись работать на графике будет проверять, все ли ордера по заданным валютным парам открыты.

Если ордер по определенной валютной паре не найдется, советник его немедленно откроет.

форекс количество открытых ордеров по одной паре система прибыльного трейдинга

Хочу отметить, что создание указанных советников и индикатора не обеспечит прибыльную и стабильную торговлю на Форекс. Это лишь помощники, которые облегчат процесс анализа торговой ситуации и операции с ордерами.

Чтобы избежать задание лишних внешних параметров и ускорить работу, будут 2 разных советника. Это снизит уровень возможных ошибок от невнимательности.

форекс количество открытых ордеров по одной паре

Пишем советник Для тех, кто только начинает знакомиться с программированием на MQL 4, для лучшего понимания основ языка MQL, предварительно можно изучить запись в блоге о том, как написать индикаторкоторый выводит на экран спрэд по текущему торговому инструменту. Для начинающих, многие вопросы программирования после прочтения указанной записи должны проясниться. Определим необходимые внешние задаваемые переменные. Теперь открываем MetaEditor. Задаем внешние переменные Первыми строчками задаем необходимые внешние переменные.

Переменная workLimit это ограничитель. Если цена ушла от цены открытия нового бара больше указанного уровне, ордер не будет открыт. Переменная openSet в принципе небольшое дополнение. Хотя я никогда не использовал ранее доливки при торговле на Форексе, но на будущее решил предусмотреть этот параметр. Значение переменной openSet будет указана в Комментарии в открываемом ордере. С помощью этого мы сможем определить с какой серией ордеров мы сейчас работаем. Чтобы было понятно, объясню на примере: Через 10 минут мы решаем, что нужно сделать доливку.

Мы вновь переносим советник на торговый график, в параметрах советника указываем номер серии 2 форекс количество открытых ордеров по одной паре на новом баре советник открывает на еще 5 ордеров. Теперь объявляем глобальные переменные советника. Размер массива в 14 элементов задан произвольно. В массиве pairsOpen[] будет храниться количество открытых ордеров по каждой валютной паре.

полиммет трейдинг лицензия по отходам кредитный брокер реальная помощь в получении кредита

Значение 2 будет означать, что сделана доливка. Массив openPrice[] содержит цены открытия текущего бара для каждой валютной пары. Функция init Переходим к содержимому функции init. Данная функция запускается при прикреплении советника к торговому графику, изменению настроек советника, а также смене символа или периода графика. Сначала узнаем, в системе используется 5 и 3 знаков после запятой или 4 и 2.

Главное помнить, что несмотря на то, что ордера мы собираемся открывать по нескольким валютным парам, советник присоединяется к графику одной валютной пары и именно с ней мы сейчас работаем. Если 3 или 5 знаков после запятой, в переменную number заносим значение Это множитель. К примеру, форекс количество открытых ордеров по одной паре указали изначально, что проскальзывание равно 2 пункта. Но с 5-ю знаками после запятой это значение должно равняться Как раз это мы и получим, помножив 2 на Теперь заполняем данными наши внешние переменные.

Чтобы советник работал на Sell, переменной нужно форекс количество открытых ордеров по одной паре значение 1 форекс количество открытых ордеров по одной паре перекомпилировать. Важной переменной является magic, то есть магическое число. Из всего потока ордеров наш советник будет искать среди открытых только ордера с данным магическим числом.

Хотя мы можем задать любой размер массива pairs[], в переменную totalPairs необходимо поместить количество заданных элементов.

Пройдемся в цикле по массиву pairs[]. В переменную size помещаем ранг массива pairs[]. В форекс количество открытых ордеров по одной паре проходимся по всем элементам массива pairs и если длина элемента больше 0, то увеличиваем количество валютных пар в переменной totalPairs.

Как только цикл доходит до пустого элемента, то с помощью оператора завершения break работа цикла завершается. Советник должен знать реальное число валютных пар в массиве, так как это значение будет использоваться в дальнейшем в циклах и позволит избежать лишних проходов. Теперь нам необходимо сохранить цены открытия по всем валютным парам. Нам это необходимо для отслеживания появления нового бара. Форекс количество открытых ордеров по одной паре должен знать текущее положение на графике текущий бариначе он не откроет ордера в нужное для нас время.

После того, как советник обновил время открытия для каждой валютной пары, необходимо проверить все открытые ордера. Проверка ордеров также будет происходить при поступлении каждого нового тика. Вынесем проверку в отдельную функцию.

Локовые ордера как защита депозита от слива.

Выборка ордеров происходит по типу ордера orderType, магическому числу magic и номеру сета openSet. Если советник работает с доливкой, то есть номер сета, к примеру 2, то его уже не интересуют ордера 1-го сета. Мне кажется, что ограничение функциональности советника позволяет избежать ошибок в его дальнейшей работе.

Глобальная переменная количества ордеров count также forexgun в начале функции форекс количество открытых ордеров по одной паре увеличивается с каждым новым выбранным ордеров.

Создание советника для открытия серии ордеров

Чтобы записать количество открытых ордеров в массив pairsOpen[] нужен номер валютной пары. После того, как номер валютной пары в массиве pairs получен, соответствующий форекс количество открытых ордеров по одной паре массива pairsOpen[] становится равным номеру сета openSet. После прохождения всех ордеров где заработать денег быстро цикле советник делает последнюю проверку перед выходом из функции.

Количество ордеров, подсчитанное и хранящееся в переменной count может быть меньше заданного, если, к примеру, при открытии ордеров произошла Критическая ошибка.

Советник форекс закрывать все ордера

Флаг work мы переставляем в положение false, чтобы на новом тике советник, проверив количество ордеров, открыл недостающие. Если оставить флаг работы work в положении true, советник откроет недостающие ордера только на новом баре. Теперь обратимся к функции getPairNumber …которая находит номер элемента в массиве pairs[]. В цикле функция проходится по всем элементам массива pairs[]. За возврат целого числового значения отвечает параметр int, который стоит перед объявлением функции int getPairNumber string pair.

Функция start Функция start совсем небольшая. Функция проверки условий criteria Советник на каждом новом тике должен проверить новый ли бар и принять решение об открытии ордеров.

Функция checkOpenPrices как и все содержимое функции criteria запускается с приходом нового тика.

бинарные опционы мнение экспертов кредитные брокеры в омске

Проверка всех валютных пар на образование новой свечи довольно натянута: Но я все-таки сделал по-другому: Функция checkOpenPrices возвращает логический ответ return trueна что указывает префикс bool checkOpenPrices перед названием функции при объявлении. Если же количество открытых ордеров count меньше количества ордеров в нашем массиве pairs[] и флаг работы work установлен в false, это означает, что советник уже открыл ордера, но не полностью.

Напомню, что советник работает только с текущим сетом.

Советник определит отсутствие ордера только по номеру сета в переменной openSet, несмотря на то, что могут быть открыты ордера по другому сету. Функция открытия ордеров openOrders Условием для открытия ордера по определенной валютной паре является значение элемента массива pairsOpen[]. Если оно равно номеру сета openSet, то ордер не откроется.

После открытия ордера элемент pairsOpen[i] получает значение номера сета openSet.

  • Рабочие стратегия на минутном графике бинарные опционы
  • Анализ брокер fxnobels
  • Закроем позиции:
  • Дословный перевод английского слова Lock - блокировка.
  • Где в интернете заработать реальные деньги
  • Локирование — Instaforex Support
  • Советник форекс закрывать все ордера. Хочется заработать много денег

Переменная total, которая увеличивается с каждым новым открытым ордером, сообщит на экран количество открытых ордеров, после завершения работы цикла.

Как только ордера открылись, флаг работы work получает значение false, что позволит избежать ошибок. Завершающий этап работы функции — обновить информацию советника о текущем баре. Функция открытия ордера openOrder Функция bool openOrder int type, int pairNumber получает тип открываемого ордера int type и номер валютной пары int pairNumber в массиве pairs[].

Размер СЛ и ТП зависит от волатильности пары и попадания в одну из 2-х настраиваемых групп волатильности. Кроме того по доске конечно же остался весь функционал первой версии Dashboard - Multi V1auto, а именно: Внедрена идея объединения различных вариантов досок в одном советнике. Соответственно внедрена идея выбора сигналов с доски. Всего доступно 3 варианта выбора:

Цикл while работает до тех пор, пока ордер не будет открыт или не сработает оператор return bool …. Главным условием для работы советника при открытии ордера является удаление цены от цены открытия бара. Уровень удаления задан в переменной workLimit. Проверка производится в следующем условии для ордера Buy: Важным моментом является перевод лимита к текущим условиям, а именно помножение на значение глобальной переменной number, которое было рассчитано в функции init.

Работа советника на нескольких валютных парах

Если Дилинговый центр предоставляет котировки в MetaTrader 4 с 5-ю или 3-мя знаками после запятой, то значение переменной workLimit, которое задается в пунктах, помножается на 10 значение глобальной переменной number.

Так как работа ведется не с финансовым инструментом графика, к которому прикреплен советник, а с любой валютной парой, мы используем функцию MarketInfo … для того, чтобы узнать цену Bid или Ask или размер пункта. Если бы работа велась по финансовому инструменту текущего графика, то мы бы использовали предопределенные переменные Bid, Ask и Point. Как только подготовительные вычисления закончены, с помощью функции OrderSend … советник отправляет запрос на открытие ордера. Уровень проскальзывания, также заданный во внешней переменной slippage, помножается на переменную number, чтобы подстроиться под котировки с 5-ю или 3-мя знаками после запятой.

Уровень Стоп-лосса хоть и вынесен в отдельную переменную SL, форекс количество открытых ордеров по одной паре все равно равен 0, так как меня он не интересует. В комментарий к ордеру записывается номер сета, переведенный из числового в строковое значение DoubleToStr openSet, 0.

форекс количество открытых ордеров по одной паре стратегия бинарные опционы

Как раз по этому параметру и происходит отсев ордеров в функции loadOrders. Ордер открывается с магически числом, заданным в глобальной переменной magic. Это 2-й параметр, по которому происходит отсев ордеров в функции loadOrders.

Если функция OrderSend возвращает отрицательный номер тикета, то происходит проверка кода ошибки с помощью функции checkError. В случае, если функция checkError возвращает отрицательный результат прохождения проверки, функция openOrder завершает работу. В ином случае, если функция checkError возвращает положительный ответ, цикл while … перезапускается.

Как только номер тикета, возвращаемый функцией OrderSend станет положительным числом, функция openOrder завершит работу с положительным ответом return true. Функция обработки ошибок checkError Функция checkError работает с глобальной переменной lastError, содержащей код последней ошибки. Код ошибки передается в оператор-переключатель switch lastError. При преодолимых ошибках производится обновление данных с помощью функции Форекс количество открытых ордеров по одной паре или обновление данных после небольшой задержки.

Функция Sleep int milliseconds помогает советнику осуществить задержку.

Также читайте