На просторах интернета полно информации об анализе графиков цены и самых экзотических технических индикаторах. Чуть менее распространен анализ объемов торгов, по причине отсутствия такового у форекс-брокеров, активно популяризирующих биржевую торговлю. Не сложно найти неплохой учебник по инвестированию и фундаментальному анализу. Но вот, что касается использования ленты сделок и биржевого стакана, здесь русскоязычные ресурсы ограничиваются разъяснением терминов «бид», «аск» и спред, на чем весь анализ этих инструментов, по сути, и заканчивается. Есть неплохие видеоматериалы, но они преимущественно описывают ситуации на рынке США, где ECN и «дарк-пулы» вносят свои коррективы в механику торгов. Данная статья призвана хоть немного, но ликвидировать этот пробел и рассказать о том, как и зачем эти инструменты могут быть использованы на российском рынке обычным частным инвестором.
Анализ графика проведен с помощью аналитической программы по автоматическому анализу биржевых графиков PATTERN ANALYZER.
17.11.2017 в 15-10 мною был опубликован сигнал программы PATTERN ANALYZER по фьючерсному контракту на нефть BRZ7: на графике BRZ7, H1 была обнаружена фигура разворота падающего тренда «Двойное дно», данный сигнал зарылся с профитом.
Сейчас на графике 15 минут мы видим, что цена находится в рамках растущего канала. Поддержка расположена в районе 61 доллара, сопротивление 62,90., далее 64,60. Долгосрочная цель движения находиться в районе верхней границы канала уровня 67,50.
Settings= { Name = "Piton", N = 100, legend = "price2", line = { { Name = "Sint", Color = RGB(0, 132, 0), Type = TYPE_LINE, Width = 1 } } } function Init() return 1 end Candles = {}; function OnCalculate(index) local numCandles = getNumCandles(Settings.legend); if index <= Settings.N or numCandles <= Settings.N then return nil; end Candles, n, _ = getCandlesByIndex(Settings.legend, 0, index - Settings.N, Settings.N); if n ~= Settings.N then return nil; end -- Предварительный расчет sum1, sum2, sum3 = advancePaynemt(index); -- расчет коэффициента корреляции Пирсона r = sum3/math.sqrt(sum1*sum2); return r; end -- Предварительный расчет ---------------------------------------- function advancePaynemt(index) local sum1 = 0; local sum2 = 0; local sum3 = 0; local j = 0; -- Вычислить среднее арифметическое for i=index - Settings.N + 1, index, 1 do sum1 = sum1 + C(i); sum2 = sum2 + Candles[j].close; j = j + 1; end aver1 = sum1/Settings.N; aver2 = sum2/Settings.N; -- Вычислить сумму квадратов отклонений sum1 = 0; sum2 = 0; j = 0; for i=index - Settings.N+1, index, 1 do sum1 = sum1 + math.pow(C(i) - aver1, 2); sum2 = sum2 + math.pow(Candles[j].close - aver2, 2); j = j + 1; end -- Вычислить сумму произведений разности j=0; for i=index - Settings.N+1, index, 1 do sum3 = sum3 + (aver1 - C(i))*(aver2 - Candles[j].close); j = j + 1; end return sum1, sum2, sum3; endКак запустить и настроить: