Избранное трейдера Александр


В числе прочих исследовал качество работы следующих методов расчета направления текущего и будущего движения цены:
-------------------------------
1.Экстраполяция на один шаг в разных тайм-фреймах:
Дает хорошие результаты в торговле на больших тайм-фреймах от 4-х часовок и более.
2.Разложение ценового процесса как функции в ряд Фурье и торговля по:
2.1.Торговля по несущей синусоиде.
Суть метода: Подбирается интервал разложения такой, на котором несущая совпадает с ценовым процессом и совершаем сделки в направлении правой части несущей синусоиды.
2.2.Торговля по 1-й и 2-й производным от ряда Фурье:
Суть метода: Берутся производные в текущей точке (как бы сейчас), в точке -пи/4 (как бы прошлое) и в точке +пи/4 (как бы будущее). Хорошо ловятся развороты цены.
Оба варианта работают хорошо только на интервалах разложения цены от 2-х недель и более.
3.Суммирование логарифмов цен основных долларовых активов и работа с суммарным ценовым процессом по методу №1.
Суммировались цены: 1)валют, 2)металлов (золото, серебро, платина, палладий), 3) индексов (Доу, СиП, Насдак и другие), 4)товаров (нефть, газ, топливо).
Всего суммировались цены 30 долларовых инструментов.
Торговались выборочные инструменты.
Теоретическая основа: центральная предельная теорема теории вероятностей о том, что сумма случайных процессов с любым распределением вероятностей является процессом с нормальным распределением, что в результате дает достаточно гладкий график суммарного ценового процесса, который можно торговать даже без специальных методов расчета направления движения цены.
Шаг 1. Выжидаем, когда стакан станет практически пуст. Предполагаем, что, где-то внизу, есть стоп-заявка.

Шаг 2. Выставляем свою крупную заявку в глубь после стоп-заявки, перед ближайшим любым объёмом.


//+---------------------------------------------------------------+
//| Лохотрон.mq4 |
//| TT |
//| |
//+---------------------------------------------------------------+
int ticker;
int Signal;
datetime BarTime;
void OnTick()
{
// Условие для лонга
if (iClose(NULL,PERIOD_H1,1)> iOpen(NULL,PERIOD_H1,1) &&
iClose(NULL,PERIOD_M30,1)> iOpen(NULL,PERIOD_M30,1)&&
iClose(NULL,PERIOD_M15,1)> iOpen(NULL,PERIOD_M15,1)&&
iClose(NULL,PERIOD_M5,1)> iOpen(NULL,PERIOD_M5,1)) Signal=1;
// Условие для шорта
if (iClose(NULL,PERIOD_H1,1)< iOpen(NULL,PERIOD_H1,1) &&
iClose(NULL,PERIOD_M30,1)< iOpen(NULL,PERIOD_M30,1)&&
iClose(NULL,PERIOD_M15,1)< iOpen(NULL,PERIOD_M15,1)&&
iClose(NULL,PERIOD_M5,1)< iOpen(NULL,PERIOD_M5,1)) Signal=-1;
// Шорт
if (OrdersTotal()==0 && Signal==-1)
{
ticker=OrderSend(Symbol(),OP_SELL,0.1,Bid,10,0,0);
BarTime=iTime(NULL,PERIOD_M5,0);
}
// Лонг
if (OrdersTotal()==0 && Signal==1)
{
ticker=OrderSend(Symbol(),OP_BUY,0.1,Ask,10,0,0);
BarTime=iTime(NULL,PERIOD_M5,0);
}
// Закрываем через 5 минут
if (OrdersTotal()>0 && BarTime!=iTime(NULL,PERIOD_M5,0))
{
if (Signal==-1) OrderClose(ticker,0.1,Ask,10);
if (Signal==1) OrderClose(ticker,0.1,Bid,10);
Signal=0;
}
}
Результат на EURUSD с 01.01.2016. Таймфрейм M5. Спред минимальный, 0.2 пункта, без комиссий.




Добавляю код сделанного мной индикатора 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
Инвестиции – это способ превратить работу в долг. Инвестор часть своей работы превращает в долг общества перед ним и относит расчет по долгам в будущее, извлекая сегодня только процент.© Олег Клоченок
