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



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

СообщениеДобавлено: Вт Окт 30, 2012 3:49 pm Ответить с цитатой Вернуться к началу

000 писал(а):
В данном случае описана система которая входит двойным лотом и затем выходит половиной сайза при достижении первой цели и полностью закрывает сделку при достижении второй цели.
Распишу подробно.
На основе примера сделал простенькую системку
Код:

Buy = Cross(MA(C, 10), MA(C, 20));
Sell = Cross(MA(C, 20), MA(C, 10));

Short = 0;
Cover = 0;

SetPositionSize( 1, spsShares );


///////// система 1 /////////
if(Name() == "RTSI")
{
   ApplyStop(stopTypeProfit, stopModePercent, 5, exitatstop = 1, False);
}

///////// система 2 /////////
if(Name() == "RTSI2")
{
   ApplyStop(stopTypeProfit, stopModePercent, 10, exitatstop = 1, False);
}

Вход при пересечении двух мувингов и затем выход половиной позиции при достижении профита 5% и остальной половиной при достижении профита 10%. При обратном пересечении мувингов выход всем сайзом.
Далее. Создал два одинаковых символа RTSI и RTSI2
skip...

По поиску наткнулся на этот пример. Тут же возник вопрос - а на одном символе тоже самое можно сделать, используя (sigScaleIn/Out) ? (сам не пробовал еще пирамидинг кодировать) - как ?

Rolling Eyes
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Окт 30, 2012 3:54 pm Ответить с цитатой Вернуться к началу

Можно сделать и на одном. А на вопрос как сделать пирамидинг мне отвечать уже надоело.

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



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

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

000 писал(а):
Можно сделать и на одном. А на вопрос как сделать пирамидинг мне отвечать уже надоело.

Так может просто сделать прикрепленный топик с примером ? Тогда и отвечать не нужно будет, а спрашивающим - рыскать в форуме в поиске.

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


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

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

При поирамидинге не видно момент добавления позиции. У ранее открытой позиции пересчитывается сайз и цена входа. Вышеприведенный пример сделан для того, чтобы было наглядно видно где добавились, где сократились и т.п.
Полная аналогия с пирамидингом.

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


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

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

Про примеры.
В хелпере Ами в поиске набери sigScaleIn. пройдешь по полученной ссылке и найдешь там 4 примера.

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



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

СообщениеДобавлено: Ср Окт 31, 2012 8:44 am Ответить с цитатой Вернуться к началу

000 писал(а):
Про примеры.
В хелпере Ами в поиске набери sigScaleIn. пройдешь по полученной ссылке и найдешь там 4 примера.


Вот который раз, глядя на help amibroker ощущение - догадывайтесь сами как хотите, что там подразумевается в его описании Sad часто без поллитры(без тестов) - фиг поймешь.
Спасибо, что этот форум часто выручает.

1) Вот для меня - загадка, какая логика лежала в том, чтобы сокращение позиции(sigScaleOut) загонять(для лонга) в переменную Buy ?
"Покупаем сокращая позицию" - мой мозг не в состоянии такое принимать без сопротивления, может поясните популярно, для дураков ?
А по какой цене-то сокращаем ? BuyPrice или по SellPrice ?


2) А вот эта конструкция:
SetPositionSize( 50, spsPercentOfPosition * ( Buy == sigScaleOut ) );
меня вообще добила. - разъясните, please

3) Не понимаю логики взаимодействия Buy(c напиханными там значениями sig*) и SetPositionSize.
Например, если в Buy есть sigScaleIn, но при этом не используем SetPositionSize - что будет при этом ?

4) 4й пример из help
Example 4: partial exit (scaling out) on profit target stops
Example of code that exits 50% on first profit target, 50% on next profit target and everything at trailing stop
Почему в примере используется цикл, в чем причина, возможно ли то же самое без цикла сделать ?


Знатоки, поясните, пожалуйста эти моменты.
Crying or Very sad
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

AmiTrt писал(а):

1) Вот для меня - загадка, какая логика лежала в том, чтобы сокращение позиции(sigScaleOut) загонять(для лонга) в переменную Buy ?
"Покупаем сокращая позицию" - мой мозг не в состоянии такое принимать без сопротивления, может поясните популярно, для дураков ?
А по какой цене-то сокращаем ? BuyPrice или по SellPrice ?

Ну вот так. В общем на счет Buy = sigScaleOut надо просто привыкнуть. Вероятно увеличение/сокращение позиции для удобства привязали к одному действию, а Sell = sigScaleIn смотрелось бы не менее странно.
Сокращение и добавление разумеется происходит по BuyPrice

AmiTrt писал(а):

2) А вот эта конструкция:
SetPositionSize( 50, spsPercentOfPosition * ( Buy == sigScaleOut ) );
меня вообще добила. - разъясните, please

А что тут не понятно? Ну да, не слишком явно.
Если Buy == sigScaleOut то 50% от существующей позиции, в противном случае вообще ничего.
Тут дело в том, что если spsPercentOfPosition оставить просто, а менять первый параметр функции, то в случае когда Buy != sigScaleOut функция все равно сработает и станет конфликтовать с обычным размером позиции.
AmiTrt писал(а):

3) Не понимаю логики взаимодействия Buy(c напиханными там значениями sig*) и SetPositionSize.
Например, если в Buy есть sigScaleIn, но при этом не используем SetPositionSize - что будет при этом ?

Вероятно докупит на все. Или, если в системе вообще есть установки сайза сделки, то использует то, что есть для обычных входов.

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



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

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

Спасибо, туман понемногу рассеивается

Еще пара вопросов:
000 писал(а):

AmiTrt писал(а):

2) А вот эта конструкция:
SetPositionSize( 50, spsPercentOfPosition * ( Buy == sigScaleOut ) );
меня вообще добила. - разъясните, please

...
Если Buy == sigScaleOut то 50% от существующей позиции, в противном случае вообще ничего.
Тут дело в том, что если spsPercentOfPosition оставить просто, а менять первый параметр функции, то в случае когда Buy != sigScaleOut функция все равно сработает и станет конфликтовать с обычным размером позиции.

1. Т.е. как указанная конструкция работает (правильно ли понимаю, посмотрите):
a) поступил обычный сигнал buy - закупаемся на все, что у нас в настройках (например 200%- 2 плеча)
b) поступил сигнал buy==sigScaleOut - сбрасываем половину лотов
c) поступил sell - закрываем все
d) снова поступил обычный buy - снова на начальные 200% закупка будет?
(т.е. возвращаемся к a) ?

2. И такой вопрос - если после Buy==1 потом идут два раза подряд buy==sigScaleOut - то что будет:
все закроется или же останется 25% от исходной(-50% - 50%*0.5) ?


3. Еще вопрос появился - а как при наборе позиции(sigScaleIn) ограничить верхний потолок набора ? Т.е. если начальная позиция была 200% от депо, то потом добрать еще дополнительно не более одного депо набрать (итого-не более 300%) - ограничить как-то потолок набора ?
Посмотреть профиль Отправить личное сообщение
AmiTrt



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

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

Подскажите, почему не работает набор позиции sigScaleIn:
(и предыдущий пост, если не трудно, прокомментируйте)
Код:

SetOption( "PortfolioReportMode", 1 ); //детализация
BuyPrice = SellPrice = Close;

Buy =  TimeNum()/10000 % 4 ==0 ;// каждый 4й час покупам 
Sell = TimeNum()/10000 % 4 ==3;   

InTrade = Flip( Buy, Sell );
DoScaleIn = InTrade AND NOT Buy AND NOT Sell; // добирать
DoScaleOut = False;
 
SetPositionSize( 50, spsPercentOfPosition * ( DoScaleIn ) );
// ^ добавить 50% от позиции

Buy = Buy + sigScaleIn * DoScaleIn + sigScaleOut * DoScaleOut;

в логе:

Цитата:
31.01.2012 12:00
Entry signals(score):SBER=Buy(1),
Exit signals:
Enter Long, SBER, Price: 90.6, Shares: 110, Commission: 3.3, Rank: 1, Equity 9993.4, Margin Loan: 0, Fx rate: 1
1 Open Positions: , SBER (+110), Equity: 9993.4, Cash: 30.7002
31.01.2012 13:00
Entry signals(score):
Exit signals:SBER=Scale-In,
1 Open Positions: , SBER (+110), Equity: 9971.4, Cash: 30.7002
31.01.2012 14:00
Entry signals(score):
Exit signals:SBER=Scale-In,
1 Open Positions: , SBER (+110), Equity: 9981.3, Cash: 30.7002
31.01.2012 15:00
Entry signals(score):
Exit signals:SBER=Sell,
Exit Long, SBER, Price: 90.24, (Avg. exit pr. 90.24), Shares: 110, Commission: 3.3, (Total comm.: 6.6), Profit: -46.2 (-0.46 %), Entry rank:1, Equity: 9984.6, Fx rate: 1
0 Open Positions: , Equity: 9953.8, Cash: 9953.8
Посмотреть профиль Отправить личное сообщение
AmiTrt



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

СообщениеДобавлено: Чт Ноя 01, 2012 2:31 pm Ответить с цитатой Вернуться к началу

AmiTrt писал(а):
Подскажите, почему не работает набор позиции sigScaleIn:

С этим вроде методом тыка удалось разобраться (не, ну как такой
"help" назвать - мол догадывайся сам как правильно использовать).

Временно вопросы снимаются.
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

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

нубский вопрос))

в ами есть ф-ция звукового предупреждения, чтоб при достижении ценой какой-то отметки, срабатывало звуковое и может даже визуальное предупреждение. где оно в ами спрятано?

edit: разобрался. в realtime quote есть и настройка ленты и аллерты.
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Чт Фев 21, 2013 7:49 pm Ответить с цитатой Вернуться к началу

Time&Sales лента работает заметно быстрее, чем рисуется чарт.

как можно ускорить отрисовку чартов в realtime?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Фев 21, 2013 9:50 pm Ответить с цитатой Вернуться к началу

MrDrJOKER писал(а):
Time&Sales лента работает заметно быстрее, чем рисуется чарт.

как можно ускорить отрисовку чартов в realtime?

Увы никак...

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



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

СообщениеДобавлено: Пт Фев 22, 2013 3:16 am Ответить с цитатой Вернуться к началу

000 писал(а):
MrDrJOKER писал(а):
Time&Sales лента работает заметно быстрее, чем рисуется чарт.

как можно ускорить отрисовку чартов в realtime?

Увы никак...


а может это торможение быть следствием того, что БД создана для минуток, а не тиковых данных?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Фев 22, 2013 7:48 am Ответить с цитатой Вернуться к началу

нет.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen