Избранное трейдера Георгий Харитонов

по

Друг мой, скальпер еще тот, + 34% за день.

Общаюсь с одним знакомым. Молодой студент, скальпинг любит, впрочем, как и многие нетерпеливые трейдеры. Сразу оговорюсь, что скальпинг — очень тяжелый вид спекуляций. Но торгует он не часто, 3-5 дней в месяц, этого хватает, чтобы выглядеть не как выжатый лимон и снимать деньги с рынка.

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



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

Camarilla Equation. Индикатор для QUIK. Часть 3.

    • 22 августа 2019, 12:29
    • |
    • XXM
  • Еще
Получил такое сообщение:

привет!
у меня в квике стояла камарилла аж с 2014 года, когда вы выложили здесь этот индикатор.
квик обновился до 8 и камарилла пропала.
это не исправить?

Глянул по тэгу https://smart-lab.ru/tag/Camarilla/ и вот они:
1. Camarilla Equation. Индикатор для QUIK.
2. Camarilla Equation. Индикатор для QUIK. Часть 2.

Выкладываю вариант, не зависящий от обновлений QUIK.

-- Camarilla.lua
Settings={
	Name = "Camarilla",
	period = 'D',
	line =
		{
			{Name = "S5", Color = RGB(255, 0, 0), Type = 1, Width = 2},
			{Name = "S4", Color = RGB(255, 165, 0), Type = 1, Width = 2},
			{Name = "S3", Color = RGB(255, 255, 0), Type = 1, Width = 2},
			{Name = "PP", Color = RGB(0, 255, 0), Type = 1, Width = 2},
			{Name = "R3", Color = RGB(0, 191, 255), Type = 1, Width = 2},
			{Name = "R4", Color = RGB(0, 0, 255), Type = 1, Width = 2},
			{Name = "R5", Color = RGB(139, 0, 255), Type = 1, Width = 2},
		}
}

local math_floor = math.floor
local levels = 0
local ydH, ydL, ydC, ydO = {},{},{},{}
local PP, R3, R4, R5 = 0,0,0,0
local S3, S4, S5 = 0,0,0
	local delta = 0
	local cl = 0
local predThisDay=0
local function dTs(t) return 100*(100*t.year+t.month)+t.day; end
local OldDay = ''	-- для выделения начала торгового дня

function Init ()
	local t=getDataSourceInfo()
	local tt = t.interval
	if tt == -3 then 
		message('Месячный график не обрабатывается.',1)
		return 
	end
	return 7
end

function OnCalculate (index)
	local time tt=T(index); ---время из свечи
	--local ThisDay=dTs(tt)	-- дата в формате yyyyMMdd
	local tDay=dTs(tt)	-- дата в формате yyyyMMdd
	local ThisDay = tDay
	if Settings.period == 'W' then
		ThisDay=tt.week_day	-- номер недели
	end
	if index == 1 then
		--message('First ThisDay = '..tostring(ThisDay),1)
		local t=getDataSourceInfo()
		--7.2.5 Функция предназначена для получения информации об источнике данных для индикатора.
		local scale = getSecurityInfo(t.class_code, t.sec_code).scale	--	NUMBER, Количество значащих цифр после запятой
		mul = 10^scale  -- возведение в степень
		local tt = t.interval
		if tt == -3 then tt = 'месяц' 
		elseif tt == -2 then tt = 'неделя'
		elseif tt == -1 then tt = 'день' 
		else
			tt = tt..' мин.'
		end
		--message(t.sec_code..'('..t.class_code..'), цифр после запятой: '..scale..', mul = '..mul..', дата = '..ThisDay,1)
		levels = levels + 1
		if ThisDay ~= OldDay then
			OldDay = ThisDay
		end	
		predThisDay = ThisDay
		--
		delta = H(index) - L(index)
		cl = C(index)
		R5 = (H(index) / L(index))*cl
		calcLevels(index)
		local per = 'daily'
		if Settings.period == 'W' then
			per = 'weekly'
		end
		message('Camarilla '..per..', Т = '..tt..', © xsharp.ru 20.06.2015', 1)
		return
	end
	if Settings.period == 'W' then
		if ThisDay < OldDay then	-- для неделек
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	elseif Settings.period == 'D' then
		if ThisDay ~= OldDay then	-- для дневок
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	elseif Settings.period == 'H4' then
		if ThisDay ~= OldDay then	-- для дневок
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	end
	return S5, S4, S3, cl, R3, R4, R5
end

function round(value)
	return math_floor(value*mul + 0.5) / mul
end

function ThisDayF(index)
	ydC[levels] = C(index)
	if H(index) > ydH[levels] then
		ydH[levels] = H(index)
	end
	if L(index) < ydL[levels] then
		ydL[levels] = L(index)
	end
end

function calcLevels(index)
	ydO[levels] = O(index)
	ydH[levels] = H(index)
	ydL[levels] = L(index)
	ydC[levels] = C(index)
	--
	R3 = cl + delta * 1.1/4
	R4 = cl + delta * 1.1/2
	--
	S3 = cl - delta * 1.1/4
	S4 = cl - delta * 1.1/2
	S5 = cl - (R5-cl)
	--
	R5 = round(R5)
	R4 = round(R4)
	R3 = round(R3)
	S3 = round(S3)
	S4 = round(S4)
	S5 = round(S5)
end
  • обсудить на форуме:
  • QUIK

История одного ИИС

В начале августа я закрыл ИИС, открытый в феврале 2016 и вывел деньги и оставшиеся бумаги, которые было жалко продавать.

Хочется подвести итоги, зафиксировать и проанализировать, в первую очередь, для самого себя, полученные за 3,5 года результаты.

Может, что-то из полученного мной опыта, кому-то еще будет полезно.

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

На тот момент в активе у меня, кроме денег, была пара слитых на ФОРТС депозитов, с десяток прочитанных книг по техническому анализу и азам инвестиций, огромная самоуверенность и желание играть на бирже… Так себе инструментарий, да… )

Цель была, конечно же, была довольно скромна: зарабатывать 50% годовых и накопить к старости мильярд… )) обязательно долларов...

Но как это сделать, представления не было, предыдущий опыт показывал, что гораздо легче все слить, чем хоть что-то заработать, поэтому стратегия на первый год была предельно проста:

  1. Вложить деньги с минимальным риском и постараться их не потерять.
  2. Получить налоговый вычет.


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

Мартингейл через опционы. Спасет ли время?

Хочу поделиться своим виденьем торговли вертикальными спредами.
Для начала картинки
Мартингейл через опционы. Спасет ли время?
Мартингейл через опционы. Спасет ли время?

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

Упрощенный алгоритм индикатора zigzag

в дальнейшем в него встрою сигналы и наклонные уровни

Упрощенный алгоритм индикатора zigzag

--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGPROF",
Procent=1,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 0)
                    }				
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
    
  return 1
  
end

function OnCalculate(index)

  de = Settings.Procent

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
 
  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  
  return vl
 
  
end


 

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

Структура блога

Структура блога

Здравствуйте,  коллеги!

Хотел поделиться с Вами фичей которую сделал Тимофей на смарт-лабе, — структура блога. Очень нужное нововведение и уже успешно внедрённое.
Заходите к автору в блог и кликаете  «Оглавление блога»:

Структура блога

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

Священный ГРААЛЬ N 2

      Приветствую не ватную часть смартлаба.От нечего делать и запила на сбере и Ri, решил спалить свои рабочие паттерны.Большинство из них всем известные, некоторые у гур позаимствовал.
      Узнал о трейдинге от брата в 2014 году.Он тогда познавал его в интрадейной торговле на Si и Ri.Получалось у него не очень, уровень знаний был слабоват и упорства не было.Лично я тогда заразился.Смотрел ролики Резвякова, тогда они вдохновляли.Только в 2016-2017 году, я осознал что это вода конкретная.Брокерский счет открыл в 2016 году в Сбербанке.Поначалу 1-2 контракта гонял.Получалось относительно неплохо(помню как-то за день 1300р с 1 контракта снял).На радостях уволился с работы и залил еще немного денег.Затем пошли ошибки и пересиживание убытка.В итоге через 4 месяца бессистемной дрочки, пришлось пойти на работу и временно завязать с трейдингом(просадка оказалась 25%, ну и часть денег ушла на жизнь).Через полгода опять решил залить денег, показалось что опять грааль нашел.Через 2 месяца в состоянии эйфории опять уволился и история с просадкой повторилась вновь.

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

Тест стратегии на 2 максимума и 2 минимума.

тест стратегии на 2 максимума и 2 минимума. 


Условия для покупок: 

1)формируются два восходящих максимума и два восходящих минимума. Таким образом мы определяем текущий тренд, как восходящий. 
2) По последнему максимуму мы проводим горизонтальную линию. 
3) Как только очередная свеча закрывается выше горизонтальной линии, мы открываем ордер на покупку: 
4) Стоп-лосс устанавливается под последний минимум. 

Условия для продаж: 

1) формируются два нисходящих минимума и два нисходящих максимума. Таким образом мы определяем текущий тренд, как нисходящий. 
2) По последнему минимуму мы проводим горизонтальную линию. 
3) Как только очередная свеча закрывается ниже горизонтальной линии, мы открываем сделку на продажу. 
4) стоп-лосс ордер устанавливается над последним максимумом. 

тест си 

Тест стратегии на 2 максимума и 2 минимума.
Тест стратегии на 2 максимума и 2 минимума.


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

ЛЧИ 2006-2018 Мои реальные Мотиваторы по торгам

    • 10 июля 2019, 12:22
    • |
    • Enter1
  • Еще

Всем Привет!

 Все мы любим читать книги, особенно интересных и успешных (когда-то). Постоянно ссылаемся на них. Но по факту это иллюзия полностью
торговой системы. Основная задача книг- это показать варианты подходов. Вам дали 3-4 варианта, значит нужно самим сделать 5-8 вариант.
Участники/победители на нашей МосБирже:

ЛЧИ 2006-2018 Мои реальные Мотиваторы по торгам



И не говорите, что все Участники пипсовкой занимались (да, есть исключение) Но на общую картинку не влияет. Это реальные люди, такие же, как и Вы. 
Что бросается сразу в глаза- это кол-во сделок. Кол-во сделок говорит о том, что труд стоит на самом первом месте. Вы думаете, что вот есть бот или некая группа система, чел сидит себе и рубит деньги. Халява.


ЛЧИ 2006-2018 Мои реальные Мотиваторы по торгам



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

Дельта-хедж, смертная скука или весёлая угадайка.

Начиная торговать опционами, любой поддаётся соблазну продать какую-нибудь конструкцию, стредл или стренгл, например. Кажется, ну чего там страшного, солдат спит — служба идёт, тетта капает а если что — подровняю дельту фьючом. Но вот происходит какое-то движение, дельту обнуляем и вроде, опять всё нормально, пока злой кукл не погонит цену обратно, и так каждый день. Через некоторое время становится заметно, что шапка прибыли всё меньше и меньше, и вот — уже ниже ватерлинии. Перед экспирацией борьба идёт уже не за прибыль, а за минимизацию убытка. После нескольких таких опытов приходят подлые мысли, типа: не угадаешь направление — не заработаешь, дельту надо держать не в нуле, а как нибудь по тренду, или что-то в этом роде. Из моего опыта следует, что до добра это не доведёт. И вот почему: происходит конфликт стратегий ( с одной стороны надо стоять в направлении, а с другой — перекос дельты превысил все лимиты), в голове полная каша, и в итоге — тильт (да е… ись оно всё конём) и необдуманные поступки. В общем, смешивать два этих ремесла (тренд и контртренд) не стоит. А если есть большое желание угадать направление и повысить тем самым самооценку всегда можно купить стредл, тут уж точно не ошибёшься с направлением.

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

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