Автор |
Сообщение |
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Извиняюсь, если не в тот раздел...
Проблема номер раз: в коде робота с этого сайта Lots=5, а в tri-файл записывается 2. В чем может быть проблема?
Проблема номер два: стрелочки нет, а сделка почему-то есть. Код имеет следующий вид:
Код: |
Buy=H>Ref(res,-1) AND StDev((H+L)/2,12)>Ref(StDev((H+L)/2,12),-1);
Sell=L<Ref(sup,-1) OR time==234500;
|
Т.е. сигнал если возникает, то он возникает. |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
Проблема номер раз: в коде робота с этого сайта Lots=5, а в tri-файл записывается 2. В чем может быть проблема?
|
Хоть робот то какой?
Вероятно при описании системы использовал переменную Lots. Других причин не может быть. В оригинале кода Lots напрямую пишется в tri и никак изменится не может.
Цитата: |
Проблема номер два: стрелочки нет, а сделка почему-то есть. Код имеет следующий вид:
|
По приведенному куску кода нельзя определить почему нет стрелки. Робот в виде индикатора? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
С первым вопросом разобрался: на графике и в сканере был один и тот же индюк, но с разным значением Lots.
По второму вопросу: а какой кусок надо? Робот в виде робота с сайта (http://www.amisite.ru/afl/exp/0001.htm)
Код: |
Buy=H>Ref(res,-1) AND StDev((H+L)/2,12)>Ref(StDev((H+L)/2,12),-1);
Sell=L<Ref(sup,-1) OR time==234500;
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
PlotShapes(Buy*shapeUpArrow,colorGreen);
PlotShapes(Sell*shapeHollowDownArrow,colorRed);
Equity(1,0);
Buy=LastValue(Ref(Buy,0));
Sell=LastValue(Ref(Sell,0));
Plot(res,"res",colorGreen);
Plot(sup,"sup",colorRed);
|
|
_________________ Мой блог: http://analyseman.blogspot.com/
Последний раз редактировалось: Tsch (Чт Фев 11, 2010 2:07 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я правильно понял, что есть код робота и есть код индикатора для контроля этого робота? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Есть код робота, где после
Код: |
////////// Правила системы ///////////////
|
идет не
Код: |
Buy = Cross(C, MA(C, 10));
Sell = Cross(MA(C, 10), C);
Short = Sell;
Cover = Buy;
//////////////////////////////////////////
Equity(1, 0);
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
|
а приведенный выше (в моем предыдущем сообщении) код. |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
И некоторые записи совпадают со стрелками, а некоторые нет?
Дай несколько записей из tri которые со стрелками не совпадают. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Вот еще что. А нафига в коде робота это?
Код: |
PlotShapes(Buy*shapeUpArrow,colorGreen);
PlotShapes(Sell*shapeHollowDownArrow,colorRed)
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Робот работает через АА и никакие стрелки рисовать не будет в принципе.
Если нужен контроль на графике, то придется потрудиться написать для этого еще один код. Он будет немного отличаться от кода робота.
В часности в коде робота функции вывода на график нафиг не нужны. Кроме того ни в коем случае не надо целиком код робота пихать и на график и в АА.
Так строки "лишних" сделок дашь? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Блин, точно! Я просто когда индюк написал в таком виде его в робот потом и кинул, че-то у меня сомнений по этому поводу не возникло. Теперь естественно почищу от всяких Plot-функций.
Конечно дам, просто три дня лишних сделок не было, как только случатся, сразу кину все логи. |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Пришла беда, откуда не ждали. Строка из tri-файла:
Код: |
TRANS_ID=011030001; PRICE=8436; QUANTITY=5; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=SRH0; ACCOUNT=SPBFUT00000; CLIENT_CODE=000; |
А на картинке внизу то, как это выглядит в Ами. Все условия кода соблюдены - откуда вообще эта сделка взялась? |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Давай в личку весь код робота. Буду смотреть. Наверняка ошибка гдето |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Отвечаю тут. Может кому потом пригодится.
Не раскрывая код.
В коде используются Peak и Trough это функции пиков и впадин основанные на ZigZag. По этой причине они могут изменяться задним числом. Т.е. перелом показанный ZigZag'ом может в последствии пропасть.
Дальше. В коде используетя сравнение (H+L)/2 с прошлым значением. При изменении H и L на текущем баре выражение (H+L)/2 > Ref((H+L)/2, -1) может принимать разные значения.
И последнее. Убран сдвиг сигнала на один бар
Код: |
Buy=LastValue(Ref(Buy,0)); |
Т.е. сделка осуществляется не по сигналу на уже полностью сформированном баре, а по сигналу на текущем баре. Если есть необходимость использовать такой подход, то надо очень внимательно проверять ситуацию с появлением и исчезновением сигналов. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
0. Спасибо!
1. Что по ЗагЗагу, то есть такое дело, но коль скоро у меня цена должна пересечь ref отметку, то сигнал лишний сигнал не по этому происходит. Я иногда визуально наблюдаю лишние заломы, которые потом исчезают, но сигнала на них по определению нет.
2. Про (H+L)/2 можно подробнее? Вполне возможно что из-за этого косяк, потому как аналогичный индюк без фильтра покупку на этом баре рисует. Сегодня я визуально эту заявку наблюдал: она тупо на первой секунде вылезла.
3. Я сознательно сдвиг убрал, потому как п.1 проблему лишнего сигнала убирает (имхо). |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Вот смотри.
(H+L)/2 и Ref((H+L)/2, -1)
Ref((H+L)/2, -1) это фиксированное значение и измениться не может.
(H+L)/2 если увеличивается H, то и значение (H+L)/2 увеличивается, если уменьшается L, то и значение (H+L)/2 уменьшается. Т.е. в процессе формирования бара (H+L)/2 может меняться в обе стороны. В результате если взять (H+L)/2 > Ref((H+L)/2, -1), то выражение может становится то истинным, то ложным. У тебя не совсем так, но принцип тот же. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|