Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
К сожалению, сейчас не имею достаточного времени, чтобы часто здесь отписываться. Всем, кто имеет какие-либо идеи в плане улучшения или изменения рассматриваемых функций для трейлинга - you are welcome! пожалуйста, модифицируйте, изменяйте, улучшайте. Добавляйте себя в качестве соавторов. Единственная просьба - не удалять инфо об авторе оригинала :)
Можно как-то модифицировать функцию KillLoss, чтобы она работала для случаев, когда одновременно открыто более одного ордера? Если, к примеру, два ордера открыто, то не тралится ничего.
Имхо, вместо модификации функции проще перед её вызовом пересчитать открытые позиции и далее, в зависимости от их числа, либо вызывать, либо нет. Например:
С уважением, Юрий.
Можно как-то модифицировать функцию KillLoss, чтобы она работала для случаев, когда одновременно открыто более одного ордера? Если, к примеру, два ордера открыто, то не тралится ничего.
Имхо, вместо модификации функции проще перед её вызовом пересчитать открытые позиции и далее, в зависимости от их числа, либо вызывать, либо нет. Например:
Юрий, Вам - большое спасибо за Ваши усилия, выложенные материалы и оперативные ответы на вопросы!
Насчет модификации функции KillLoss, я не совсем то имел в виду. Я создал советника, который открывает одновременно ордера в количестве большем, чем 1, и предполагал вставить в него в качестве опции функцию KillLoss. Замечено, что функция KillLoss корректно работает только при одном открытом в данный момент ордере, а если, скажем, одновременно открыто 2 ордера, то она выключается (не срабатывает), и стоплосс срабатывает там, где он изначально ставится.
Проще говоря, KillLoss не тралит одновременно две позиции, как, например, Udavka.
Я не программист, трейдер и наверное тут я не в "своей компании". Мне многое не понятно, какой трал в описании, какому соответствует в библиотеке? Зачем их столько много? Почему они не работают одновременно? Какова результативность их применения? и т.д.
Друзья, а нет ли у Вас, для начала, ОДНОГО максимально простого трала, который при достижении заданного профита устанавливает стоплосс в безубыток? Причём надо что бы одновременно работало несколко таких тралов на одной валютной паре.
Здравствуйте, Ultramarin.
Извините, что отвечаю с таким запозданием (скорее всего, вопрос либо решен, либо неактуален), но все же - в советнике (в т.ч. приведеннном) функцию трейлинга следует вызывать где-нибудь из стандартной функции start(), напр.:
Я не программист, трейдер и наверное тут я не в "своей компании". Мне многое не понятно, какой трал в описании, какому соответствует в библиотеке? Зачем их столько много? Почему они не работают одновременно? Какова результативность их применения? и т.д.
Друзья, а нет ли у Вас, для начала, ОДНОГО максимально простого трала, который при достижении заданного профита устанавливает стоплосс в безубыток? Причём надо что бы одновременно работало несколко таких тралов на одной валютной паре.
Здравствуйте, YuriF.
Ну почему же вы так сразу "противопоставляетесь"? Согласен, иногда можно наблюдать примеры того, когда "кодится скорее ради кода, чем собственно торговли", однако все, что я до сих пор писал, так или иначе было нужно для решения каких-то торговых задач. Не скажу, что использую в своей торговле все представленные трейлинговые функции, однако некоторые - регулярно (трейлинг "по теням" и "по фракталам"). Относительно ваших вопросов:
а) названия тралов в описании и в библиотеке - в описании каждой функции приведено ее конкретное названиие, напр., трейлингу, который я назвал "стандартным-ступенчастым" (из-за особенностей алгоритма, соответствует функция
Я не назвал ее TrejlingStandartnyjStupenchastyj, но указываю конкретное название, мне казалось, что разобраться не так сложно;
б) "Зачем их (функций трейлинга) столько много?" и "Почему они не работают одновременно?" Функций много, чтобы трейдер мог выбрать ту, которая, на его взгляд, наилучшим образом подходит для конкретной торговой системы (советника). Относительно второй части вопроса: YuriF, а как вы представляете себе одновременный трейлинг одной и той же позиции на расстоянии в 30 п. и 15 п.?
в) результативность применения. так уж повелось, что разные торговые системы открывают позиции не в одних и тех же местах, соответственно, тот вариант трейлинга, который хорош для одной, скорее всего, не подойдет для другой. У меня есть определенные сравнительные результаты разных видов трала для своих систем, но, боюсь, что они мало чем будут полезны вам или кому-то другому;
г) насчет переноса в БУ при определенном профите - пожалуйста, попробуйте;
д) "Причём надо чтобы одновременно работало несколко таких тралов на одной валютной паре". Это как? Одна позиция - один трейлинг (одновременно). Сколько позиций "на одной валютной паре" откроете, столько и тралить можно.
YuriF, желаю вам успеха в торговле и самообразовании! С уважением.Я занялся изучением языка MQL4 относительно недавно (в конце марта 2007). Поэтому с признательностью приму любые конструктивные замечания, советы, предложения, идеи и прочее относительно представленных выше функций. Надеюсь, они будут для Вас полезными.
При работе с Глобальными переменными терминала хорошим тоном является использование разных имен в случае тестирования и работы на реале. Иначе тестируемый советник может нарушить алгоритм работы советника, работающего на реале.
Это конструктивное предложение ;)
Это конструктивное предложение ;)
И надо бы предусмотреть одновременную работу нескольких экспертов.
Я бы вообще сделал имя переменной, хранящей расстояние до СЛ = тикету ордера. Тогда для каждого ордера была бы своя переменная и не было бы конфликтов.
И надо бы предусмотреть одновременную работу нескольких экспертов.
Слово за слово, и написал =)
Функция KillLoss выглядит так:
После ее использования в тестере необходимо удалить ненужные переменные (иначе при повторном тесте трейлинг будет работать неправильно):