Автор |
Сообщение |
Mike777
Зарегистрирован: 27.06.2011
Сообщения: 14
|
Есть системка, у которой есть три варианта выхода из лонговой позы: тейк-профит 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
Сообщения: 9106
|
Первый вариант точнее. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Mike777
Зарегистрирован: 27.06.2011
Сообщения: 14
|
А почему первый вариант точнее? Разве они оба не по клоузу закрываются? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если позиция уже открыта и возникает еще один сигнал Buy, то он не будет исполнен тестером. А вот BarsSince(Buy) его учтет и в результате позиция закроется через n баров не от открытия а от сигнала который не исполнен. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Mike777
Зарегистрирован: 27.06.2011
Сообщения: 14
|
|
Посмотреть профиль Отправить личное сообщение |
|
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
Коллеги, доброго дня! А как реализовать выход через n-баров частями. По принципу отливок через 10, 20 и 30 баров? |
_________________ Деда Мороза не существует!!! |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Как то так
Код: |
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
Сообщения: 90
|
Олег, спасибо большое! Как всегда выручил. а то я уж клоны тикеров сделал, но не то получается |
_________________ Деда Мороза не существует!!! |
|
Посмотреть профиль Отправить личное сообщение |
|
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
Код: |
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
Сообщения: 9106
|
Ну конечно. Позиция сокращается не так
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
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|