Избранное трейдера Adec59ru
Сегодня теханализ рекламируется на каждом шагу. Но душа просит подтверждений, неужели он так хорошо работает. Чтобы убедиться, мы обратились к выдающимся трейдерам и их историям. Ниже читайте истории богатейших трейдеров, которые практикуют теханализ.
Лучшие технические трейдерыРаботая фондовым аналитиком, он почувствовал отвращение к своей работе. В поисках безрисковых точек входа Шварц разработал несколько технических индикаторов. И успех пришел, когда Марти полностью сконцентрировался на техническом анализе и математическом ожидании.
Его счет поднялся с 40 тысяч до 20 миллионов. В 1984 году он выиграл чемпионат США по инвестициям. На вопрос, работает ли теханализ, Марти Шварц отвечает: «Девять лет я ковырялся с фундаментальным анализом, а разбогател только взявшись за технический».
Трейдеры скорее прогорят, чем признают ошибку… Я начал выигрывать только когда смог сказать себе: «Плевать на самооценку, нужно заработать денег».
Вот есть у меня сторожевая программа для роботов, сигнализирует о всяких ситуациях мелодиями.
Или робот вошел в сделку, и не всегда понятно что именно купил, сишку там, золото или брент.
И сколько мешков уже взял. Решил чуток дописать, что бы понятно, по русски говорил.
Поделюсь инструкцией, как это сделать пошагово.
1. Качаем с страницы http://golosknigi.com/page5.html
движок RHVoice. Это ссылка «Скачать RHVoice» справа, ближе к низу.
2. Распаковываем, устанавливаем RHVoice куда надо по умолчанию.
3. В командной строке (Start->Run...) вводите команду
%windir%\sysWOW64\speech\SpeechUX\SAPI.cpl
Откроется панель управления SAPI. Она 32 битная, но будет работать на Win7 64-битной (как у меня).
Выберите голос Aleksandr+Alan в качестве голоса по умолчанию. Можно любой другой, но не все голоса говорят по английски и по русски. Какой то по английски только, другой по русски.
4. Делаем в Visual Studio консольное приложение на C#. Я использую Visual Studio 2015, но наверняка будет работать и в раньших версиях (может в 2008 даже будет).
Тест стратегии из поста 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]; } } }
Подумал, что многие не знают, как подступиться к языку Qlua и запустить робота в квике. А между тем, это настолько просто, что даже не требует ничего кроме квика, виндусовского блокнота и знаний самого Qlua.
Qlua – это скриптовый язык поддерживаемый квиком, в основе язык lua 5.1 (в моем квике версия такая).
Скрипты, написанные на Qlua – это обычные текстовые файлы, которые имеют расширение «.lua». То есть можно сделать файл в обычном блокноте и после сохранения поменять в нем расширение с «.txt» на «.lua». Если внутрь этого файла записать инструкции кода на языке Qlua, то квик будет выполнять их.
Для удобства написания инструкций кода лучше пользоваться не виндусовым стандартным блокнотом, а например Notepad++, который можно скачать официально и бесплатно здесь https://notepad-plus-plus.org/download/v6.9.1.html. Он позволяет включить подсветку синтаксиса различных языков программирования, в том числе и lua, что очень помогает при написании кода.
В Notepad++ в «Опции -> Настройки» можно выбрать русский язык, а в «Опции -> Определение стиля» установить для lua понравившийся стиль отображения. Я для «Язык -> lua» ставлю стиль «Выбрать стиль -> Bespin» и еще в окошке «Стиль» для последних трех «FUNC» переопределяю цвет, иначе они с фоном сливаются.
Settings={ Name = "Fractal_Chennal", period=5, line={ { Name = "Level_High", Type =TYPE_LINE,-- = LINE --линии = DASH -- тире = POINT -- точки Width = 1, Color = RGB(0,255, 0)--green }, { Name = "Level_Low", Type =TYPE_LINE, Width = 1, Color = RGB(255,0,0)--root }}} idx_prosl=0 function Init() return 2 end function OnCalculate(idx) if idx==1 then P = math.floor(Settings.period/2)*2+1 message("Код бумаги: "..getDataSourceInfo().sec_code.." ; период индикатора: "..P,1) t_H,t_L={},{} end if idx~=nil and idx>P then if idx_prosl~=idx then local l=idx-P for l=l,idx-1 do t_H[l]=H(l) t_L[l]=L(l) end if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then H_ind_value=t_H[#t_H-(P-1)/2] end if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then L_ind_value=t_L[#t_L-(P-1)/2] end end else H_ind_value=nil L_ind_value=nil end idx_prosl=idx return H_ind_value, L_ind_value endКак пользоваться: