OpenIfNoReachTargetPrice

У Вас есть идея, под которую нужен торговый робот? А, быть может, требуется создание нового индикатора или адаптация старого к МТ5? Бесплатно советники и индикаторы под Ваше техническое задание!

OpenIfNoReachTargetPrice

Сообщение wj-gilmore » 08 июл 2016, 16:14

Заметил, что НЕ правильно назвал тему, в начальной версии ТЗ в формате Word тоже НЕ верно.
Идея то в том, что если bid не пробивал уровень PriceWithTP внутри торгового диапазона и пришёл на уровень TargetBidPrice внутри торгового диапазона, с учётом спрэда, то только тогда вход в рынок.

Правильно назвать тему, да и робота тоже, было бы так: "OpenIfNoReachPriceWithTP".
Если есть возможность, переименуйте, пожалуйста.
Аватар пользователя
wj-gilmore
 
Сообщений: 37
Зарегистрирован: 23 июн 2016, 17:08
Средств на руках: 0.20 Доллар
Группа: Базовая
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

OpenIfNoReachTargetPrice

Сообщение wj-gilmore » 08 июл 2016, 16:20

Haos писал(а):Проверяйте пока правильность расчета вводимых параметров и уровней, указанных в комменте:

Посчитано правильно!
Вложения
0_0.PNG
Скриншот от Haos. Расчёт уровней PriceWithTP, Цена открытия бара торгового диапазона.
Аватар пользователя
wj-gilmore
 
Сообщений: 37
Зарегистрирован: 23 июн 2016, 17:08
Средств на руках: 0.20 Доллар
Группа: Базовая
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: OpenIfNoReachTargetPrice

Сообщение Haos » 08 июл 2016, 16:34

wj-gilmore писал(а):1. Если спрэд превышает "Максимально допустимый размер спреда", то робот НЕ должен купить на первом тике "Время начала торговли".

Это понятно, это сделаю.
wj-gilmore писал(а):2. Можно сделать, чтобы советник начинал мониторинг со второго тика (только, если "Время начала торговли" ещё не наступило)?

С тиками всегда заморочка (поверьте опыту), то они пропускаются, то долго ждешь, то еще что-то! Предлагаю ввести отступ (в данном случае вниз) от уровня dblTargetBidPrice (который равен цене открытия бара начала диапазона торговли) в пунктах, который может пользователь модифицировать. Мало того, что решается проблема быстрого открытия сделки, так еще и дополнительный профит может быть от удаления от этого уровня.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Re: OpenIfNoReachTargetPrice

Сообщение Haos » 08 июл 2016, 16:48

Проверяйте, условия с открытием позиций на покупку сделал.
05.png
Вложения
EA-OpenIfNoReachTargetPrice-v1.ex4
(14.4 KB) Скачиваний: 11
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

OpenIfNoReachTargetPrice

Сообщение wj-gilmore » 08 июл 2016, 18:36

Haos писал(а):Проверяйте, условия с открытием позиций на покупку сделал.

Да.
На рисунке всё ОК.
В ТЗ я это предусмотрел.
Там за это отвечает переменная AddForTargetBidPrice - добавка по вертикали для TargetBidPrice.

Нужна мультифункциональность.
Т.е.
1. Сделать переменную-флаг.
Если true - то TargetBidPrice берётся по open во время начала торгового диапазона.
Если false - пользователь сам вводит уровень TargetBidPrice, нужный ему.

2. Сделать отступ (добавку) по вертикали - по цене (у меня эта переменная называется AddForTargetBidPrice).
Haos писал(а):Предлагаю ввести отступ (в данном случае вниз) от уровня dblTargetBidPrice (который равен цене открытия бара начала диапазона торговли) в пунктах, который может пользователь модифицировать.

Да, это хорошая мысль.
Здесь есть момент - для того, чтобы TakeProfit был на том же расчётном уровне, что при нулевом AddForTargetBidPrice , роботу нужно модифицировать введённый пользователем во входных параметрах TakeProfit:
для покупок на + AddForTargetBidPrice
для продаж на - AddForTargetBidPrice

Пользовательский StopLoss, при этом, модифицировать НЕ надо.

Только, не понял, что значит dblTargetBidPrice в Вашем посте?
Вложения
0_0.PNG
Аватар пользователя
wj-gilmore
 
Сообщений: 37
Зарегистрирован: 23 июн 2016, 17:08
Средств на руках: 0.20 Доллар
Группа: Базовая
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

OpenIfNoReachTargetPrice

Сообщение wj-gilmore » 08 июл 2016, 19:09

Сразу выложу ещё один интересный сценарий.
Обычно, он может случиться на открытии рынка в понедельник, но, иногда такое происходит внутри торговой недели в банковский ролловер (время низкой ликвидности + начисления свопа).
А, ещё, на сильных новостях тоже может быть.

Рассмотрим случай, когда трейдер в воскресенье проанализировал рынок по торговому инструменту, ввёл все параметры в наш робот в расчёте на buy (купить хотел на [Время начала торговли;Время конца торговли]).
Время начала торговли в момент ввода трейдером данных ещё не наступило.
Трейдер идёт спать, т.к. робот будет "дежурить" за bid'ом на [Время начала торговли;Время конца торговли] вместо него.
А тут, бац, и... Гэп!

Дело в том, что у гэпа есть "сила", определяемая по OY - значению цены.
Если эта "сила" велика, то вместо того, чтобы покупать, надо продавать, иначе - loss.

Предложение заключается в введении специальной переменной GapLevel, которую вводит трейдер, чтобы быть уверенным, что, если на открытии рынка (или на ролловере, или на сильных новостях) случился сильный ценовой разрыв, отменяющий покупки, то робот будет пытаться продать, несмотря на то, что во входном параметре "Направление торговли" указано "Покупка".

Графически это выглядит так (см. рисунок во вложении "Сценарий пересмотра направления ордера роботом").

t0 - это bid close последней торговой минуты пятницы.
TargetCandle - это "Время начала торговли".
Bid open свечи по "Время начала торговли" сильно отличается от t0.
Это, тот самый, "сильный" гэп, задающий противоположное направление торговли.
Вложения
Рис 5. Сценарий пересмотра направления ордера роботом. TargetBidPrice == TargetCandleOpenBid.png
Последний раз редактировалось wj-gilmore 08 июл 2016, 19:14, всего редактировалось 1 раз.
Аватар пользователя
wj-gilmore
 
Сообщений: 37
Зарегистрирован: 23 июн 2016, 17:08
Средств на руках: 0.20 Доллар
Группа: Базовая
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: OpenIfNoReachTargetPrice

Сообщение Haos » 08 июл 2016, 19:14

wj-gilmore писал(а):Только, не понял, что значит dblTargetBidPrice в Вашем посте?

Проскочило название переменной часть от предложенного Вами названия и моего правила названия переменных. Если интересно, то в зависимости от типа данной переменной (в данном случае число с плавающей точкой double) я перед названием переменной добавляю три символа, кратко характеризующие тип переменной:
double -> dbl
int -> int
string -> str
и т.д.
Сейчас уже рынок закрывается на выходные, по-возможности на них будем думать как дальше. Вы пока последний выложенный сов. погоняйте.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

OpenIfNoReachTargetPrice

Сообщение wj-gilmore » 08 июл 2016, 19:29

Stop Loss задаю в настройках 100,
а ставится больше на 24, 23, 22 - кажется, это спрэд.
Это нужно подправить.
+
ордеры, take profit'ы, stop loss'ы у meta trader подписываются слева.
Подписи наехали на вывод робота.
Неудобно получилось.
См. скриншот.
Может быть, подумать над сдвигом информации, выводимой роботом, от верхней левой точки окна торгового инструмента на переменные X,Y, вводимые пользователем?
Будет удобнее.
+
Ещё одна идея на будущее по эргономике - рисовать зелёным (конечно, лучше цветом, выбираемым пользователем) линию TargetBidPrice, оранжевым (конечно, лучше цветом, выбираемым пользователем) - PriceWithTP.
Посмотрите, как в индикаторе Spread удобно реализована эргономика: можно выбрать все параметры шрифта, расположение вывода информации (от верхнего левого угла, до нижнего правого) (См. файл-вложение).
Хочется максимальной универсальности программы.

TakeProfit ставится верно.
Торговля проходит в рабочем диапазоне [Время начала торговли; Время конца торговли].
Вложения
Spread.mq4
(3.36 KB) Скачиваний: 10
0_0.PNG
Аватар пользователя
wj-gilmore
 
Сообщений: 37
Зарегистрирован: 23 июн 2016, 17:08
Средств на руках: 0.20 Доллар
Группа: Базовая
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

OpenIfNoReachTargetPrice

Сообщение wj-gilmore » 08 июл 2016, 20:05

В общем, подправить обязательно нужно:
1. Неправильное выставление StopLoss.
2. По наступлении "Время конца торговли" робот должен закрывать все открытые им ордеры. Сейчас этого нет.
Вложения
0_0.PNG
Можно вводить с точностью до секунды?
Аватар пользователя
wj-gilmore
 
Сообщений: 37
Зарегистрирован: 23 июн 2016, 17:08
Средств на руках: 0.20 Доллар
Группа: Базовая
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: OpenIfNoReachTargetPrice

Сообщение Haos » 13 июл 2016, 11:56

wj-gilmore писал(а):Stop Loss задаю в настройках 100,
а ставится больше на 24, 23, 22 - кажется, это спрэд.
Это нужно подправить.

СЛ выставляется правильно. Для покупки это "Bid - Величина СЛ". Т.е. от бидов идет расчет!
wj-gilmore писал(а):2. По наступлении "Время конца торговли" робот должен закрывать все открытые им ордеры. Сейчас этого нет.

Сделал.
Вложения
EA-OpenIfNoReachTargetPrice-v1.ex4
(18 KB) Скачиваний: 12
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.


Вернуться в Торговые советники на заказ

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 533

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron