Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В общем то тут две мотивации с противоположным эффектом. Близкий СЛ уменьшает убыток и делает вероятность закрытия по СЛ выше. Если СЛ будет близко в отношении волатильности, то лучше конечно Ваш вариант, если на нормальном уровне и подтягивание СЛ не скажется на частоте срабатывания, то мой.
Вы уже забежали в область стратегии;) научите сначала выставить 1 бу а потом уже его двигать
Вы уже забежали в область стратегии;) научите сначала выставить 1 бу а потом уже его двигать
Здравствуйте! С одной стороны Вы правы - можно просто остановиться на одном безубытке и написать код только для него. Но, на мой взгляд, если изначально нет понимания, как должен работать трейлинг стоп в целом, это тоже не лучший вариант. Кроме того, практически все советники пишутся по четко обозначенной стратегии. Как говорят в таких случаях - "нужно договариваться на берегу".
Чувствую, что опять во мне "проснулся" электронщик.
С уважением, Владимир.
Я так и понял. У Вас две функции перестановки трейлинга. Первая переставляет трейлинг в безубыток, руководствуясь параметром "Уровень трейлинга", Вторая функции подтягивает стоп-лосс дальше за ценой, руководствуясь параметром "шаг трейлинга". Имхо, первый параметр я бы назвал "Уровень перестановки стоп-лосса в безубыток" - потому что это не трейлинг как таковой а именно перестановка ордера в безубыток.
Да, Василий, абсолютно верно! Вы правильно поняли и сформулировали моё представление о трейлинг стопе. Параметр изначально должен был так и называться: "Уровень перестановки стоп-лосса в безубыток". Терминология пока ещё хромает у меня. Спасибо, Вам!
С уважением, Владимир.
Здравствуйте! С одной стороны Вы правы - можно просто остановиться на одном безубытке и написать код только для него. Но, на мой взгляд, если изначально нет понимания, как должен работать трейлинг стоп в целом, это тоже не лучший вариант. Кроме того, практически все советники пишутся по четко обозначенной стратегии. Как говорят в таких случаях - "нужно договариваться на берегу".
Чувствую, что опять во мне "проснулся" электронщик.
С уважением, Владимир.
Здравствуйте! Если Вы научитесь пошагово подвинуть стоп лосс один раз, то после сможете двигать его 100 раз при необходимости, лишь бы было куда ;)
Советник подгоняется под стратегию а не наоборот
Да, Василий, абсолютно верно! Вы правильно поняли и сформулировали моё представление о трейлинг стопе. Параметр изначально должен был так и называться: "Уровень перестановки стоп-лосса в безубыток". Терминология пока ещё хромает у меня. Спасибо, Вам!
С уважением, Владимир.
Здравствуйте, Алексей! Извините, что сразу не отреагировал на Ваш пост. Ссылка очень интересная. Просмотрел коды всех 11-ти видов трейлингов и библиотеки функций. Всё очень позновательно, хотя и написано на языке MQL4. Честно говоря, даже и не предполагал, что существует столько видов трейлинга. Большое Вам спасибо за содействие!
С уважением, Владимир.
Всем доброго утра и хорошего настроения!
Продолжаю обучение языку программирования MQL5. С учетом поправок от Василия Соколова алгоритм советника по трейлингу Stop Loss у открытой позиции теперь выглядит таким образом:
- Создаем советник для автоматизации работы по трейлингу (сопровождению) уровня Stop Loss у открытой позиции.
- В советнике создаем блок входных параметров с двумя параметрами: "Уровень перестановки Stop Loss в безубыток" и "Шаг трейлинга".
- При поступлении новых котировок обрабатываем их функцией OnTick( ). Трейлинг работает только при поступлении нового тика по текущему символу.
- Запрашиваем данные в момент поступления события OnTick.
- Для каждой позиции Buy определяем, где находится текущая цена относительно цены открытой позиции.
- Если текущая цена выше цены открытия позиции, то проверяем на какой уровень она поднялась.
- Если текущая цена достигла "Уровня перестановки Stop Loss в безубыток" заданного во входных параметрах, то переносим Stop Loss на уровень без убытка равного цене открытия позиции Buy. В противном случае ничего не делаем.
- Если текущая цена превысила "Уровень перестановки Stop Loss в безубыток" на величину равную "Шаг трейлинга", то тогда Stop Loss перемещается с уровня цены открытия позиции Buy на величину равную "Шаг трейлинга" и так до тех пор, пока цена не достигнет заданного для данной позиции уровня Take Profit.
- Если цена развернется и достигнет уровня уже перемещенного в без убыток Stop Loss, то позиция закрывается.
-
Упрощенная версия описания трейлинга от Василия Соколова:[Далее следует аналогичное описание для позиции Sell]
Далее нужно следовать шаблону:
Часть 1. Перенос в безубыток:- Для покупки;
- Для продажи;
Часть 2. Подтягивание стопа:Этот вариант алгоритма советника по трейлингу Stop Loss у открытой позиции является окончательным и по нему продолжаю написание программного кода.
С уважением, Владимир.
Здравствуйте! Если Вы научитесь пошагово подвинуть стоп лосс один раз, то после сможете двигать его 100 раз при необходимости, лишь бы было куда ;)
Советник подгоняется под стратегию а не наоборот
Здравствуйте! Ранее уже отмечал в своем посту, что Вы правы в своем суждении. Всё дело в том, что при помощи, оказанной Василием Соколовым, относительно быстро сформировался алгоритм советника по трейлингу Stop Loss у открытой позиции, поэтому буду придерживаться именно его.
С уважением, Владимир.
Продолжаю обучение языку программирования MQL5. Ранее был опубликован код цикла, запускающего перебор открытых позиций. Теперь, после того, как был запущен цикл, начинаем работу с символом на текущем графике:
{ /* Для работы с символом создадим переменную _Symbol, в которой будем хранить имя символа текущего графика. Делаем запрос на сервер. Сервер возвращает нам символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с ней при помощи функций PositionGetDouble, PositionGetInteger, PositionGetString. Если получим от сервера ответ о том, что для текущего символа была выбрана позиция для дальнейшей работы с ней, то в торговом терминале выводим соответствующее сообщение во вкладке "Эксперт".*/ if(_Symbol==PositionGetSymbol(i)) Print("Выбираем позицию для дальнейшей работы с ней"); // }Для того, чтобы была оперативная обратная связь буду периодически выкладывать написанные коды с собственными комментариями. Прошу участников данной темы поправлять меня, если в коде или комментариях будут неточности с моей стороны.
С уважением, Владимир.