anna8889
Анна

 
Уровень 5

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2087



РЕКОМЕНДУЮ




Лучшее от anna8889



Безубыток Комментариев 15
2020-03-30 19:29:55Рейтинг 0

Подсчет ордеров предыдущего дня для советника WPR

Добрый вечер. У меня появилась идея для доработки заказа zakaz.opentraders.ru/53735.html.
Поможете реализовать такую задумку?
1) При достижении прибыли СЛ передвигался на определенное количество пунктов, как в торговле вручную.
2) Прописать в советнике подсчет всех просадок до текущего дня( т.е. сегодняшний день не учитывая), и если сегодня сделки не закрылись а при наступлении следующего дня открылся новый ордер, то этот ордер открывался бы с увеличенным лотом( как в мартине). И при достижении, к примеру, 200 пунктов сделки все закрывались и текущие и предыдущие.

Очень надеюсь на Вашу помощь.

Vepr.mq4 (12 Kb)
  • 0
  • Просмотров: 1738
  • 20 ноября 2020, 18:36
  • anna8889
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
автоматизировать "сборку" из 2-х индюков
20 ноября 2020
22 ноября 2020

Комментарии (14)

+
+1
чаво
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 20 ноября 2020, 22:07
+
0
Как-то так:
Сперва узнать цену открытия ордера и его лотность. Если позиция на бай, тогда узнать, начиная от момента открытия ордера до сегодняшнего дня, минимальное значение цены за выбранный период времени. Тогда можно узнать насколько пипсов цена уходила против позиции, зная её лотность — узнать в деньгах. А там уже согласно условию, в зависимости от величины просадки, зная лотность убыточной позиции, рассчитать лотность для входа по мартину.
И количество пунктов вынести в настройки.
Можно так прописать?
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 21 ноября 2020, 17:50
+
0
Здравствуйте. Насчет моего вопроса, можно такое прописать или нет?
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 24 ноября 2020, 20:11
+
0
мне не понятно чего вы хотите
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 24 ноября 2020, 20:42
+
0
Действия примерно такие: в цикле перебирать все ордера, что есть в рынке. Как только находим первую позицию — определить её цену открытия — OrderOpenPrice(), время — OrderOpenTime(), лот — OrderLots() и тип позиции — OrderType(). Тут же, зная время, находим номер бара с помощью ф-ции iBarShift(). Теперь нужно найти бар на котором начался «сегодняшний» день, ведь мы его не учитываем. Запрос времени для текущего бара по ТФ D1: iTime(NULL,PERIOD_D1,0), тем самым мы получим время без часов и минут, зная время, узнаем какой ему соответствует номер бара на текущем ТФ, опять же, используем ф-цию iBarShift() в которой указываем полученное время. Теперь нам известно время/бары от открытия позиции до «сегодня», в зависимости от типа ордера, обратимся к ф-ции iHighest(), если позиция селл или к ф-ции iLowest(), если на бай. Зная номер бара на котором открылась позиция, минус бар наступления «сегодня» — находим значение за сколько баров будем искать макс/мин. Полученные данные вносим в соответствующую ф-цию: iHighest() / iLowest(), которая вернет нам макс/мин. значение цены за указанный период. Исходя из этого уже можно найти на сколько пипсов цена уходила против позиции, зная лотность позиции — находим в деньгах. Теперь тут мы должны прописать свое условие по просадке: если выполняется — тогда, думаю, нужно ввести булевую переменную, состояние которой будет зависеть от того, достигли ли макс. просадки для отдельно взятой позиции или нет. Это все делаем в одном цикле, то, что описано, это только для одной, первой позиции. Если в рынке есть еще позиции, то цикл продолжится, теперь будет выбрана следующая позиция в списке и с ней будет проделано все то же самое. Попутно, если у позиций была просадка — суммируем её, заносим в переменную, которую нужно будет обнулить перед входом в цикл, и получим общую просадку.
Вроде так подробнее будет.
Получится реализовать?
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 24 ноября 2020, 21:23
+
0
скрины нужны. покажите все на графике
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 24 ноября 2020, 22:44
+
0


Пример D1:
1 — Все WPR сходятся ниже -80, открывается сделка на Buy. Если цена пошла вниз и появляется еще один сигнал 2 (СЛ не ставим, а ТП не закрывается), советник просчитывает от момента открытия первого ордера до сегодняшнего дня (появления 2 сигнала), на сколько пипсов цена уходила против позиции, в зависимости от величины просадки, зная лотность убыточной позиции 1, рассчитать лотность для входа для 2 позиции за выбранный период времени, открывается вторая сделка на Buy с увеличенным лотом, расчитанным от просадки.
3 — пункты закрытия задаются в настройках, к примеру, при достижении открытых ордеров 200 пунктов закрываются все открытые сделки.
Как то так. Подробнее написано еще выше.
Жду Вашего ответа.
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 25 ноября 2020, 20:46
+
0
вот допустим открыли 1-й бай 0.1 и просадка по нему ко 2-му сигналу 500п.
по какой формуле будем считать лот для 2-го ордера в зависимости от просадки или еще как то?
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 25 ноября 2020, 21:29
+
0
в зависимости от просадки
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 25 ноября 2020, 21:37
+
0
по какой формуле считаем? можно например так:

задаем шаг 500п — увеличение в 2 раза.
400п — 2*(400:500) = 1.6
600п — 2*(600:500) = 2.4
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 25 ноября 2020, 21:46
+
0
да. можно так.
главное чтобы просадки считались до начала текущего дня.
и можно вставить СЛ, если его включать, с подтягиванием как в ручной торговле?
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 25 ноября 2020, 21:53
+
0
высчитывает лот от просадки, по предложенной мной формуле: www.opentraders.ru/downloads/2864/

avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 26 ноября 2020, 00:36
+
0
Спасибо, но скачать не могу. нет кнопки
avatar

  5  anna8889 Автор Сообщений: 69 - Анна

  • 26 ноября 2020, 01:08
+
0
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 26 ноября 2020, 10:38

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари