Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Выход через n баров Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
Mike777



Зарегистрирован: 27.06.2011
Сообщения: 14

СообщениеДобавлено: Пт Апр 12, 2013 4:09 pm Ответить с цитатой Вернуться к началу

Есть системка, у которой есть три варианта выхода из лонговой позы: тейк-профит 5%, стоп лосс 5% и выход при некасании лоссов через 4 бара.

Я нашел в сети два варианта реализации этих выходов:

1:
Код:
Sell = 0;

ApplyStop( stopTypeLoss, stopModePercent, 5, ExitAtStop = 1);
ApplyStop( stopTypeProfit, stopModePercent, 5, ExitAtStop = 1);
ApplyStop( stopTypeNBar, stopModeBars, 4 );

2:
Код:
Sell = BarsSince(Buy) == 4; SellPrice = C;

ApplyStop( stopTypeLoss, stopModePercent, 5, ExitAtStop = 1);
ApplyStop( stopTypeProfit, stopModePercent, 5, ExitAtStop = 1);


Подскажите, пожалуйста, одинаковые ли это решения по действию или нет?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Пт Апр 12, 2013 6:03 pm Ответить с цитатой Вернуться к началу

Первый вариант точнее.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mike777



Зарегистрирован: 27.06.2011
Сообщения: 14

СообщениеДобавлено: Сб Апр 13, 2013 12:15 am Ответить с цитатой Вернуться к началу

А почему первый вариант точнее? Разве они оба не по клоузу закрываются?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Сб Апр 13, 2013 8:04 am Ответить с цитатой Вернуться к началу

Если позиция уже открыта и возникает еще один сигнал Buy, то он не будет исполнен тестером. А вот BarsSince(Buy) его учтет и в результате позиция закроется через n баров не от открытия а от сигнала который не исполнен.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mike777



Зарегистрирован: 27.06.2011
Сообщения: 14

СообщениеДобавлено: Сб Апр 13, 2013 11:05 am Ответить с цитатой Вернуться к началу

Понятно! Спасибо, Олег!
Посмотреть профиль Отправить личное сообщение
Alex14



Зарегистрирован: 12.11.2010
Сообщения: 81

СообщениеДобавлено: Ср Сен 14, 2016 10:43 am Ответить с цитатой Вернуться к началу

Коллеги, доброго дня! А как реализовать выход через n-баров частями. По принципу отливок через 10, 20 и 30 баров?

_________________
Деда Мороза не существует!!!
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Ср Сен 14, 2016 6:10 pm Ответить с цитатой Вернуться к началу

Как то так
Код:

Sell = IIf(BarsSince(Buy) == 10, sigScaleOut,
      IIf(BarsSince(Buy) == 20, sigScaleOut,
      IIf(BarsSince(Buy) == 30, 1, 0)));

SetPositionSize(100000, 1);
SetPositionSize(33, IIf(BarsSince(Buy) == 10, spsPercentOfPosition, spsNoChange ));
SetPositionSize(50, IIf(BarsSince(Buy) == 20, spsPercentOfPosition, spsNoChange ));

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alex14



Зарегистрирован: 12.11.2010
Сообщения: 81

СообщениеДобавлено: Ср Сен 14, 2016 6:32 pm Ответить с цитатой Вернуться к началу

Олег, спасибо большое! Как всегда выручил. а то я уж клоны тикеров сделал, но не то получается Smile

_________________
Деда Мороза не существует!!!
Посмотреть профиль Отправить личное сообщение
Alex14



Зарегистрирован: 12.11.2010
Сообщения: 81

СообщениеДобавлено: Чт Сен 15, 2016 9:54 am Ответить с цитатой Вернуться к началу

Код:
Per =30;// Optimize("PB", 30,2,50,2);


Buy = C>Ref(HHV(H,Per),-1) ; // условие покупки


Sell = IIf(BarsSince(Buy) == 10, sigScaleOut,
      IIf(BarsSince(Buy) == 20, sigScaleOut,
      IIf(BarsSince(Buy) == 30, 1, 0)));

SetPositionSize(100000, 1);
SetPositionSize(33, IIf(BarsSince(Buy) == 10, spsPercentOfPosition, spsNoChange ));
SetPositionSize(50, IIf(BarsSince(Buy) == 20, spsPercentOfPosition, spsNoChange ));

Олег, не отливает, к сожалению. Я пытался переделать под контракты, но тоже ничего.
Код:
Per =30;// Optimize("PB", 30,2,50,2);


Buy = C>Ref(HHV(H,Per),-1) ; // условие покупки

Sell = IIf(BarsSince(Buy) == 10, sigScaleOut,
      IIf(BarsSince(Buy) == 20, sigScaleOut,
      IIf(BarsSince(Buy) == 30, 1, 0)));
SetPositionSize(30, spsShares );
SetPositionSize(10, IIf(BarsSince(Buy) == 10, spsShares , spsNoChange ));
SetPositionSize(10, IIf(BarsSince(Buy) == 20, spsShares , spsNoChange ));

Short= C < Ref(LLV(L,Per),-1); // условие продажи


Cover =  IIf(BarsSince(Short) == 10, sigScaleOut,
      IIf(BarsSince(Short) == 20, sigScaleOut,
      IIf(BarsSince(Short) == 30, 1, 0)));  //условие закрытия сделки по цене либо по времени независимо от цены
SetPositionSize(30, spsShares );
SetPositionSize(10, IIf(BarsSince(Short) == 10, spsShares , spsNoChange ));
SetPositionSize(10, IIf(BarsSince(Short) == 20, spsShares , spsNoChange ));

_________________
Деда Мороза не существует!!!
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Чт Сен 15, 2016 3:07 pm Ответить с цитатой Вернуться к началу

Ну конечно. Позиция сокращается не так
Sell = sigScaleOut;
а так
Buy = sigScaleOut;

Пробуй.

Код:

Per =30;// Optimize("PB", 30,2,50,2);


Buy = C>Ref(HHV(H,Per),-1) ; // условие покупки


Buy = IIf(BarsSince(Buy == 1) == 10, sigScaleOut,
      IIf(BarsSince(Buy == 1) == 20, sigScaleOut, Buy));

Sell = BarsSince(Buy == 1) == 30;

SetPositionSize(100000, 1);
SetPositionSize(33, IIf(BarsSince(Buy) == 10, spsPercentOfPosition, spsNoChange ));
SetPositionSize(50, IIf(BarsSince(Buy) == 20, spsPercentOfPosition, spsNoChange ));

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen