Автор |
Сообщение |
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
Нарисовал ТС. Вход по 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
|
Вот это есто
Код: |
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
|
000 писал(а): |
И что это обозначает??? |
Я то хотел написать, что выход либо по пересечению цены параболиком, либо если цена входа увеличится на величину Р2 либо уменьшится на величину Р3. Но получилось как-то криво... |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
Таак )) Поменял на
Код: |
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
|
Ну вот тут
Код: |
OR C>Cond1 OR C<Cond2; |
ты видимо имеешь ввиду, что C это будет цена входа. Должн разочаровать C это закрытие. Соответственно запись
аналогична
что бессмысленно и никогда не выполнится.
Я так понимаю, что пытаешься выходить по достижении уровней P2 или P3. Так не получится. Это можно сделать но не просто.
Так что фигач при помощи ApplyStop() |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
000 писал(а): |
Это можно сделать но не просто. |
Получается, что эта строчка:
Код: |
BuyPrice = SellPrice = ShortPrice = CoverPrice = C; |
Не фиксирует цену в пунктах, а обозначает, что цена берётся по закрытию бара? И фактическую цену сделки можно будет получить, только импортом таблицы сделок? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Совершенно верно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
А это действительно архипроблематично? В голове много задумок, но многие из них опираются на цену входа. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В некоторых случаях можно получить цену входа при помощи
Код: |
RiceBuy = valuewhen(Buy, BuyPrice, n = 1);
|
Но такая схема будет работать не всегда.
Идеально получать её используя цикл, но это значительно сложнее. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
Тааак... Чуток попереставлял местами:
Код: |
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
|
Только имей ввиду, что если, не дай бог, до выхода из позы будет еще сигнал бай, то твои уровни лося и профита будут перенесены на уровни соответствующие этому новому сигналу. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
Упс... Новость)) Вроде, в варианте входа по параболику, исключено? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Не знаю. Как входить, как выходить...
И что тебе по ApplyStop() не выходится... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
000 писал(а): |
И что тебе по ApplyStop() не выходится... |
Раз попробовал- не получилось. Начал мануал читать- ничего не понял с этой Equity(). Решил по рабоче-крестьянски делать. Сейчас как раз пробую с ApplyStop() нарисовать что-нибудь. Минут через несколько насоображаю. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Shitan
Зарегистрирован: 12.03.2010
Сообщения: 48
|
Попробовал. Что-то опять криво...
Код: |
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); |
По стопу или не выходит, или не рисует... Линию красную нарисовал под графиком.
Всё, голова не соображает, торги кончаются. Буду завтра подумать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|