Фьючерс на доллар-рубль сегодня несколько раз подходил к нижней границе своего коридора, в котором двигался вчера и большую часть сегодняшнего дня, и все же под вечер пробил ее. Но из этого движения, как показало дальнейшее развитие событий, пока никакого тренда не получилось. Фьючерс на акции Сбербанка, который торгует База, попытался продолжить свой рост, но быстро скатился в коррекцию с последующим боковиком. База – это заготовка для ТС, которую я с помощью моих друзей из Фейсбука рассчитываю за время данного сериала улучшить. Сегодня я доработал в Базе скользящий стоп. Сделал его двухуровневым. Подробности см. в прилагаемом видео.
У каждого дня — своя картинка. Сегодня фьючерс на доллар-рубль, который торгует ТС «ТСН3», двигался в канале шириной примерно 300 пунктов. Фьючерс на акции Сбербанка, который торгует База стоял на месте до 17.00, а потом то ли на слухах о дивидендах, то ли еще на чем-то взлетел вверх. База – это заготовка для ТС, которую я с помощью моих друзей из Фейсбука рассчитываю за время данного сериала улучшить. В основе Базы – скользящая средняя. По мнению одного из моих друзей в Фейсбуке, строить ТС на скользящих средних – это тупиковый вариант развития. Этот мой друг — автор нескольких успешных ТС и неоднократный участник другого моего сериала «Полигон для новичка», и у меня нет оснований не прислушаться к его мнению. Поэтому модернизацию Базы я начал не с изменений условий входа, а с изменений условий выхода.
Подробности см. в прилагаемом видео.
Вчерашний день на рынке был достаточно скучным. Фьючерс на доллар-рубль, который торгует ТС «ТСН3», можно сказать, двигался в боковике. Фьючерс на акции Сбербанка, который торгует база, подрастал, но значительно слабее, чем днем ранее. База – это заготовка для ТС, которую я с помощью моих друзей из Фейсбука рассчитываю за время данного сериала значительно улучшить. Уже поступило первое предложение. Добавить весьма оригинальный, как мне кажется, фильтр на вход – угол наклона скользящей средней.
Подробности см. в прилагаемом видео.
Наблюдение за рынком само по себе может принести существенную пользу для новичка. Но для этого нужно время, которого у новичка может не быть. Это первое, в чем может оказать помощь начинающему торговый сериал «Торговая система для новичка», который я начинаю сегодня.
Как и раньше, для того чтобы интересней было наблюдать за рынком, я сделал трендовую систему, и рынок мы будем «видеть» как бы сквозь нее. В течение 2-х недель я каждый день буду делать видео, в котором можно будет увидеть, как ведет в течения дня себя рынок, как реагирует на это сделанная мной ТС. Если ТС будет делать ошибки – хорошо. Зритель (новичок) их запомнит и уже не повторит в своей торговле. Если ТС не будет делать ошибок – тоже хорошо, так как после окончания сериала я буду готов выслать эту ТС (после выполнения небольшого, не денежного условия) любому желающему.
Приятного просмотра.
Я – профессиональный математик, автор 12 печатных работ ( мой доклад в МГУ http://www.mathnet.ru/php/seminars.phtml?option_lang=rus&presentid=16906)
Методика рабочая, нужен хороший прогер.
Привет всем! В предыдущих статьях я описывал свой тестер, разработанный на C#, и, несколько раз подчёркивал, что переключение между двумя режимами (тестирование/торговля) может быть простым. Код стратегий не должен зависеть от того, кто поставщик маркет-даты и куда уходят заявки – в тестовую базу или на сервер брокера. Конечно, это лишь один из подходов, и кому-то он покажется странным, но, главное его достоинство заключается в том, что тестирование приближается к реальности, что даёт более достоверные результаты. Вопрос в следующем: как, имея один и тот же код, получать разные по функциональности программы? Один из вариантов – использовать инверсию управления и внедрение зависимостей! Об этом сегодня и пойдёт речь.
Приведу пример нехорошего (иногда, говорят – с запашком) кода:
class Strategy { public Strategy() { var mgr = new TestOrderManadger(); mgr.PlaceOrder(...); } }
Здесь плохо то, что класс Strategy зависит от класса TestOrderManadger. В такой реализации нельзя начать использовать какой-нибудь другой менеджер заявок (AnotherOrderManadger) без перекомпиляции библиотеки с классом Strategy. Тем более тут нарушается принцип единства ответственности – класс Strategy, помимо своей прямой обязанности, также, создаёт внутри себя зависимости. Чтобы исправить ситуацию, можно использовать интерфейсы:
interface IOrderMandger { void PlaceOrder(); } class TestOrderManadger : IOrderMandger { public void PlaceOrder(){} } class Strategy { public Strategy(IOrderMandger orderMandger) { var mgr = orderMandger; mgr.PlaceOrder(...); } }