Избранное трейдера Ира Макарова
Торговля на рынке связана с периодической потерей денег, а поэтому соприкосновение с болью неизбежно. Так ли это, будем разбираться.
Изменились цифры на счете, а трейдер испытывает боль, порой очень сильную, в чем причины? Все дело в том, что в изменение этих цифр закладываются определенные смысли и вот именно они доставляют боль. Разве, если бы трейдер мог запускать мыслительный процесс, который хочет, было бы так больно?
Итак, возможные причины боли:
1) Боль возникает, когда есть угроза ценностям. Кстати, их важно осознавать, они являются опорой. Так, при потере денег могут быть нарушено удовлетворение основных базовых потребностей. Вспоминаем пирамиду Маслоу. (Безопасность, любовь, ощущение ценности, признания, потребность в самовыражении).
2) Когда Я-идеальное не совпадает с Я-реальным. Вы заходите в рынок, полны сил, энергии, надежд, в ожидании победы всех и вся, а тут раз и не случилось. И если в реальном секторе неуспех можно замазать созданием какой-либо видимости, то здесь голые цифры. Жестко и прямо. Они-либо растут или же уходят в ноль.
Что отличает выдающиеся компании от посредственных?
В книге Стивена Спира «Догнать зайца» на примере компании Toyota и других рассказывается, как они оторвались от конкурентов. Как стали зайцами, которых не догнать.
Для меня книга «Догнать зайца» относится к тем, которые необходимо прочитать. Это классика жанра. Эта книга стоит в одном ряду с другой выдающейся книгой — «Обнимите своих клиентов». Их объединяет подход. Видение бизнеса.
Главная мысль книги «Догнать зайца», как мне кажется, заключается в том, что компании-лидеры… ЗАМОРАЧИВАЮТСЯ так, как даже не может себе ПРЕДСТАВИТЬ (!) обычный человек. Toyota творит такие вещи на своих заводах, что эту книгу нужно читать представителям крупных компаний, чтобы те знали, что такое невозможно и как это преодолеть.
Руководители компаний будут РЫДАТЬ, читая эту книгу, от осознания того факта, как по-детски устроены процессы у них в организации и как это делается по уму в Японии. К слову, книга «Догнать зайца» входит в библиотеку «Сбербанка».
Globaltrans — третий железнодорожный оператор России по объему перевозок с долей рынка на уровне 8%. Компания специализируется на перевозке металлов (~40% перевозок), нефти (~32% ), и угля (~15%). С 2008 года глобальные депозитарные расписки (ГДР) компании торгуются на Лондонской бирже, в октябре 2020 они стали доступны на Мосбирже.
Чем интересен профиль компании? Инвесторы могли отметить очень высокую дивидендную доходность Globaltrans. Ранее компания платила акционерам ₽16,6 млрд в качестве дивидендов или ₽93,1 на ГДР. К текущим ценам это означало бы доходность в 18%.
Часто очень высокая дивидендная доходность акций свидетельствует, что рынок ждет сокращения выплат акционерам, что и произошло с Globaltrans. По итогам 2020 года дивиденды были снижены на 20% до ₽74,5 на ГДР (текущая ДД=14,7%)
Почему компания снижает дивиденды? Прошлый год для Globaltrans оказался очень сложным. Пандемия снизила объемы железнодорожных перевозок, что привело к простою вагонов и падению ставок аренды. В результате, годовая выручка компании по МСФО снизилась на 28%, чистая прибыль сократилась в 2 раза.
Надоело логиниться в квик каждый день по 10 раз, всё время за логином-паролем лазить в файл и копипастить. Сделал скрипт, к-й это автоматизирует. Работает на javascript, так что от версии Windows зависеть не должно.
Сам скрипт кладётся в файл типа C:\Util\Js\Q.js или куда угодно, только не у всех на виду. На этот скрипт делается ярлык, он кладётся на рабочий стол куда-то в угол, и ему прописывается горячая клавиша типа Ctrl-Alt-X или любая другая буква. После этого вы запускаете квик, появляется окно логина, нажимаете Ctrl-Alt-X и через полсекунды оно срабатывает. Важно, что ярлык должен быть на рабочем столе, иначе горячая клавиша не работает.
Вообще вводить данные в другую программу можно двумя способами: copy&paste и эмуляция клавиш. Я в данном случае пошёл по второму пути, хотя и первый тоже реализуем и даже чем-то лучше, т.к. там не надо парится с языком. Из-за этого, если вы хотите использовать этот скрипт, нужно проверить ряд моментов и при необходимости внести исправления.
⦁ В варианте, к-й я выкладываю, логин/пароль должны быть прописаны прямо в скрипте, но можно и читать из файла. У меня дома рабочий вариант вообще ищет их в rtf-файле где много всяких данных. Если логин/пароль положить во внешний файл, то их можно конечно и закодировать.
⦁ Чтобы отработало правильно, надо чтобы текущий язык ввода (по сути язык ввода по умолчанию в системе) в квике был русский. Если это не так, то вначале надо поменять bEngSystem=true
⦁ У меня логин русский, а пароль английский, так что между ними производится переключение клавиатуры. Если у вас что угодно из этого не так, надо в нужных местах убрать или добавить переменную LangSwitch, к-я содержит клавиши «Alt-Shift». Если у вас опять же язык переключается по-другому, там надо прописать другие клавиши.
⦁ У меня вводится и логин и пароль. Если у вас вводится только пароль, то поменять тоже нужно и не сложно.
В общем, можно было бы написать более универсальную версию, чтобы определяеть, когда надо переключать языки автоматом, но мне не нужно, а кому надо разберутся. Или же можно переписать через copy&paste. Делать полностью автоматизированный логин, когда вообще ничего нажимать не нужно я не хочу, потому что тогда любой, кто получит доступ к вашему компьютеру сможет получить доступ и к вашим деньгам, просто кликнув на квике. Так хоть комбинацию клавиш знать надо.
bEngSystem=false; //язык системы по умолчанию LangSwitch="%+!"; WshShell=WScript.CreateObject("WScript.Shell"); InitKeys(); KeysSeq=GetData(); if (KeysSeq) EnterData(KeysSeq); //------------------------------------------------------------------------ function GetData(){ //(Возможно) читаем данные из файла и преобразуем в последовательность клавиш //"!" означает паузу для специальных клавиш, к-е требуют время обработки var DataFN, oStream, Data, Pos1, Pos2, Line; if (0){ //данные в файле DataFN='C:/...'; FSO=new ActiveXObject("Scripting.FileSystemObject"); oStream=FSO.OpenTextFile(DataFN, 1); Line=oStream.ReadAll(); oStream.Close(); } else Line='имя:password'; //Tab должен быть и вначале, потому что при фокусировке квика текущее поле - список серверов Line="{Tab}!"+Line.replace(/:/g, "{Tab}!"+LangSwitch); //Переключение языка в самом начале если логин русский if (bEngSystem) Line=LangSwitch+Line; //конвертация русских символов Line=Line.replace(/[А-Яа-я]/g, RusCB); return Line; } function EnterData(KeysSeq){ var ret; WScript.Sleep(300); //Пауза позволяет убрать руки от клавиатуры до того, как скрипт начал работать ret=WshShell.AppActivate("Идентификация пользователя"); if (ret==0) return; WScript.Sleep(100); aSeq=KeysSeq.split('!'); for(var i=0; i<aSeq.length; i++){ Seq=aSeq[i]; if (Seq!=''){ WshShell.SendKeys(Seq); WScript.Sleep(100); } } WshShell.SendKeys("{Enter}"); //WshShell.SendKeys("%+"); WScript.Sleep(100); //switch to Russian //WshShell.SendKeys("{Tab}"); WScript.Sleep(100); //WshShell.SendKeys("^V"); WScript.Sleep(100); //paste } function RusCB(s){ var n, ch, i; if (s.length==1){ ch=s; } else{ //rtf //код символа в Ansi s=s.substr(2); n=parseInt(s, 16); ch=String.fromCharCode(n); } //Преобразовать в Utf и найти в русских клавишах i=RusKeys.indexOf(Ansi2Utf(ch)); //Найти соотв. латинскую клавишу return LatKeys.charAt(i); } //------------------------------------------------------------------------ function Ansi2UtfN(Code){ if (Code>=192 && Code<=255) Code+=848; else if (Code==168) Code=1025; else if (Code==184) Code=1105; return String.fromCharCode(Code); } function Utf2AnsiN(Code){ if (Code>=1040 && Code<=1103) Code-=848; else if (Code==1025) Code=168; else if (Code==1105) Code=184; return String.fromCharCode(Code); } function Ansi2Utf(Str, bRev){ var Buf='', Ch, Res='', c=0, L, n, f; L=Str.length; f=(!bRev ? Ansi2UtfN : Utf2AnsiN); for(n=0; n<L; n++){ Ch=Str.charCodeAt(n); Buf+=f(Ch); c++; if (c>=100){Res+=Buf; Buf=''; c=0;} } return Res+Buf; } //------------------------------------------------------------------------ function alert(S){WScript.Echo(S);} function InitKeys(){ //Проблема в том, что влияет текущий язык в той программе! //Можно нажимать только английские клавиши. Если надо нажимать русские, надо вычислить какие им соответствуют английские RusKeys="йцукенгшщзхъфывапролджэячсмитьбю"; LatKeys="qwertyuiop[]asdfghjkl;'zxcvbnm,."; RusKeys=RusKeys+RusKeys.toUpperCase(); LatKeys=LatKeys+LatKeys.toUpperCase(); }
Модель на выход из сделки
1 вариант
От уровня до уровня. Т.е. предполагается удержание сделки до следующего уровня.
Buy. Например, вход в области маркера 1. Сейчас не разбираем вход. Только выход. Слева видно сильное движение вверх, импульс, тренд. Также можно выделить два уровня: нижний и верхний. Вход в области нижнего уровня. Удержание до противоположного уровня – верхнего. Когда цена пересекает верхний уровень – выход – маркер 2.
Технический анализ акций РФ — предыдущий пост.
Торговля “лесенкой” является одним из популярных методов торговли. Все трейды лесенки прибыльные.
Рассмотрим на примере акций Роснефти.
Покупка и продажа акций происходит с определенным шагом цены.
Покупаем акции Роснефти по 450 рублей с шагом цены 50 рублей. Продажа акций тоже с шагом цены 50 рублей. Акции, купленные по 450, продаются по 500. Акции, купленные по 400, продаются по 450 и так далее. Всего 7 трейдов: 7 прибыльных, 0 убыточных.
Объем денег на одну сделку одинаковый.
Пример. На торговлю акциями Роснефти выделено 210.000 рублей, на одну сделку 30.000 рублей, соответственно лесенка по Роснефти: 450, 400, 350, 300, 250, 200 и 150. По 450 рублей будет куплено 67 акций Роснефти, по 400 рублей будет куплено 75 акций Роснефти и так далее.
Что такое динамическая лесенка и зачем она нужна?
При использовании обычной лесенки торговля ориентирована на боковик и при существенном росте цены обычная лесенка перестает приносить прибыль.