Избранное трейдера Ruslan
Предыдущие описанные способы:
Бесплатное пользование деньгами МФО
https://smart-lab.ru/blog/457668.php
Бесплатное пользование кредитными деньгами банков
https://smart-lab.ru/blog/457355.php
Использование пространственного арбитража стоимости банкнот и монет
https://smart-lab.ru/blog/457529.php
Экономически выгодное (и экологически ответственное) использование аналитики, инвестиционных предложений и отчетов
https://smart-lab.ru/blog/458419.php
Нестандартное использование банковской карты
https://smart-lab.ru/blog/459008.php
Два, которых рекомендуется избегать
https://smart-lab.ru/blog/462099.php
https://smart-lab.ru/blog/467994.php
Сама технология работы с кранами очень простая и описывается здесь
В настройках робота задается два уровня: один на покупку, а другой и продажу. Допустим купить по 51, а продать по 49. На этих уровнях устанавливаются стоп заявки. Если срабатывает вход в лонг по 51, то ставится еще стоп на переворот на уровень 49. Так же выставляется тейк профит.
Если срабатывает тейк профит, то позиция закрывается, стопы снимаются и робот ждет возврата цены между уровней.
Если цена идет к противоположному уровню, то робот переворачивается.
Подробнее тут http://kbrobot.ru/two_levels.html/
Плюсуем пост для мотивации автора на написание еще бесплатных программ


Settings =
{
Name = "xLinReg",
period = 128,
deviation=2,
line=
{
{
Name = "xLinReg",
Color = RGB(0, 0, 255),
Type = TYPE_LINE,
Width = 3
},
{
Name = "xLinReg",
Color = RGB(192, 0, 0),
Type = TYPE_LINE,
Width = 3
},
{
Name = "xLinReg",
Color = RGB(0, 128, 0),
Type = TYPE_LINE,
Width = 3
}
}
}
----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
function c_FF()
local AMA={}
local CC={}
return function(ind, _p,_ddd)
local period = _p
local index = ind
local vol = 0
local sigma = 0
local sigma2 = 0
local aav = 0
local bb = 0
local ZZZ = 0
if index == 1 then
AMA={}
CC={}
CC[index]=(C(index)+H(index)+L(index))/3
AMA[index]=(C(index)+O(index))/2
return nil
end
------------------------------
AMA[index]=AMA[index-1]
CC[index]=(C(index)+H(index)+L(index))/3
---------------------
if index < (_p) then return nil end
----------------------------------------------------
period =_p
if index < period then period = index end
---------------
sigma=0
sigma2=0
aav=0
ZZZ=0
for i = 0, period-1 do
ZZZ=CC[index+i-period+1]
aav=aav+ZZZ
sigma=sigma+ZZZ*(-(period-1)/2+i)
sigma2=sigma2+(-(period-1)/2+i)^2
end
------------------------
bb=sigma/sigma2
aav=aav/period
AMA[index]=aav+bb*((period-1)/2) ---------линейная регрессия
-------------------------------
sigma=0
sigma2=0
sigma3 = 0
for i = 0, period-1 do
ZZZ=CC[index+i-period+1]
sigma2=aav+bb*(-(period-1)/2+i)
sigma=sigma+(ZZZ-sigma2)^2
end
sigma=(sigma/period)^(1/2)
for i = 1, period-1 do
ZZZ=aav+bb*(-(period-1)/2+i)
SetValue(index+i-period+1, 3, ZZZ)
SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd)
SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd)
end
SetValue(index+0-period+1, 3, nil)
SetValue(index+0-period+1, 2, nil)
SetValue(index+0-period+1, 1, nil)
----------------------------------
return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
end
end
---------------------------- ---------------------------- ----------------------------
---------------------------- ---------------------------- ----------------------------
---------------------------- ---------------------------- ----------------------------
function Init()
myFF = c_FF()
return 3
end
function OnCalculate(index)
return myFF(index, Settings.period,Settings.deviation)
end
Позиции трейдеров (отчеты СОТ):
1. Нефть (NYMEX)
2. Нефть (Европа)
3. Рубль
4. Золото
5. Медь
6. Индекс доллара (DXY)
7. Газ
8. Индекс волатильности (VIX)
9. 10-летние трежериз
10. S&P 500
11. Британский фунт


Добавляю код сделанного мной индикатора Parabolik в котором параметр ускорение зависит от волатильности. Чем больше волатильность, тем больше увеличивается ускорение и индикатор быстрее «догоняет» цену. Подобные есть на просторах интернета для метатрейдера (и не бесплатно), для квика не встречал.
Видно, что он дает меньше перескоков (красный), чем обычный Parabolik (черный). Хорошо себя зарекомендовал для выходов из позиций, открытых по тренду. На вход в боковике конечно будет давать ложные сигналы, как и обычный Parabolik (но меньше!), создатель которого не рекомендовал только его использовать для открытия позиций.
Код индикатора:
Settings = {
Name = "Parabolic ATR",
Period_ATR=14,
line = {{
Name = "Parabolic ATR",
Type = TYPE_POINT,
Color = RGB(255,0,0),
Width = 2
}
}
}
old_idx=0
long=false
short=false
revers=false
function Init()
return 1
end
function OnCalculate(idx)
if idx<Settings.Period_ATR then
return nil
else
if idx==Settings.Period_ATR then
psar={}
psar[idx]=L(idx)
long=true
hmax=H(idx)
per_ATR=Settings.Period_ATR
local TR=0
for js=(idx-per_ATR),idx-1 do
TR=(TR+H(js)-L(js))
end
Old_ATR=TR/per_ATR
revers=true
else
if idx~=old_idx then
local TR=0
for js=(idx-per_ATR),idx-1 do
TR=(TR+H(js)-L(js))
end
local ATR=TR/per_ATR
af=ATR/(Old_ATR+ATR)
af=af/10
Old_ATR=ATR
if long then
if hmax<H(idx-1) then
hmax=H(idx-1)
end
psar[idx]=psar[idx-1]+af*(hmax-psar[idx-1])
end
if short then
if lmin>L(idx-1) then
lmin=L(idx-1)
end
psar[idx]=psar[idx-1]+af*(lmin-psar[idx-1])
end
revers=true
end
if long and L(idx)<psar[idx] and revers then
psar[idx]=hmax
short=true
long=false
lmin=L(idx)
af=Step
revers=false
end
if short and H(idx)>psar[idx] and revers then
psar[idx]=lmin
long=true
short=false
hmax=H(idx)
af=Step
revers=false
end
end
old_idx=idx
return psar[idx]
end
end