jc_trader


JC-TRADER. Биржевые игры. Системные Спекуляции.


Previous Entry Поделиться Next Entry
Грааль от А.Горчакова
jc_trader



А вот и алгоритм прибыльной торговой системы для SPY:



Быстро пишем код для WL:

[Код для WL]
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
for(int bar = 20; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
if (Close[bar] < Open[bar])
SellAtStop(bar+1, LastPosition, Math.Min(Open[bar], (High[bar] + Low[bar]) / 2));
}
else
{
if (Close[bar] > Open[bar])
if (High[bar] + Low[bar] > High[bar-1] + Low[bar-1])
BuyAtClose(bar);
}
}
}
}
}


Нажимаем кнопку бэктест и видим результат:

Странно. А.Горчаков не может ошибаться. Скорее всего, ошибся либо я, либо WL ...... :)
Метки:

  • 1
условно можно ввести два режима рынка
- преобладает momentum/импульсы/тренды
- преобладает mean reverse/возврат к среднему/контртренд/боковик
можно так говорить

я говорю о степени и характере зазубренности

грааль в распознавание смены режима ) на ранней стадии

"грааль в распознавание смены режима ) на ранней стадии"

Или в распознавании на ранней стадии будущей цены :)

реальная система сильно сложнее, вы закодили упрощенное понимание - как видите работает

Где же работает, сливает. Работает байэндхолд.

Закодил условие так как сказано в видео. Были бы посложнее условия, закодил бы посложнее.

> BuyAtClose(bar);
Это не ошибка?
В видео на 1:50 было: "Открываем лонг по цене максимума из открытия и (H+L)/2" и + 0,07% на проскальзывание

Edited at 2017-02-09 08:49 (UTC)

Тогда еще хуже получается




using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
for(int bar = 20; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
if (Close[bar] < Open[bar])
SellAtStop(bar+1, LastPosition, Math.Min(Open[bar], (High[bar] + Low[bar]) / 2));
}
else
{
if (Close[bar] > Open[bar])
if (High[bar] + Low[bar] > High[bar-1] + Low[bar-1])
// BuyAtClose(bar);
BuyAtStop(bar+1, Math.Max(Open[bar], (High[bar] + Low[bar]) / 2));
}
}
}
}
}

Наоборот. Мне же не удалось повторить результат А.Горчакова. Следовательно, еще есть над чем работать. :)

SellAtStop(bar+1, LastPosition, Math.Min(Open[bar], (High[bar] + Low[bar]) / 2))

А надо

SellAtStop(bar, LastPosition, Math.Min(Open[bar], (High[bar] + Low[bar]) / 2))

И еще

не

BuyAtClose(bar);

а

BuyAtStop(bar, LastPosition, Math.Max(Open[bar], (High[bar] + Low[bar]) / 2))

А не подгонка ли под историю этот его "грааль" в первом видео? Что стоит за этим паттерном?

Так ведь сам он уже сказал что подгонка -- в трех местах в будущее смотрит.

Случайные (сгенерированные) котировки. Точную расшифровку СБ что-то не помню в данный момент, склероз, наверное :)

А можна такую систему инвесторам впарить? А если сдобрить формулами и терминами? )

Инвесторы в системах не разбираются. Им все равно, система это или не система, главное чтобы положительная история фонда была.

  • 1
?

Log in

No account? Create an account