Автор |
Сообщение |
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
Redline - уровень закрытия первого 5 минутного бара
stop=abs((C-Redline));
SetOption("AllowSameBarExit", 0); //
SetOption("ActivateStopsImmediately", 0); //
ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );
вот пытаюсь понять алгоритм стопа
по идее он глядит в будущее. Т.е. до момента Закрытия бара мы не знаем значение Stop
а он применяет стоп по уровню Stop внутри бара. При этом этот уровень рассчитывает от (в случае лонга) максимума с момента входа
Я прав???
просто расчет на калькуляторе дает какие-то отличные значения сделок
спасбо |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Стоп рассчитывается от цены входа в сделку.
В случае лонга от BuyPrice, в случае шорта от ShortPrice.
Если трейлинг, то от максимума/минимума бара.
Если сделка по закрытию бара, то на баре входа стоп срабатывать не должен т.к. когда формировался бар позиция еще не была открыта. В этом случае ставим SetOption("ActivateStopsImmediately", 0); Т.е. трейлинг (или другой стоп) на этом баре не работает.
Если вход внутри бара или по открытию бара, то надо ставить SetOption("ActivateStopsImmediately", 1);. т.е. на баре входа система уже в позиции и отслеживает стоп. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
Что то я совсем запутался
Вот давай для совсем тупых типа меня...
1.Мы вошли в сделку лонг, по цене:
linia vhoda=цена закрытия первого бара
buy=cross(h,linia vhoda);
Buyprice=Max(o,linia vhoda);
Sell=timenum()==184500;
sellprice=c;
теперь мы хотим поставить трейлинг стоп и стоп лосс.
Пишем SetOption("AllowSameBarExit", 0); - тем самым запрещаем ему выходить на баре входа в принципе
Далее пишем
SetOption("ActivateStopsImmediately", 0); - опять же я хочу ему запретить включать стоп на баре входа, несмотря на то, что вход бы не по закрытию. Иначе это приводит к закрытию сразу же
Теперь я хочу ему задать трейлинг. Вот дальше засада.
По моему разумению трейлинг работает так:
1.Находит (для лонга) Highest High и от него откладывает вниз некое определенное пользователем значение. Если цена его пересекает, то он выходит или по этой цене или по клоузу (ну или не цена а клоуз его пересекает в зависимости от настройки)
Если мы напишем
stop=abs((C-linia vhoda));
ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );
То получается, что мы должны выйти внутри бара, по цене которая не может быть определена до тех пор, пока бар не закроется. Т.е. смотрим в будущее
Или я опять не прав |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
max писал(а): |
теперь мы хотим поставить трейлинг стоп и стоп лосс.
Пишем SetOption("AllowSameBarExit", 0); - тем самым запрещаем ему выходить на баре входа в принципе
Далее пишем
SetOption("ActivateStopsImmediately", 0); - опять же я хочу ему запретить включать стоп на баре входа, несмотря на то, что вход бы не по закрытию. Иначе это приводит к закрытию сразу же
Теперь я хочу ему задать трейлинг. Вот дальше засада.
По моему разумению трейлинг работает так:
1.Находит (для лонга) Highest High и от него откладывает вниз некое определенное пользователем значение. Если цена его пересекает, то он выходит или по этой цене или по клоузу (ну или не цена а клоуз его пересекает в зависимости от настройки)
Если мы напишем
stop=abs((C-linia vhoda));
ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );
То получается, что мы должны выйти внутри бара, по цене которая не может быть определена до тех пор, пока бар не закроется. Т.е. смотрим в будущее
Или я опять не прав
|
Стоп. Цена как раз заранее известна. HHV - размер трейлинга (для лонга) Если эта цена достигнута, то по ней и выходим. В принципе там есть варианты выхода и по Close ... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
000 писал(а): |
Стоп. Цена как раз заранее известна. HHV - размер трейлинга (для лонга) Если эта цена достигнута, то по ней и выходим. В принципе там есть варианты выхода и по Close ... |
ну как же так....
вот смотри
stop=abs((C-linia vhoda));
ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );
Ведь тут stop говорит - берем Закрытие текущего бара и отнимаем от него точку входа. Правильно?
Тогда ами должен из HHV с момента входы вычесть значение стопа и это будет уровень, на котором мы выйдем.
Команда ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );
говорит АМИ выйти ИМЕННО по этому уровню, но КАК он может выйти по этому уровню, если STOP не может быть посчитан пока не появится Close????
Или ты имеешь ввиду, что для АМИ каждый тик внутри бара и есть Close в момент появления этого тика? и он считает этот стоп потиково?? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Нет. Ами смотрить от прошлого HHV и отнимает от него значение стопа. Если Low ниже этого значения, то значит когда то внутри бара была цена равная уровню стопа. Вот по этой цене он и выходит. Как на баре входа точно не скажу. Но у тебя все равно стоит SetOption("ActivateStopsImmediately", 0); |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
000 писал(а): |
Нет. Ами смотрить от прошлого HHV и отнимает от него значение стопа. Если Low ниже этого значения, то значит когда то внутри бара была цена равная уровню стопа. Вот по этой цене он и выходит. Как на баре входа точно не скажу. Но у тебя все равно стоит SetOption("ActivateStopsImmediately", 0); |
ну это я понимаю
но вот "отнимает от него значение стопа" меня сильно смущает.
Пример:
предыдущий бар сделал HHV=100.
Мы пишем ApplyStop(stopTypeTrailing, stopModePoint, 10, True, True );
Уровень стопа жестко и явно описан = 10.
Значит если в любом последующем баре (примем что HHV больше не наступит никогда) L будет <=90 (100-10), то тут Ами и выйдет.
Тут все ОК и никаких вопросов нет.
Теперь мы явные 10 заменяем на условие (С-точка входа). И вот тут у меня засада.
Пусть точка входа=90. А вот с "С" сложнее
Если мы говорим, что для ами при расчете уровня стопа Закрытие наступает именно в момент Закрытия бара (условно для 5 минут в 18ч 25минут), то значение для расчета уровня выхода мы получим ровно в 18ч25м00сек. И значит что выйти внутри бара мы уже не можем так как он уже закончился. Следовательно мы получаем при тесте заглядывание в будущее. Вот как это выглядит
Закрытие = 97
Тогда уровень стопа = 100-(97-90)= 93.
При этом Low бара =91 и был получен в 18ч 22м 10 сек
И значит, что если наше L=91, то мы выходим "задним числом". Мы уровень определили по закрытию ровно в 18-25, а вышли по нему в 18-23.
Ну вот как то так.
Но теперь вариант №2.
имеем ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );
Если Ами при постановке стопа (отсылке ордера) принимает что Закрытие бара наступает каждый тик (а при реал тайме так оно и есть) то тогда расет будет такой:
1й тик бара= 99, тогда уровень стопа = 100-(99-90)=91
2й тик = 98, уровень 92
3й = 97, уровень 93
................
142 тик = 95 и уровень стопа = 95 (100-(95-90) и именно в этот момент наступает событие когда L=C=уровню стоп лосса. И мы выходим из сделки
Если это действительно так, то я изобрел грааль |
|
|
Посмотреть профиль Отправить личное сообщение |
|
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
Вот в качестве примера картинка
Зеленая стрелка в 11 часов - вход
Красный кружок - HHV после входа и до выхода
Красная линия - точка отчета в формуле stop=(С-Линия)
Если мы считаем, что ами принимает каждый тик за закрытие, то когда рынок идет вниз, стоп должен приближаться, когда вверх - нет
Я постарался воспроизвести в экселе движение стопа по формуне
HHV-(C-Line) и бары выхода у меня с ами совпали, а вот уровни нет. Эксельный стоп заметно ниже, чем у ами
Вот как же блин он высчитывает |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Считает он вот так. См картинку.
Да. Вот еще что. Сразу внимания не обратил.
это
Код: |
ApplyStop(stopTypeTrailing, stopModePoint, stop, True, True );м
|
скорее всего не правильно
Пармтры ApplyStop
1. Тип. Тут все Ок
2. Способ задания. Тут все Ок
3. Размер стопа. Все Ок
4. Способ выхода. Тут ошибка. Он может быть 0, 1, 2. Не True
5. Изменение. Если True, то разрешает менять размер стопа когда сделка уже открыта. Если надо зафиксировать размер стопа в момент открытия, то должно быть False
6. Пауза в торгах после стопа
У тебя разрешено изменение размера стопа. Поэтому фиг его знает какой он там в какой момент. Не правильно думать, что он зафиксирован в момент сделки. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
1.Не, значение True может быть - я из хелпа ами брал
2.но путем прогона через BarReply выяснил, что формула stop=(C-Line) для трейлинга, при котором используется выход не по закрытию а по пересечению линии стопа не работает. Ами отменяет сделки задним числом. Следовательно все остальное уже не важно |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если ами что то делает не так как задумано, то, с вероятностью процентов 99, сам накосячил или не понял как работает.
Не думаю, что сделки отменяются из-за трейлинга. Может со входами накосячил? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
000 писал(а): |
Если ами что то делает не так как задумано, то, с вероятностью процентов 99, сам накосячил или не понял как работает.
Не думаю, что сделки отменяются из-за трейлинга. Может со входами накосячил? |
да нет! отменяются именно трейлинговые выходы - бар реплай именно так показывает - но я думаю что тут именно засада в C-line ведь если говорить АМИ искать пересечение внутри бара со стоп линией и выйти по нему - то он и будет то рисовать стрелку то убирать пока бар не закроется
а вот если ами сказать закрыть трейлинг по стопу тогда проблем не будет |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Угу. Я так понял, что ты разобрался... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|