Избранное трейдера sasha
В результате долгих поисков и исследований алгоритмов, мне не удалось найти что-либо стоящее в торговле интрадей из простых систем. Импульсные стратегии работали короткое время, MeanReversion практически не работали никогда. Исследования с использованием однородных фильтров (скользящих средних), коэффициентами бета, средними регрессиий, были очень продолжительными. Они также затронули область многоуровневого маркет-мейкинга, в котором основной вопрос сводился к правильному определению нулевого уровня. До этого применялись достаточно успешно трендовые торговые системы (на длительных интервалах), и парный трейдинг. Основная черта всех торговых стратегий, жёстко алгоритмизированных, состоит в том что рано или поздно они перестают работать. Надо этот факт учитывать в применении торговых систем. С этой точки зрения считаю очень полезной статью которая даёт обоснованный алгоритм оценки работоспособности системы (ссылка на статью www.quantalgos.ru/?p=567). Кроме этого, необходимо обязательно диверсифицировать системы по параметрам, и по «движку». Преимущественно методы диверсификации необходимо применять в парном и баскет трейдинге. Часто бытует мнение, что парная торговля это граальные системы. Но разочаровывающий опыт показывает, что только широкая диверсификация и большой капитал способны парную торговлю сделать прибыльной в долговременной перспективе. Тем не менее поиски более эффективной торговли продолжаются. Ниже я приведу результаты исследований стратегии маркет-мейкинга, благожелательно опубликованной автором сайта http://www.quantalgos.ru (начало www.quantalgos.ru/?p=51 smart-lab.ru/blog/244854.php).
Есть много хороших систем торговли но и много где я читаю: важно место входа, важно место выхода бла бла бла. А вот как определить ети места?? мало кто говорит, кроме общих фраз нечево не нахажу! По этому виложу свое видение движения рынков в систематизированном порядке типа по Элиоту ( потому что нашлась книжка Роберта Балана, где разсказано как торговать по элиоту) а потом как я сам это применяю. Это не граль конечно каждыи должен наидти своё.
Для начало отделим мух от котлет. это важно так как путаница вызывает непонятие.
Волна — ето движение в одном направлении плюс корекция.
Импульс это только устремленное движение в одном из направлении без корекции.
Может ли простой метод действительно повысить прибыльность торговли? Давайте посмотрим.
Покупайте на минимуме и продавайте на максимуме. Это легко запомнить, но так ли легко применить на практике? В данной статье рассмотрим, как работает этот простой метод распознавания моделей и как он может улучшить ваше финансовое состояние.
Рисунок 1
На бирже не все так радужно как некоторые думают, это бизнес акул, одни имеют других.
Вот интересная ситуация которую мы обсуждали 19 Июня прям перед накачкой LIVE, когда он еще стоил 6$
Такое письмо скинул investorslive, прочитайте очень интересный дисклаймер)))
Нельзя предсказать будущее, но можно получить определенные сигналы от графиков. В данной статье будет приведена одна из возможных формаций, которая с высокой доле вероятности способна предсказать будущее направление движения цены.
Рынок развивается, сегодня он не такой, как был раньше. Прочесть классическую книгу о финансовых рынках сегодня — как глоток свежего воздуха. Одной из лучших книг, которые могут принести пользу, является «Секреты получения прибыли на бычьих и медвежьих рынках» Стэна Вайнштайна. Хотя она была опубликована в 1988 году, ее должен прочесть каждый уважающий себя инвестор или трейдер. Одной из причин, по которой она будет особенно полезной, является то, что при рассмотрении рынка в ней отбрасываются в сторону все сложные моменты. Анализ проводится для долгосрочных графиков и целей. Это то, что, пожалуй, забыто новым поколением трейдеров в сегодняшних условиях бесконечной гонки вооружений с целью получения более быстрой и полной информации. Такая погоня за скоростью дает частичную иллюзию контроля.
//Читаем их Excel данные в массив List getParamsFromExcel(string filePath) { //С какой строки начинаем читать данные int start_from_row = 2; //Индекс колонки с Тикером int symbol_index = 1; //Индекс колонки с типом ордера int order_type_index = 2; //Индекс колонки с ценой входа int entry_price_index = 4; //Индекс колонки с ценой стопа int stop_price_index = 5; //Индекс колонки с временем входа int entry_time_index = 7; int current_index = start_from_row; //Текущий символ графика string read_symbol = Bars.Symbol; //Текущий считанный из Excel символ string current_symbol; //Список параметров считанный из Excell List result; result = new List(); //Переменная Excel приложение Excel.Application xlApp; //Переменная рабочая книга Excel.Workbook xlWorkBook; //Переменная рабочий лист Excel.Worksheet xlWorkSheet; //Переменная диапазон Excel.Range range; //Инициализируем переменные xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(filePath); xlWorkSheet = xlWorkBook.Worksheets.get_Item(1); range = xlWorkSheet.UsedRange; //Считываем тикер из Excel current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2; //Читаем тикеры, пока не наткнемся на пустую строку while(current_symbol != null) { //Если считанный тикер совпадает с тикером графика, на котором запустили робота if(read_symbol == current_symbol) { //Читаем и добавляем параметры ордера result.Add(new OrderParams { ePrice = Convert.ToDouble((range.Cells[current_index, entry_price_index] as Excel.Range).Value2), sPrice = Convert.ToDouble((range.Cells[current_index, stop_price_index] as Excel.Range).Value2), eTime = DateTime.FromOADate((range.Cells[current_index, entry_time_index] as Excel.Range).Value2), pType = ((string)(range.Cells[current_index, order_type_index] as Excel.Range).Value2 == "Short" ? PositionType.Short : PositionType.Long) }); } current_index++; //Считываем очередной тикер current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2; } //Закрываем рабочую книгу xlWorkBook.Close(true, null, null); //Выходим из приложения xlApp.Quit(); //Уничтожаем созданные объекты releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); return result; } //Уничтожаем переданный объект private void releaseObject(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; } finally { GC.Collect(); } }