Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Так нарисуй
Код: |
Vtb = Foreign("SPFB.VTBR", "Close");
Sber = Foreign("SPFB.SBRF", "Close");
per = 10;
MomVtb = (Vtb - Ref(Vtb, - per))/Ref(vtb, - per);
MomSber = (Sber - Ref(Sber, - per))/Ref(Sber, - per);
Plot(MomVtb - MomSber, "", ColorRed);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
roma095
Зарегистрирован: 02.02.2012
Сообщения: 170
|
Уважаемый 000,
А возможно ли построить спредер на основании вашего решения отсюда? http://www.amisite.ru/afl/ind/0008.htm
Если линии расходятся и получают некую ширину, то встаем инструментами внутрь,а если сближаются на некую величину, то закрываем позу.
В какую сторону лучше рыть с этим? Очень наглядный инструмент получается. Видимо моментум не совсем мне подходит. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Конечно можно.
Только один вопрос. Как быть с этим?
Цитата: |
Начало расчета индекса можно задавать в настройках. Если начало расчета задать датой, которая меньше, чем дата начала данных на истории, то расчет индекса начинается от левого края экрана.
|
Для тестирования надо точно задавать дату начала расчета индекса. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
roma095
Зарегистрирован: 02.02.2012
Сообщения: 170
|
000, а почему ваш индикатор может показывать пунктирную линию?
Два инструмента я забил в настройки
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это не пунктирная линия. Это свечки сбера у тебя.
Ты вероятно кинул этот индикатор на свечной график, в результате шкала графика расширилась от 0 до 10000 и свечки сплющило до пунктира.
На самом деле код индикатора силы надо кидать в пустое окно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
roma095
Зарегистрирован: 02.02.2012
Сообщения: 170
|
000, Большое спасибо!
Вы мне очень помогли.
Незнаю, что бы не превращать в помойку эту тему, можно ли спросить,
но тем не менее, если ли визуальное средство в ами, что бы померить расстояние между элементами на графике? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ручного нет. А вообще вычитаешь одно из другого в коде и выводишь результат на график. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Случайно забрёл в эту тему, и возник вопрос, а в чем смысл расчета этого мудрёного k, картинки которого на первой страничке.
Ну, допустим, что это вычитание двух разных моментов, разных бумаг - это понятно, но там есть ещё и условие else
Код: |
{
if(r[i] == 1 OR t[i]==1)
{
k[i] = J[i]-G[i];
}
else
{
k[i] = (j[i]-G[i]) +k[i-1];
}
}
|
Вот логику этого else я не перевариваю.
Т.е. я понимаю, что это сумма, но нафига? Там идёт сокращение разницы моментумов, а этот К только и делает, что растёт, а потом в один "чих" уже на другой стороне нуля. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
RIDDLER
Зарегистрирован: 13.08.2011
Сообщения: 15
Откуда: DUST
|
000 писал(а): |
???
Красная линия это спред.
Синие горизонтальные это 0.02 и - 0.02
Код AFL я давал выше.... |
у меня тоже ничего путного не получается с моментумом...
по сути при сетапе должно открываться две разнонаправленных сделки по разным инструментам в противоположные стороны. Но почему такого не происходит?
вот код
Код: |
Opt1 = Optimize("opt1", 5, 1, 50, 1);
X = Foreign("LKZ2", "Close");
Y = Foreign("GZZ2", "Close");
per = opt1;
MomX = (X - Ref(X, - per))/Ref(X, - per);
MomY = (Y - Ref(Y, - per))/Ref(Y, - per);
Spread = MomX - MomY ;
if(Name() == "LKZ2")
{
SetPositionSize(1, 4);
Buy = Cross(Spread, 0.00085);
Sell = Cross(0, Spread);
Short = Cross(-0.00085, Spread);
Cover = Cross(Spread, 0);
}
if(Name() == "GZZ2")
{
SetPositionSize(1, 4);
Short = Cross(Spread, 0.00085);
Cover = Cross(0, Spread);
Buy = Cross(-0.00085, Spread);
Sell = Cross(Spread, 0);
}
// Plot(Spread, "разница моментумов", colorGreen);
// Plot(MomX, "LKZ2", colorRed);
// Plot(MomY, "GZZ2", colorBlue);
|
|
_________________ Молодой специалист - дилетант широкого профиля. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Взял твой код. НИЧЕГО НЕ МЕНЯЛ. Тестировал на 15 мин фрейме.
Попробуй в настройках глянуть пару вещей. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
moextrader
Зарегистрирован: 27.04.2014
Сообщения: 62
|
У алгоритма выход никудышный имхо, я его маленько помусолил, получилось неплохо на РТС против Газа на минутках...
Но вот странно, получается неплохо только когда ставишь в настройках тестера в разделе Stops крыть прибыль на 2%
Но он эту прибыль кроет индивидуально, что смущает, то есть ее надо крыть когда она общая мне казалось, это же парный трейдинг
Есть еще один вопрос по тестеру, он как то странно выбирает лоты, я с одинаковыми настройками по СП, ФДАХ, РТС открывается разными лотами!
Причем чтобы нормально парить РСТ с Газом при соотношении лотов 1:5 ему надо 1000000 в капитале писать, иначе глючит и начинает соотношение менять.
В чем тут дело может быть? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
Но он эту прибыль кроет индивидуально, что смущает, то есть ее надо крыть когда она общая мне казалось, это же парный трейдинг
|
Ну прально. Ты ставишь в настройках крыть прибыль на 2%. Тестер ничего про то, что это парный трейдинг не знает, вот и кроет каждую бумагу в паре при достижении 2% позы именно по этой бумаге.
Цитата: |
Есть еще один вопрос по тестеру, он как то странно выбирает лоты, я с одинаковыми настройками по СП, ФДАХ, РТС открывается разными лотами!
|
А как ты размер позы задаешь?
Цитата: |
Причем чтобы нормально парить РСТ с Газом при соотношении лотов 1:5 ему надо 1000000 в капитале писать, иначе глючит и начинает соотношение менять.
В чем тут дело может быть?
|
В максимуме фьюч на индекс был примерно 210000. Т.е. на один контракт тестеру надо больше 200000 (это если мажу или стоимость контракта не задавать). Плюс парная бумага. Еще столько же. Плюс возможная просадка. Итого получается где то с 600000 должно нормально работать. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
moextrader
Зарегистрирован: 27.04.2014
Сообщения: 62
|
000 писал(а): |
Ну прально. Ты ставишь в настройках крыть прибыль на 2%. Тестер ничего про то, что это парный трейдинг не знает, вот и кроет каждую бумагу в паре при достижении 2% позы именно по этой бумаге.
|
А как сделать чтобы он их вместе крыл?
000 писал(а): |
А как ты размер позы задаешь?
|
Ну в формуле просто тупо вписал по Газу
SetPositionSize(5, 4);
а по РТС SetPositionSize(1, 4);
a в тестере 1 стоит
000 писал(а): |
В максимуме фьюч на индекс был примерно 210000. Т.е. на один контракт тестеру надо больше 200000 (это если мажу или стоимость контракта не задавать). Плюс парная бумага. Еще столько же. Плюс возможная просадка. Итого получается где то с 600000 должно нормально работать. |
Я не знаю как так, у меня в SmartX ГО по RIM4 11281Р а по GZM4 2178Р
То есть мне торговать 1:5 достаточно 50К на борту иметь учитывая просадку.
EDIT:
Насчет глюка с лотами я понял, надо Account Margin в тестере установить на 20, тогда более реально получается |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
А как сделать чтобы он их вместе крыл? |
это по простому точно не сделать. Надо использовать Porfolio Backtester Interface
Цитата: |
Ну в формуле просто тупо вписал по Газу
SetPositionSize(5, 4);
а по РТС SetPositionSize(1, 4);
a в тестере 1 стоит |
И что конкретно не так?
Цитата: |
Я не знаю как так, у меня в SmartX ГО по RIM4 11281Р а по GZM4 2178Р
То есть мне торговать 1:5 достаточно 50К на борту иметь учитывая просадку.
EDIT:
Насчет глюка с лотами я понял, надо Account Margin в тестере установить на 20, тогда более реально получается |
Не. Не совсем правильно поступил. Надо использовать в тестере режим Futures mode. При этом в настройках бумаги Symbol Information надо установить Margin deposit |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
moextrader
Зарегистрирован: 27.04.2014
Сообщения: 62
|
В общем я чувствую что тут без пол литра не обойдется.
Индюк спред надо дорабатывать серьёзно, он показывает ерунду....
Чтобы он нормально показывал надо считать коэффициенты как здесь:
http://www.youtube.com/watch?v=qxktykUEC2o
Насчет бэктеста я понял, спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|