Избранное трейдера dt-msk
Тест стратегии из поста http://smart-lab.ru/blog/343965.php
Формализовал стратегию так, как я ее понял.
1. Входа на следующий день, после обновления исторического хая. Тут есть неточности — историю брал с 2005 года. Не факт, что all time high был на этом промежутке.
2. Предыдущее обновление хая было больше 90 дней назад и менее чем 200 дней назад.
3. Примерно 500 ликвидных бумаг с NYSE/NASDAQ/AMEX. Без учета делистинга, без учета комиссий, без учета платы за плечо. Вроде бы без дивидендов (не уверен), дейли дата взята с Google Finance.
4. Стоп в примере — 3%. Тейк — 90%. Можно взять больше стоп, результаты не критично меняются.
5. Вход фиксированным BP на позицию. (взял 1000 на позу)
Код Multicharts.Net
using System; using System.Drawing; using System.Linq; using PowerLanguage.Function; using ATCenterProxy.interop; namespace PowerLanguage.Strategy { public class _INTEST_by_high_daily : SignalObject { public _INTEST_by_high_daily(object _ctx):base(_ctx){} private IOrderMarket buy_order; private IOrderMarket sell_order; double previous_high; double previous_high_low_range; double all_time_high; protected override void Create() { // create variable objects, function objects, order objects etc. buy_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy)); sell_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell)); } protected override void StartCalc() { all_time_high =0; } protected override void CalcBar() { // strategy logic if (Bars.High[0]>previous_high && previous_high_low_range<previous_high && previous_high == all_time_high) { buy_order.Send(); } if (StrategyInfo.MarketPosition>0 && Bars.Close[0]>StrategyInfo.AvgEntryPrice*1.9) sell_order.Send(); previous_high = Bars.High.Highest(200); previous_high_low_range = Bars.High.Highest(90); if (Bars.High[0]> all_time_high) all_time_high = Bars.High[0]; } } }
Cегодня наш исполнительный директор Анатолий Князев поделился на FinBuzz своим опытом трейдинга.
1. Фокусируйтесь не на том, как заработать, а на том, как не потерять. Многие инвесторы приходят на рынок с целью заработать как можно больше и как можно быстрее – желание, в общем-то, понятное, но оно приводит к тому, что люди берут на себя излишние риски. Пол Тюдор Джонс, Стивен Коэн, Уоренн Баффет, Джим Симмонс – все эти люди по-разному заработали свои состояния, но их всех объединяет один факт – они не потеряли свои деньги.
2. Не принимайте убытки слишком близко к сердцу. Вне зависимости от вашей осторожности, опыта и знаний в любой торговле будут убыточные сделки. Несмотря на то, что убытки, конечно же, нужно стараться минимизировать, не стоит впадать и в другую крайность – а именно: активно пытаться их избегать любой ценой. На фондовом рынке невозможно заработать не рискуя, и порой вы будете терпеть убытки – главное, это соблюсти правильный баланс между риском и доходностью.
Большинство трейдеров знают важное правило биржевой игры: если ты купил акцию, а она подешевела, то не спеши её продавать. Скорее всего, она рано или поздно вернётся на былую позицию, да ещё и пойдёт вверх. Вопрос лишь в том, когда это произойдёт. Очень часто трейдер ждёт месяц, год, десять лет — а цена акции “на место” не возвращается. Вроде бы и фирма не банкрот, и кризисов особых нет — но котировка как когда-то просела, так и “толчётся” недалеко от цены покупки. И скачет по всякому, а возвращаться не хочет. Как будто специально, чтобы тебе “насолить”. Но злого умысла тут нет, а есть очередной парадокс теории игр.