[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 190
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сергей Dubakin любезно предложил функцию CloseBy, но к сожалению, она не выполняет важное условие для меня, закрывать позицию с максимальным убытком противоположной позицией с максимальным профитом, а закрывает любые пары из попавшихся:
Ув. профи! Где найти функцию СloseBy(), которая работает в ручном режиме? Хочу вставить в мой сов, чтобы можно было не вручную, а автоматически согласно условиям закрывать позицию с максимальным минусом противоположной с максимальным плюсом. В кодебэйс не нашёл. Спасибо!
Попробуйте такой вариант:
Сергей Dubakin любезно предложил функцию CloseBy, но к сожалению, она не выполняет важное условие для меня, закрывать позицию с максимальным убытком противоположной позицией с максимальным профитом, а закрывает любые пары из попавшихся.
Здравствуйте, ф-ция закрывает позицию с максимальным убытком противоположной позицией с максимальным профитом. Вот тестовый советник для тестера:
Открывает поочерёдно Buy и Sell позиции при появлении нового 4-х часового бара и делает одно встречное закрытие при открытие нового дня.
Здравствуйте, ф-ция закрывает позицию с максимальным убытком противоположной позицией с максимальным профитом. Вот тестовый советник для тестера:
Открывает поочерёдно Buy и Sell позиции при появлении нового 4-х часового бара и делает одно встречное закрытие при открытие нового дня.
Все, теперь понял. Если цена на текущем баре дошла до Open[0] + 30, то открываемся. Если бар закончился, то Open[0] изменился, и уровень открытия смещается соответствено. В рынке должна быть только одна сделка, правильно?
Тогда так:
Отслеживать новый бар не надо, так как при его формировании система автоматически пропишет в Open[0] новое значение, а значит, и новый уровень рассчитается правильно. Обратите внимание, что сделка BUY открывается по текущей цене Ask, а закрывается (TP и SL) по Bid. Кроме того, необходимо нормализовать значения цен.
Большое спасибо за помощь.
Но открывает сделки в тестере на каждой минутной свече. инф. в этой ссылке http://clip2net.com/s/2T98Y
А мне нужно что бы открывала один ордер на пятиминутной свече,но не на каждой.
А только если текущая пятиминутка будет > или = 30 пунктов .(от цены открытия до ее максимума)
Т.е открыть один рыночный ордер на тридцатом пункте от цены открытия нулевой=текущей пятиминутки.
А если текущая пятиминутка от цены открытия до максимума меньше 30 пунктов,то рыночный ордер не открывать.
Т.е. ордеров будет немного , я посчитал в екселе, с 1999 года - чуть больше 3000 по евро доллару в обе стороны.
Переходим на следующую пятиминутку и если она,т.е. текущая пятиминутка > или = 30 пунктов,то открываемся на тридцатом пункте,если меньше - переходим на следующую пятиминутку ...и так до конца графика.
Но вся фишка в том,- по приблизительным подсчетам ,большая часть пятиминуток ,которые > или = 30 пунктов гораздо чаще пролетают 15 пунктов чем закрываются по стопу в 30 п.Т.е.соотношение между ними таково,что в целом график баланса будет идти вверх.Хочу проверить эту идею на тестере.
У Вас в условии стоит - если нет открытых ордеров
Но по моей системе могут образоваться две пятиминутки с вышеописанными параметрами подряд и если ордер от предыдущей пятиминутки не закроется - тогда на второй пятиминутки ордер не откроется.
А мне нужно,что бы один ордер открывался на каждой пятиминутке с вышеописанными параметрами независимо от того есть или нет в торговле ордера.
Все, теперь понял. Если цена на текущем баре дошла до Open[0] + 30, то открываемся. Если бар закончился, то Open[0] изменился, и уровень открытия смещается соответствено. В рынке должна быть только одна сделка, правильно?
Тогда так:
Отслеживать новый бар не надо, так как при его формировании система автоматически пропишет в Open[0] новое значение, а значит, и новый уровень рассчитается правильно. Обратите внимание, что сделка BUY открывается по текущей цене Ask, а закрывается (TP и SL) по Bid. Кроме того, необходимо нормализовать значения цен.
И еще у Вас вторым условием стоит - если цена закрытия текущей пятиминутки >= цене открытия ордера.
Но по моему замыслу цена закрытия текущей пятиминутки может быть любая.главное - что бы ее High был > или = 30 пунктов.
Close[0]>=Price
Здравствуйте, Сергей! У меня другой алгоритм! В том-то и дело, что эта функция закрывает то, что есть, а мне нужно чтобы закрыла именно максимальные, а не любые! Ну ничего, добью сам, если никто не поможет! Ваш вариант годится только для тестера, потому добавил в шапке согласно правилам. Работает чётко без ошибок, но не выбирает максимальные! Всё равно, спасибо Вам за выручку!
Как вам нужно? Та, что выкладывал, определяет самую убыточную позицию в валюте депозита(в деньгах), потом определяет самую прибыльную противоположную тоже в валюте депозита и делает встречное закрытие.
Я сделал функции, определяющие макслосс GetMaxLoss() и макспрофит GetMaxProfit(), но никак не могу добиться, чтобы функция LockOFF() выбрала не любую попавшуюся пару, а указанную мною. Покажите, пожалуйста, в какое место воткнуть мои максимумы и, может, нужны ещё функции по определению тикета или индекса этих позиций, то это для меня не проблема, только вот, в какое место поставить всё это в эту LockOFF()?! Спасибо!
В ф-ции всё это есть - определение макс убытка, макс профита, тикеты тоже определяются.
Как вам нужно? Та, что выкладывал, определяет самую убыточную позицию в валюте депозита(в деньгах), потом определяет самую прибыльную противоположную тоже в валюте депозита и делает встречное закрытие.
В ф-ции всё это есть - определение макс убытка, макс профита, тикеты тоже определяются.
Вы ошибаетесь! Видать у Вас единственная пара противоположных позиций, а у меня может быть больше, потому вывел в комментах все данные и вижу, что закрывает не максиЛосс максиПрофитом, а любые, какие первые при переборе попадаются. А мои функции чётко показывают индексы позиций с максимальными Лоссом и Профитом. Осталось только дoбавить эти проверки в LockOFF()!
https://www.mql5.com/ru/code/7835 Только это индикатор. В советнике надо объекты использовать
Вы тестовый советник для ф-ции в тестере смотрели? Закрывает именно макс. убыток с макс. профитом независимо от того сколько там ордеров - два или двадцать.