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



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

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

Нарисовал ТС. Вход по SAR, выход по смещению цены.
Код:
acc =  0.018;
accm = 0.2;
parab = SAR( acc, accm );

P2 = Optimize("P2", 155, 20 ,800, 10); ///////// Профит
P3 = Optimize("P3", 55, 20 ,800, 10);   ////// Убыток

Cond1= C+P2;
Cond2= C-P3;
Cond3= C-P2;
Cond4= C+P3;


Buy = Cross(C, parab);

Short = Cross(parab, C);

Sell=Cross(parab, C) OR Cond1 OR Cond2;
Cover=Cross(C, parab) OR Cond3 OR Cond4;



Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);

BuyPrice = SellPrice = ShortPrice = CoverPrice = C;

Plot( SAR( acc, accm ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ),
ParamStyle("Style", styleDots | styleNoLine, maskDefault | styleDots | styleNoLine ) );
Plot(C,"price",1,128);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);


Вроде бы всё нравится, только стрелочки на выход рисует на следующем баре. И хоть P2 и P3 1000 пунктов напишу, хоть 10. Через applystop тоже пробовал. Но по внутренним суеверным убеждениям хотелось бы обойтись без него. В чём проблема- не понимаю ((
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Мар 21, 2010 10:01 pm Ответить с цитатой Вернуться к началу

Вот это есто
Код:

Cond1= C+P2;
Cond2= C-P3;
Cond3= C-P2;
Cond4= C+P3;

....

Sell=Cross(parab, C) OR Cond1 OR Cond2;

Пишу по русски.
Закрытие лонга если параболик пересек цены закрытия снизу вверх или 15 или 3 (цифры с потолка для примера)
И что это обозначает???

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



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

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

000 писал(а):
И что это обозначает???

Я то хотел написать, что выход либо по пересечению цены параболиком, либо если цена входа увеличится на величину Р2 либо уменьшится на величину Р3. Но получилось как-то криво...
Посмотреть профиль Отправить личное сообщение
Shitan



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

СообщениеДобавлено: Пн Мар 22, 2010 6:36 pm Ответить с цитатой Вернуться к началу

Таак )) Поменял на
Код:
Sell=Cross(parab, C) OR C>Cond1 OR C<Cond2;
Cover=Cross(C, parab) OR C<Cond3 OR C>Cond4;


Всё равно не работает. Выходит по параболику...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Мар 22, 2010 10:17 pm Ответить с цитатой Вернуться к началу

Ну вот тут
Код:
OR C>Cond1 OR C<Cond2;

ты видимо имеешь ввиду, что C это будет цена входа. Должн разочаровать C это закрытие. Соответственно запись
Код:
C>Cond1

аналогична
Код:
C>C+P2

что бессмысленно и никогда не выполнится.
Я так понимаю, что пытаешься выходить по достижении уровней P2 или P3. Так не получится. Это можно сделать но не просто.
Так что фигач при помощи ApplyStop()

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



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

СообщениеДобавлено: Вт Мар 23, 2010 1:27 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Это можно сделать но не просто.
Получается, что эта строчка:
Код:
BuyPrice = SellPrice = ShortPrice = CoverPrice = C;

Не фиксирует цену в пунктах, а обозначает, что цена берётся по закрытию бара? И фактическую цену сделки можно будет получить, только импортом таблицы сделок?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 23, 2010 1:32 pm Ответить с цитатой Вернуться к началу

Совершенно верно.

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



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

СообщениеДобавлено: Вт Мар 23, 2010 1:49 pm Ответить с цитатой Вернуться к началу

А это действительно архипроблематично? В голове много задумок, но многие из них опираются на цену входа.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 23, 2010 2:07 pm Ответить с цитатой Вернуться к началу

В некоторых случаях можно получить цену входа при помощи
Код:

RiceBuy = valuewhen(Buy, BuyPrice, n = 1);

Но такая схема будет работать не всегда.
Идеально получать её используя цикл, но это значительно сложнее.

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



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

СообщениеДобавлено: Вт Мар 23, 2010 8:00 pm Ответить с цитатой Вернуться к началу

Тааак... Чуток попереставлял местами:
Код:
P2 =  50; ///////// Профит
P3 =  50;   ////// Убыток

Buy = Cross(C, parab);
Short = Cross(parab, C);

PriceBuy = ValueWhen(Buy, BuyPrice, n = 1);

Cond1= PriceBuy+P2;
Cond2= PriceBuy-P3;
Cond3= PriceBuy-P2;
Cond4= PriceBuy+P3;


 

Sell=Cross(parab, C) OR C>Cond1 OR C<Cond2;
Cover=Cross(C, parab) OR C<Cond3 OR C>Cond4;


вроде, что-то рисует... Сейчас прикручу шорт и оптимизатор...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 23, 2010 10:31 pm Ответить с цитатой Вернуться к началу

Только имей ввиду, что если, не дай бог, до выхода из позы будет еще сигнал бай, то твои уровни лося и профита будут перенесены на уровни соответствующие этому новому сигналу.

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



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

СообщениеДобавлено: Вт Мар 23, 2010 10:41 pm Ответить с цитатой Вернуться к началу

Упс... Новость)) Вроде, в варианте входа по параболику, исключено?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 23, 2010 10:48 pm Ответить с цитатой Вернуться к началу

Не знаю. Как входить, как выходить... Smile
И что тебе по ApplyStop() не выходится... Smile

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



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

СообщениеДобавлено: Вт Мар 23, 2010 11:05 pm Ответить с цитатой Вернуться к началу

000 писал(а):
И что тебе по ApplyStop() не выходится... Smile


Раз попробовал- не получилось. Начал мануал читать- ничего не понял с этой Equity(). Решил по рабоче-крестьянски делать. Сейчас как раз пробую с ApplyStop() нарисовать что-нибудь. Минут через несколько насоображаю.
Посмотреть профиль Отправить личное сообщение
Shitan



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

СообщениеДобавлено: Вт Мар 23, 2010 11:18 pm Ответить с цитатой Вернуться к началу

Попробовал. Что-то опять криво...
Код:
acc = Optimize ("acc", 0.028, 0.001, 0.03,0.001);
accm = 0.2;
parab = SAR( acc, accm );

P2 = Optimize ("P2", 370, 20, 1000, 5); ///////// Профит
P3 =  310;   ////// Убыток

Buy = Cross(C, parab);
Short = Cross(parab, C);


Sell=Cross(parab, C);
Cover=Cross(C, parab);

ApplyStop(stopTypeProfit,stopModePoint,P2,0);
ApplyStop(stopTypeLoss,stopModePoint, P3,0);


Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);

BuyPrice = SellPrice = ShortPrice = CoverPrice = C;

Plot( SAR( acc, accm ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ),
ParamStyle("Style", styleDots | styleNoLine, maskDefault | styleDots | styleNoLine ) );
Plot(C,"price",1,128);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,0);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,0);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,0);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,0);

Plot(Sell==4,"ApplyStop Sell",colorRed,1|styleOwnScale);
Plot(Cover==4,"ApplyStop Cover",colorGreen,1|styleOwnScale);

Equity(1, 0);

Buy = LastValue(Buy);
Sell = LastValue(Sell);
Short = LastValue(Short);
Cover = LastValue(Cover);


По стопу или не выходит, или не рисует... Линию красную нарисовал под графиком.

Всё, голова не соображает, торги кончаются. Буду завтра подумать.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen