Блог им. Karim |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

Блог им. Karim |Ренко индикатор. Разработка стратегии.

    • 19 июня 2017, 16:04
    • |
    • Karim
  • Еще

   После возникновения небольшой дискуссии по поводу Ренко графиков и их полезности для трейдинга (http://smart-lab.ru/blog/404560.php)
решил попробовать сделать на основе Ренко-индикатора стратегию.

   Особо усложнять не стал. Взял самую простую стратегию, чтобы проверить идею, стоит ли копать дальше.

   Итак, стратегия. Торгуем только в шорт. Если Ренко «кирпичек» красный, то вход разрешен.
   Входим при пробое 10-барного минимума по цене закрытия бара, который этот минимум пробил.
   Закрытие позиции при появлении зеленого «кирпичика» или в конце торгового дня.
   Инструмент фьючерс рубль-доллар Si, таймфрейм 5-минутки.
   Начальный депозит 100 000 руб., торговля ведется 10 контрактами.
   Период торговли 01.01.2016 – 16.06.2017.

Итоги торговли:
Ренко индикатор. Разработка стратегии.

   Соотношение прибыльных сделок к убыточным 43/57, что вполне приемлемо.
Правда, профит-фактор маловат, всего 1,21. Но, во-первых это самая простая стратегия
без всяких треллингов и хитрых стопов. А во-вторых, никакой оптимизации.



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

Блог им. Karim |Quik. Дельта. Как правильно считать.

    • 07 июня 2017, 11:25
    • |
    • Karim
  • Еще

Казалось бы, а в чем проблема, как Quik пишет, так и считать. Написано в таблице всех сделок «Купля», значит покупка и наоборот. То есть, сделку определять по инициатору. Если сделка прошла по биду, значит это продажа. А если по оферу, значит покупка. Это стандартный подход.

         А если представить, что на рынке есть покупатель, который не хочет брать с офера. Как правило, если большой объем, то ставится бид и, затем он передвигается.

         Покупатель толкает рынок бидом на верх, набирает позицию, а стандартный индикатор дельты показывает продажу. Что немного искажает истинную картину.

         Предлагается рассчитывать индикатор дельты немного иначе. Если цена сделки выше цены предыдущей сделки (цена растет), то это покупка. И наоборот, если цена сделки ниже цены предыдущей сделки (цена падает), то это продажа.

         Если пойти дальше, то можно построить индикатор разницы двух дельт, рассчитанных по-разному. Если на рынке преобладают покупатели и сделки в основном идут с офера, цена растет, то обе дельты покажут покупки, и разница между ними будет минимальна. А если кто-то толкает рынок бидом вверх, а толпа сопротивляется, то одна дельта покажет покупки, а стандартная продажи. Разница между ними увеличится, что будет означать усиление борьбы покупателей и продавцов. В этом случае стоит подождать, и встать на сторону победителя, то есть когда дельты сравняются, зайти в рынок.

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

Блог им. Karim |Quik. Индикатор горизонтального объема и дельты.

    • 10 мая 2016, 14:28
    • |
    • Karim
  • Еще



Индикатор горизонтального объема и дельты для Квика. Работает только с фьючерсом SiM6 на минутном таймфрейме. Показывает последние 200 свечей.  
Архив: https://yadi.sk/d/mwXagg20rbYj9

Блог им. Karim |Индикатор для QUIK «Черепаший суп».

    • 18 ноября 2014, 16:20
    • |
    • Karim
  • Еще
Так и не смог разобраться, как написать в раздел «Торговые роботы», где эта загадочная кнопка «подписаться», поэтому сорри, пишу в общий.

 С начало о самой графической формации «Черепаший суп» (описана у Л.Рашки). Как известно, это ложный пробой N-барного минимума, если рассматривать лонг. 
 Индикатор для QUIK «Черепаший суп».
 Проанализировал простую стратегию. Инструмент фьючерс РТС Ri, таймфрейм 5-минутки. Только лонг, N=3 (слева и справа от минимума не менее 3-х бар), стоп на минимуме сетапного бара, тейк-профит 2 стопа. Начальный капитал 100 000 руб., риск на сделку 1000 руб (1%).Посмотрел четыре последних фьючерса Ri. Вот что получилось. Декабрь-март (RIH4).

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

....все тэги
UPDONW