Избранное трейдера mrOleg
Сегодня рассматривал графики и на сишке увидел интересную закономерность. Пронумеровал от 0 до 9. Из 10 сетапов четыре не сработали (1,3,5,7,9), один в минусе (9), пять сработали (0,2,4,6,8) возможно в плюс (не смотрел более мелкий таймфрейм на предмет срабатывания стопа).
1. Ищем на графике свечки доджи либо волчки (тело должно быть не более 1/3 длины свечки).
2. Первая после волчка свечка должна закрыться либо выше хая, либо ниже лоу. Она нам показывает противоположное направление для открытия сделки, т. е. если закрылась ниже лоу, будем покупать, если закрылась выше хая — будем продавать. Если закрылась внутри диапазона волчка — этот сетап пропускаем.
3. Например (№ 2), свечка закрылась ниже лоу волчка. Выставляем отложенный ордер на покупку по цене лоу волчка + 1/3 длины волчка (или доджи). Стоп ниже лоу волчка на пару пунктов. Тейк — хай волчка.
4. Вторая (после волчка) свечка должна активировать отложенный ордер. Если ордер не активировался — сделку отменяем.

Трендовая система исходит из продолжения текущего движения.
Контр-трендовая система исходит из прекращения текущего движения.
В трендовой ТС тэйки длинные и плавающие, а управление риском осуществляется через стоп — потому что движение будет продолжаться.
В контр-трендовой ТС тэйки короткие, а стопы запрещены — потому что движение скоро всё равно завершится.
Но тогда посредством чего происходит управление риском в контр-трендовой ТС?
--
-- Выполнение действий с массивами.
--
local pairs = pairs
local type = type
module(...)
--- Создать копию массива (таблицы)
-- @return копию массива (таблицы)
function copy(array)
local copy_array = {}
if type(array) ~= "table" then
return array
end
for k, v in pairs(array) do
if type(v) == "table" then
copy_array[k] = copy(v)
else
copy_array[k] = v
end
end
return copy_array
end
--- Узнать, начинается ли индексация в массиве с нуля или с единицы.
-- @return 0 или 1
function base(array)
if array[0] ~= nil then
return 0
else
return 1
end
end
--- Вычислить число элементов в массиве.
-- @return число элементов в массиве
function size(array)
local n = 0
for _, _ in pairs(array) do
n = n + 1
end
return n
end
--- Проверить пустой или нет массив.
-- @return true/false
function isEmpty(array)
for _, _ in pairs(array) do
return false
end
return true
end
--- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1.
-- @return первый индекс массива, где ничего не записано
function firstEmptyIndex(array)
local i = 1
while array[i] ~= nil do
i = i + 1
end
return i
end
Стратегия стара как мир, и называется — календарный спред. В общем, разновидность арбитража. В простейшем виде, продаем дальний фьючерс, покупаем ближний, ждем некоторое время, закрываем позицию, получаем гарантированную прибыль. Как и у каждой стратегии, есть свои нюансы, и ошибки могу привести к убыткам. Но, это не ошибки, типа, не угадали куда пойдет — вверх или вниз. Это ошибки стратегии. Здесь не надо гадать куда пойдет.
В неклассическом виде в эту стратегию можно играть хоть интрадей, и 3-4 сделки в день вам обеспечены. Играть руками не рекомендую, целый день пялиться в монитор — может крыша поехать. А вот автоматом оч неплохо, тем более, что стратегия легко алгоритмизируется. Риски? — максимум 2-3 неудачных копеечных сделок в месяц.
Ну, и прежде чем начинать, попробуйте на кошках — смоделируйте в Python, например.
Исходная идея изложена. Ну, а конкретика, это уже не для общего доступа, кому нужны конкуренты в стакане.) Здесь каждый сам за себя. Ну, а стратегий на этой идее можно построить не одну, а целое семейство. Удачи!