Артём, Ваш трейлинг по PSAR работает совершенно неправильно. Не объяснить на словах, внимательно рассмотрите каждое закрытие. Закрывается не вовремя, и не закрывается вовремя. Может закрыться лонг при нисходящем PSAR, а должен только при восходящем. Может вообще пропустить несколько переключений PSAR, хотя во время них были условия закрытия.
В коде слишком большое упрощение - просто берётся значение PSAR и используется как SL. Наверное, для мувингов это должно работать.
Посмотрите, как я контролирую условие закрытия:
if (tick.ask > PSAR_BufClose[0] && PSAR_BufClose[1] < PSAR_BufClose[0]) { buy = PSAR_CloseWeight; return; } if (tick.bid < PSAR_BufClose[0] && PSAR_BufClose[1] > PSAR_BufClose[0]) { sell = PSAR_CloseWeight; return; } if (tick.bid < PSAR_BufClose[0] && tick.ask > PSAR_BufClose[1] && PSAR_BufClose[1] < PSAR_BufClose[0]) { buy = PSAR_CloseWeight; return; } if (tick.bid < PSAR_BufClose[1] && tick.ask > PSAR_BufClose[0] && PSAR_BufClose[1] > PSAR_BufClose[0]) { sell = PSAR_CloseWeight; return; }
Здесь PSAR используется не для установки скользящего SL, а для выдачи сигнала, но суть та же.
Но, как обычно, всё, что использует Position...(), полностью непригодно для неттинга при работе более одного робота на символе или при ручной торговле параллельно с роботом.
Для этого надо вести виртуальные позиции в роботе. И стопы ставить отложенными ордерами.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Как сделать любой тип Trailing Stop и подключить к советнику:
В статье рассмотрим классы для удобного создания различных трейлингов. Научимся подключать трейлинг-стоп к любому советнику.
В продолжении темы о трейлинг-стоп, начатой в прошлой статье, сегодня рассмотрим классы трейлингов для удобного создания различных алгоритмов трала StopLoss позиций. На базе созданных классов можно будет делать любые алгоритмы для смещения стопов: по отступу стопа от текущей цены, по индикаторам, по указанным значениям уровней StopLoss, и т.д. После прочтения статьи, мы сможем создавать и подключать к любым советникам любые алгоритмы смещения стопов позиций. При этом само подключение и использование трала будет удобным и понятным.
Рассмотрим вкратце алгоритм работы трейлинг-стоп. Условимся, что для каждого трала можно использовать три условия его работы:
Эти три параметра могут быть применимы к любому тралу. Любой из этих параметров может как присутствовать в настройках трала, так и отсутствовать в случае, если он не нужен, либо заменяется каким-либо значением в алгоритме трейлинга. Примером замены параметра "дистанция трала" может служить значение индикатора, на которое устанавливается стоплосс позиции. При этом, если задействовать этот параметр, то стоп будет устанавливаться не на цену, указанную индикатором, а с отступом от указанной цены на значение дистанции в пунктах.
Автор: Artyom Trishkin