Автор |
Сообщение |
indus
Зарегистрирован: 23.12.2009
Сообщения: 27
|
Нашел на форуме такую формулу выхода в 2 этапа, но как же её прикрутить к системе? Може кто поможе? Как сделать чтобы контрактами торговал?
Код: |
Buy =условие;
Sell = 0;
Short=условие;
Cover=0;
// система выходит
// 50% размера позиции на первой цели
// 50% размера позиции на второй цели
// 100% размера позиции по скользящей остановке
FirstProfitTarget = 10; // прибыль в процентах
SecondProfitTarget = 20; // прибыль в процентах
TrailingStop = 10; // стоп в процентах
priceatbuy=0;
highsincebuy = 0;
exit = 0;
for( i = 0; i < BarCount; i++ )
{
if( priceatbuy == 0 AND Buy[ i ] )
{
priceatbuy = BuyPrice[ i ];
}
if( priceatbuy > 0 )
{
highsincebuy = Max( High[ i ], highsincebuy );
if( exit == 0 AND
High[ i ] >= ( 1 + FirstProfitTarget * 0.01 ) * priceatbuy )
{
// достигнута первая цель - сокращение позиции
exit = 1;
Buy[ i ] = sigScaleOut;
}
if( exit == 1 AND
High[ i ] >= ( 1 + SecondProfitTarget * 0.01 ) * priceatbuy )
{
// достигнута вторая цель - выход
exit = 2;
SellPrice[ i ] = Max( Open[ i ], ( 1 + SecondProfitTarget * 0.01 ) * priceatbuy );
}
if( Low[ i ] <= ( 1 - TrailingStop * 0.01 ) * highsincebuy )
{
// сработала скользящая остановка - выход
exit = 3;
SellPrice[ i ] = Min( Open[ i ], ( 1 - TrailingStop * 0.01 ) * highsincebuy );
}
if( exit >= 2 )
{
Buy[ i ] = 0;
Sell[ i ] = exit + 1; // mark appropriate exit code
exit = 0;
priceatbuy = 0; // reset price
highsincebuy = 0;
}
}
}
SetPositionSize( 50, spsPercentOfEquity );
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short); |
|
_________________ Дорогу осилит идущий... |
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это обычный для Ами метод добавления/сокращения позиции. Годится только для теста.
А собственно что непонятно? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
indus
Зарегистрирован: 23.12.2009
Сообщения: 27
|
Мне бы хотелось на базе этого скрипта сделать тс сокращения поз. для реального рынка по фьючерсам, это возможно или нужен другой подход? |
_________________ Дорогу осилит идущий... |
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А готовая система уже есть? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
indus
Зарегистрирован: 23.12.2009
Сообщения: 27
|
Да есть ТС, такая например:
EMA1=EMA(Close,5);
D=Ref(abs(O-C),-1);
D1=O+D;
D2=O-D;
Buy=H>D1 AND H>EMA1;
BuyPrice=D1;
Sell = H>=D1+(D1-Ref(L,-1)); // первое условие
= L<Ref(L,-1);//второе условие |
_________________ Дорогу осилит идущий... |
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это надо сделать немного модифицированного робота. Во вторник сделаю.
А Первое и второе условие обязательно идут в таком порядке?. Т.е сперва ждем только второе и сокращаем половину позы, а потом второе? Или в любой последовательности? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
indus
Зарегистрирован: 23.12.2009
Сообщения: 27
|
Sell = H>=D1+(D1-Ref(L,-1)); // первое условие
= L<Ref(L,-1);//второе условие
Да это очередность обязательна, т.к. второе условие трейлит позицию, а первое переводит в безубыток. Олег если можно объясни как можно много раз наращивать или сокращать позицию, доступно, или где можно почитать кроме справки, ок? |
_________________ Дорогу осилит идущий... |
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Кроме справки не знаю где.
Для робота и для теста это совершенно разные способы. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
|