Archive Page 2

Риск, это основное средство производства, для извлечения профита из рынка.
konkop


Любой трейдер у кого больше одной системы наверняка задавался вопросом, о том, как его системы будут работать вместе. Следующий код позволяет складывать equity нескольких систем в одну и тестировать результат на доходность и просадку.

Дополнительные возможности

1. Можно добавить бенчмарк, и посмотреть как составная эквити ведет себя по сравнению с индексом.
2. Можно также рассчитать к-ты Шарпа, Альфа и Бета.
3. Для каждой системы можно задать свой вес при тестировании.

Continue reading ‘Тестирование портфеля МТС и составная equity’


Возвращаясь к терминам бизнеса, edge – конкурентное преимущество, это то, что не видят другие. В узком смысле это система, позволяющая стабильно получать прибыль. В широком же смысле, как я считаю, это особый тип мышления трейдера – именно та пропасть отличающая 90% обывателей от 10% настоящей элиты.

В 60-х годах в Америке люди сделали миллионы долларов на обычных скользящих средних, в 80-е использование компьютеров давало неоспоримое преимущество. В наше время все сложнее и сложнее найти преимущество на рынках, которые становятся все более эффективными.

Хотя не все так плохо Continue reading ‘В поисках edge’a часть 2 (Новый взгляд)’


Нередко читая очередной форум или журнал по трейдингу, можно встретить непонятные выражения вроде «в этом методе мой эдж» или «никакого эджа здесь нет». Существует даже журнал: «Your Trading Edge».

Edge – (c англ.) переводится как пропасть, обрыв. Метафорически это та пропасть между людьми, которые зарабатывают и теми, кто теряет деньги на бирже. Любому трейдеру известно, что меньшинство выигрывает деньги у большинства. Но любой новичок Вам заявит, что именно он входит в эту самую элиту.

Очень люблю сравнивать трейдинг с бизнесом Continue reading ‘В поисках edge’a часть 1 (Главные вопросы)’


Следующая формула показывает как использовать механизм Custom backtest procedure на низком уровне.
Также позволяет входить/выходить по нескольку раз на одном баре по одному и тому же инструменту.

Идея: если переписать данный код, то я думаю можно его приспособить для тестирования стейтментов реальных сделок, прочитав их например из текстового файла, можно нанести все сделки в виде сигналов на график(или напрямую в backtester’е) просчитать по ним статистику, построить эквити и т.п. Вся прелесть в том, что если в стейтменте отображены сделки по нескольким системам, например разнонаправленные позиция в одно и тоже время по одному инструменту, но каждая сделка будет обсчитана отдельно.


// This is sample formula that allows
// to open multiple, separate positions on the same symbol
// without averaging effect (i.e. each position on the same
// symbol is completely independent).
//
Continue reading 'Custom backtest low-level'


Данный скрипт умеет также экспортировать тикеры целыми категориями.
Для запуска сначала заплотить индикатор, потом в параметрах выбрать что будет экспортировать.

Также следует указать путь, куда будут сохраняться файлы, и категорию, для export whole category.

Также можно раскомментировать фильтр «левых» открытий для котировок с Финама.

export=ParamTrigger("Export
whole market?"
,"Yes"); //Параметр триггер, запускает процедуру экспорта

export_sym=ParamTrigger("Export
current symbol?"
,"Yes"); //Параметр триггер, запускает процедуру экспорта

 

_N(exportDir = "e:\\_Work\\AnalysisEOD\\"); // Куда
сохраняем

 

SetBarsRequired(100000,100000);

_N(TickerList = CategoryGetSymbols(categoryMarket,0)); //какую
категорию экспортируем, см. хелп по CategoryGetSymbols()

Скрипт для экспорта котировок из Ami в текстовые файлы. Переименовать в afl, или открывается Wordом.


Идея плагина возникла после прочтения следующей статьи ( оригинал ):

Tick Compressor
О программе

TickCompressor – набор макросов для работы в Exel, предназначенный для выполнения двух задач. Первая – «сворачивание» исходного ряда потиковых данных с ММВБ в более короткий ряд сделок, позволяющий выявлять крупнолотовые сделки. Вторая – присвоение каждой сделке в «свернутом» ряду положительного или отрицательного знака, в зависимости от того, была ли это активная продажа или активная покупка.
Continue reading ‘Tick Compress Plugin’


В книге Дорси про Крестики нолики, он высказывает такую мысль, что сентимент можно мониторить смотря как торгуются большие пакеты акций.
В моем понимании нам нужна тиковая история сделок, ставим фильтры на объем тика (например тики с объемом меньше 5000 (от балды взято) не берем в расчет), пакеты которые куплены выше цены предыдущей сделки – будем считать что большие дяди имеют желание купить, ниже ее – продать. Т.к. большие пакетики имеют тенденцию исполняться с проскальзыванием, в следствии чего нам не нужны будут данные бидов и асков, чтобы посмотреть по биду или аску была сделка.
На основе этого создать некий кумулятивный индикатор, бычьего и медвежьего объема. «Фундаментальная» идея этого метода, взята у Штедлмаера (Steidlmayer Peter J – создателя MP) – «долгосрочные игроки никогда не торгуют друг с другом в одно время и по одной цене.» Тем самым мы получаем некий индикатор сентимента с помощью объема.
Continue reading ‘Объем как индикатор сентимента’


Простой плагин отображает Профиль рынка на графике цены.

С помощью этого профиля можно создавать и составные профили, в примере компрессия 2дня. Первый параметр в секундах, поэтому можно задать хоть 25 сек компрессию никто слова не скажет, можно хоть по 12 мес профили строить. Всех вопрошающих отсылаю к справке ами.
Предупреждаю никаких проверок на соответствие данных в коде нет, поэтому чуть че не так Ами может слететь.

Для запуска нужно скачать ДЛЛ и применить следующий AFL код:
Market Profile Plugin DLL

_SECTION_BEGIN("Price");

SetChartOptions(0,chartShowArrows|chartShowDates);

_N(Title = StrFormat("{{NAME}}
- {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%)
{{VALUES}}"
, O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));

Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );

_SECTION_END();

BarEnd =
EndValue(BarIndex());//IIf(Bv
== 0 , LastValue(BarIndex()), EndValue(BarIndex()));


BarBegin =
IIf(BeginValue(BarIndex()) != 0,BeginValue(BarIndex()), (BarEnd = 1001)*(BarEnd-1000)
);
//

//MarketProfile(num
Period,num BarBegin,num BarEnd,ProfileColor,Backgroundcolor);


MarketProfile(inDaily*2,BarBegin,BarEnd,colorRed,2);


adGraph lib версия 1.5.2

Решился недавно переписать весь код, что имелся у меня на AFL в DLL, т.к. в AFL эти вещи ужасно тормозили. В результате перфоманс увеличился в несколько раз.

Что умеет в эта dll:
1. Renko – как логарифмический, так и по ATR, и с фиксированным кирпичиком.
2. XO logarithmic – логарифмические крестики-нолики. Простые пока не реализованы.
3. Kagi – графики каги как с % свингом, так и с ATR или с фиксированным.
4. Three Line Break – графики трехлинейного прорыва.

Краткий список параметров:
"adGraph_RenkoLog( nBrickSize , nReverse )", { adRenkoLog, 0, 0, 2, 0, NULL },
"adGraph_Renko( arrBrickSize , nReverse )", { adRenko, 1, 0, 1, 0, NULL },
"adGraph_XOLog( nBoxSize, nReverse )", { adXOLog, 0, 0, 2, 0, NULL },
"adGraph_Kagi( narrSwingSize, bUsePercentSwings = 1 )", { adKagi, 1, 0, 0, 1, kagi_def } ,
"adGraph_TLB( nLinesToBreak )", { adTLB, 0, 0, 1, 0, NULL } ,

Внимание: требуется регистрация в форуме!
Версия 1.5.1(старая) + примеры на AFL

Версия 1.5.2 (последняя) без примеров

Так это все выглядит:
Крестики-нолики
XO

Ренко
Renko

Каги
kagi

Three line break
Three line break