Избранное трейдера TDM
Могут ли акции падать во время роста ставок ?
Было только два случая, когда акции упали во время роста ставок.
Ура, наконец демо-версия готова!
ВАЖНО! Те, кто уже скачал архив в день размещения топика, перекачайте — он исправлен! Ссылка обновлена.
Для тех, кто пропустил:
— https://smart-lab.ru/blog/697641.php немного картинок
— https://smart-lab.ru/blog/700079.php видео работы скрипта
Итак, еще раз, что такое SmartMap? Это срез стакана, который остается на графике в виде меток, что позволяет нам видеть когда и где были крупные скопления, как они отрабатывались ценой, и где они есть сейчас. Дополнительно отображается общая ситуация по стакану в виде совокупного количества бидов и асков.
Достаточно популярная вещь у иностранцев, присутствует в большинстве импортных терминалов под названиями BookMap/HeatMap. Однако везде имеется мощный недостаток — при изменении ТФ или любого параметра, сформированный на графике рисунок «следов» исчезает. Почему? Потому что история стакана не сохраняется. Наша разработка лишена этого минуса. Меняете ли вы тайм-фрейм, какую-то настройку отображения скрипта — неважно, метки на графике остаются. Скрипт собирает историю с момента включения Квика. Все что от вас требуется — открытый стакан по инструменту.
Здравствуйте, коллеги!
Если вы хотите прикинуть вероятность «плохих» событий, смотрите на евробонды, в данном случае выпущенные Украиной. В конце ноября 2018 года произошёл инцидент в Керченском проливе и стоимость бондов резко отреагировала на это событие, поскольку вероятность прямого столкновения была крайне высока и прошлый президент пытаясь удержаться у власти хотел ввести военное положение по всей стране, бросок параболой XS1303926528 :
Облигации с погашением в 2027 году XS1303927179 цена снижается, но пока это не выглядит как паника инвесторов, за купон 7,75% в USD они готовы терпеть эти риски:
Надоело логиниться в квик каждый день по 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(); }
Доходность 10-летних казначейских облигаций США составляет 1,61%.
Доходность 10-летних корпоративных облигаций 2,09%.
Ставка по 30-летней ипотеке — 3,05%.
Несмотря на недавнее повышение, процентные ставки колеблются около исторических минимумов. Давайте не будем относится к слову «исторический» легкомысленно. Под «историческим» подразумевается самый низкий уровень с 1776 года.
Любезно предоставленный график Visual Capitalist подчёркивает эту точку зрения.
Несмотря на 300-летние минимумы процентных ставок, инвесторы начинают беспокоиться, потому что ставки растут. Как показывает история, волноваться действительно есть о чём. Данные за последние 40 лет показывает, что внезапные всплески процентных ставок и финансовые проблемы идут рука об руку.
Вопрос для всех инвесторов: насколько большим должен быть скачок, чтобы история снова повторилась?