Избранное трейдера Иннокентий Антипов

по

Анализатор спреда (спот-фьючерс) для QUIK.

В свое время у меня была задумка — посмотреть какой в реальности (включая комиссии) спред между спотом и фьючерсом и стОит ли его торговать. Так как, ни С#, ни Lua я, пока, не изучил, то пришлось писАть на Qpile…

Торговый функционал в скрипте не прописывал, поэтому его можно использовать только, как анализатор.

Кому надо – забирайте, так как я решил для себя дальше эту тему не развивать (по крайней мере пока)…

Выглядит интерфейс вот так:

Анализатор спреда (спот-фьючерс) для QUIK.

Особенности:

— текущий фьючерс определяется автоматически, в день экспирации автоматически переключается на новый;

— перед использованием надо указать папку в настройках пользователя для расчетов;

— в скобках отражается средний процент за последние 500 замеров для объективности расчетов (цифру можно менять в настройках пользователя);



( Читать дальше )

Quik. Индикатор корреляции

    • 02 ноября 2017, 16:21
    • |
    • Karim
  • Еще
Написал на досуге по просьбе одного из участников смартлаба индикатор корреляции.
Индикатор простенький, считает коэффициент корреляции Пирсона
для двух выбранных инструментов на заданном таймфрейме.
Выкладываю исходный код. Может кому то пригодится.

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

Как запустить и настроить:


Архив исходника на QLua: https://yadi.sk/d/OxDvAekV3PLn2z
  • обсудить на форуме:
  • QUIK

ИНДИКАТОР ОТКРЫТЫХ ПОЗИЦИЙ ФИЗИЧЕСКИМИ И ЮРИДИЧЕСКИМИ ЛИЦАМИ

Комплект индикаторов из серии «черпаем издалека и намазываем на график».

 

Сайт московской биржи по окончании торгов приводит данные об открытых позициях на срочном рынке. Эти данные содержат информацию в следующих разрезах:

  • типе владельца позиции (физическое или юридическое лицо),
  • типе позиции (короткая или длинная)
  • размере позиции в контрактах
  • изменениям по отношению в предыдущему дню (в количестве контрактов и процентах)

 

Эта информация является официальной. Она не всегда совпадает с количеством открытых позиций, которые показывает терминал Quik. Вернее она всегда показывает немного больше открытых позиций, чем терминал. Как я понимаю, дело во внебиржевых сделках, которые в терминал не попадают.

Информация интересная. На предложение визуализировать её я с удовольствием прикинулся золотой рыбкой. Написан шаблон, генерирующий комплект индикаторов, которые выводят на график историю как сырых данных, так и результат определённых математических действий над ними.



( Читать дальше )

кто там фьючерсами (FORTS) торгует?

вот вам портфель для QUIK (на вечерке возможны глюки, пока не проверял, жду вечерку).
он быстренько считает прибыль / убыток по каждой позиции и общую.

Считает внутри дня, и за месяц (в скрипте укажите ваш начальный баланс за месяц. Открывается скрипт простым Блокнотом)

Поставьте его, скажите какие есть ошибки? Баланс там не правильно показывает, или еще что.

как поставить: в QUIK нажимаем CTRL+F11 далее ДОБАВИТЬ (указываем файл), далее ПЕРИОД РАСЧЕТА поставьте на 1 секунду. ПРИМЕНИТЬ
далее снова CTRL+F11 — создать таблицу, выделяем наш скрипт, добавим все колонки (ДОБАВИТЬ ВСЕ) и жмем ДА

Когда будете писать ошибку, напишите какой у вас брокер.
Если все хорошо, можете просто написать что еще сделать.

>>> СКАЧАТЬ <<<

биржевая сводка


UPD1
14 июля в 19:47 нашел на вечерке ошибку.
Все поправил — можно обновиться

UPD2
15 июля в 10:40
Подправил работу со временем локальным и серверным. 
Из-за этого выборка по позициям шла коряво в клиринг и выходные

  • обсудить на форуме:
  • QUIK

Дивидендный робот

Написал робота, который читает Смарт-Лаб :)
Он заходит на страничку с дивидендами:
smart-lab.ru/dividends/
берёт тикер и дату среза реестра (Т+2), и если сегодня акция последний день торгуется с дивидендами, пишет в КВИКе:
Дивидендный робот
Первая цифра: дивиденд в рублях, вторая цифра — див.доходность в процентах. (Без налога)
В день, когда гэп произошёл, он напишет, что сегодня гэп по такой-то акции.
Самую сложную часть робота написал Николай Камынин (программист), за что ему большое спасибо. Моя часть работы была совсем простой.
Чтобы увидеть эти сообщения, надо открыть окошко сообщений в КВИКе.
Делается это так:
Дивидендный робот

( Читать дальше )
  • обсудить на форуме:
  • QUIK

tslab, давай до свидания

Сегодня получил письмо от брокера.
«С 1 июня приказом увеличивается стоимость стандартной версии программы «TSLab» с 2 880 до 3 450 рублей.»
Этот месяц будет моим последним с использованием тслаба.


( Читать дальше )
  • обсудить на форуме:
  • TSLab

....все тэги
UPDONW
Новый дизайн