Да, чуть не забыл дисклеймер. Никого не критикую, минутки выкладывать не буду. Просто было любопытно самому проверить. Опубликовал, чтобы добру не пропадать )).
График без пруфов — это как пукнуть в компании уважаемых людей
1. Я никому не обещал Грааль
2. Но он где-то рядом
3. Выше Eugene Logunov правильно написал про определитель системы. Но Грааль работает и без этого
4. Поэтому пруфы в студию, плз
Поменяйте знак индикатора в своей программе — и опубликуйте, плз, полученные эквити
Извольте, сударь. Минутки Si, 10 лет (2010-2019). Средняя сделка 0.06 пункта.
Диагноз прежний: обнаруженная вами неэффективность существует, потому что её нельзя монетизировать. Дисклеймер: я не утвержают, что вам не удастся это сделать )).
Так оно и есть на самом деле
Монетизировать ТС с доходом на сделку меньше спрэда можно только во вселенной лимитных ордеров.
Но она устроена очень и очень плохо...
Я никогда не говорил, что данный алго зарабатывает деньги
Я просто пытался обратить внимание уважаемого community на то, что реально котировки — это не детермината + шум, ну или не шум + шум особого вида.
С минутками Si, которые выложил Rostislav Kudryashov у меня получился не столь негативный результат. Скриншот не цепляется, а код в Wealth-labе такой. Можно заметить, что покупка идет при отрицательном значении индикатора, а продажа соответственно — наоборот. Переворот по открытию следующей свечи. Ну и код индикатора немного другой, так как я его понял.
public class MyStrategy: WealthScript
{
double D ( int bar, int num) {
return Bars.Open[bar-num] — Bars.Close[bar-num];
}
protected override void Execute() {
DataSeries S = new DataSeries(Bars, «Binary Series»);
for (int i = 5; i < Bars.Count-2; i++) {
double id = D(i,1)*(D(i,1)*D(i,4)-D(i,2)*D(i,3)) + D(i,2)*(D(i,2)*D(i,2)-D(i,1)*D(i,3));
S[i] = id;
}
for (int i = 5; i < Bars.Count-2; i++) {
double id = S[i];
int posDir = (! IsLastPositionActive)? 0
: LastPosition.PositionType == PositionType.Long? 1: -1;
if (id < 0 && posDir != 1) {
if (posDir == -1)
CoverAtClose (i, LastPosition);
BuyAtMarket (i+1);
} else if (id >= 0 && posDir != -1)
{
if (posDir == 1)
ExitAtClose (i, LastPosition);
ShortAtMarket (i+1);
}
}
ChartPane cp = CreatePane(20, true, false);
PlotSeries(cp, S, Color.Black, LineStyle.Dashed,2);
}
}
Куда идет курс рубля? Почти с самого начала октября и по середину ноября российская валюта была стабильной. Пара юань-рубль (по доллару и евро биржевых торгов нет) лежала в боковике чуть выше уровня 1...
Куда идет курс рубля? Почти с самого начала октября и по середину ноября российская валюта была стабильной. Пара юань-рубль (по доллару и евро биржевых торгов нет) лежала в боковике чуть выше уровня 1...
Снизить налоги на вклады Если открыть в течении пару дней иис 3 то я смогу сократить налог что нужно заплатить на этой неделе?
Если не заплатить до 1 дек то за каждый день какие пени начисляют боль...
Снизить налоги на вклады Если открыть в течении пару дней иис 3 то я смогу сократить налог что нужно заплатить на этой неделе?
Если не заплатить до 1 дек то за каждый день какие пени начисляют боль...
Эдуард Лоскутов, Прежде чем что то получить в налоговой за вас налоговый агент для начала должен заплатить налог, и то это будет не раньше мая 2025 года, а тут еще не ясно кто покупатель акций, ког...
Ну т.е. тебя, бро, в Excel забанили?)
Так и запишем)))
С уважением
Я ж писал — компа нет, а и был бы не стал бы этого делать, т.к. Не верю! ©
Вы вещали (вроде), что неделю назад компа не было...
А сейчас… Практически новая жизнь началась...
С уважением
Кстати, уж, Екселя на компе тоже нет. За ненадобностью.)
А я не поленится ). Делов-то на 5 минут. Si, минутки, 9 месяцев 2021 года.
Формула:
id(t)=A*d(t-1)+B*d(t-2)
где A=d(t-1)*d(t-4)-d(t-2)*d(t-3)
B=d(t-2)*d(t-2)-d(t-1)*d(t-3)
Убыток в пунктах 28000 )
— Английские ученые доказали...
— Ну, и молодцы!
Лень — двигатель прогресса )))
С уважением
Да, чуть не забыл дисклеймер. Никого не критикую, минутки выкладывать не буду. Просто было любопытно самому проверить. Опубликовал, чтобы добру не пропадать )).
График без пруфов — это как пукнуть в компании уважаемых людей
1. Я никому не обещал Грааль
2. Но он где-то рядом
3. Выше Eugene Logunov правильно написал про определитель системы. Но Грааль работает и без этого
4. Поэтому пруфы в студию, плз
С уважением
Этот пост появился бы значительно раньше )))
С уважением
P.S. Точные формулы и софт для лимитной эквити я отладил с 28 (!) раза. Но для маркетной эквити и 5 мин много, если честно )))
(чисто из уважухи за проделанную работу. Не хотел писать, если честно, думал, Вы сами догадаетесь)
Для маркетной эквити смена знака индикатора переводит убыточную эквити в профитную. Для лимитной — все не так (и сильно сложнее)
Поэтому
Поменяйте знак индикатора в своей программе — и опубликуйте, плз, полученные эквити
С уважением
P.S. На пути к коммунизму никто бесплатно кормить не обещал © Анекдот
Извольте, сударь. Минутки Si, 10 лет (2010-2019). Средняя сделка 0.06 пункта.
Диагноз прежний: обнаруженная вами неэффективность существует, потому что её нельзя монетизировать. Дисклеймер: я не утвержают, что вам не удастся это сделать )).
Так оно и есть на самом деле
Монетизировать ТС с доходом на сделку меньше спрэда можно только во вселенной лимитных ордеров.
Но она устроена очень и очень плохо...
С уважением
Я никогда не говорил, что данный алго зарабатывает деньги
Я просто пытался обратить внимание уважаемого community на то, что реально котировки — это не детермината + шум, ну или не шум + шум особого вида.
С уважением
public class MyStrategy: WealthScript
{
double D ( int bar, int num) {
return Bars.Open[bar-num] — Bars.Close[bar-num];
}
protected override void Execute() {
DataSeries S = new DataSeries(Bars, «Binary Series»);
for (int i = 5; i < Bars.Count-2; i++) {
double id = D(i,1)*(D(i,1)*D(i,4)-D(i,2)*D(i,3)) + D(i,2)*(D(i,2)*D(i,2)-D(i,1)*D(i,3));
S[i] = id;
}
for (int i = 5; i < Bars.Count-2; i++) {
double id = S[i];
int posDir = (! IsLastPositionActive)? 0
: LastPosition.PositionType == PositionType.Long? 1: -1;
if (id < 0 && posDir != 1) {
if (posDir == -1)
CoverAtClose (i, LastPosition);
BuyAtMarket (i+1);
} else if (id >= 0 && posDir != -1)
{
if (posDir == 1)
ExitAtClose (i, LastPosition);
ShortAtMarket (i+1);
}
}
ChartPane cp = CreatePane(20, true, false);
PlotSeries(cp, S, Color.Black, LineStyle.Dashed,2);
}
}