Автор |
Сообщение |
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Код: |
ApplyStop(0,2,10,2);
Plot(Close,"",55);
m1=MA(C,20);
m2=EMA(C,20);
v1 = IIf (m1 < Close, m1, null);
Plot (v1, "", colorGreen, styleLine);
v2 = IIf (m2 > Close, m2, Null);
Plot (v2, "", colorRed, styleLine);
k1=Flip(Cross(Close,m1),Cross(m2,Close));
Buy = Cover = K1>Ref(k1,-1);
Short = Sell = K1<Ref(k1,-1);
//Buy = Cover = Cross(Close,v1);
//Short = Sell = Cross(v2,Close);
PlotShapes( IIf(Buy, shapeUpArrow, shapeNone), colorGreen, C );
PlotShapes( IIf(Short, shapeDownArrow, shapeNone), colorRed, C ); |
Открываем Бай, ловит стоп - пропускаем движение, открываем шорт...
Можно ли сделать так, что бы после стопа - открывался лонг ? (в данном случае). |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Входи в лонг на разрыве красное-зеленое. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
Входи в лонг на разрыве красное-зеленое. |
Да, согласен - входим при разрыве красное-зеленое.
Но входить на этом условии нужно только в случае - если сработал стоп.
Можно написать такую команду? |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Имеет значение сколько прошло баров от срабатывания стопа? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
Имеет значение сколько прошло баров от срабатывания стопа? |
Сколько прошло баров от срабатывания стопа - вообще не важно, главное открывать позицию на баре где появилась "зеленая". |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Давай подробно все условия.
Имей ввиду, что придется использовать функцию Equity() для активизации стопов а с ней бывают сложности. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
Давай подробно все условия.
Имей ввиду, что придется использовать функцию Equity() для активизации стопов а с ней бывают сложности. |
Ok.
1. Входы, выходы - только через "Flip", если использовать "Cross", выдает лишние сигналы, если добавить "Exrem", открывает сделку только в начале графика.
Без стопов система так и работает k1=Flip(Cross(Close,m2),Cross(m1,Close));
Хочу добавить стоп:
2. Работает - "K1=Flip(Cross(Close,m2) - открываем Buy и тут же ловим стоп пропустив движение, Flip откроет только Short дождавшись пересечения m1 с ценой.
Вот в этом случае и нужна функция, которая будет после стопа применять другие условия для Входа.
Но только для входа в позицию ПОСЛЕ СТОПА!
После данного входа - возвращаем функцию "Flip". |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Были сделки. Надо добавить после стопа еще сделки в направлении стопа в момент возникновения разрыва красное-зеленое.
Как выходить из этой сделки? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
Были сделки. Надо добавить после стопа еще сделки в направлении стопа в момент возникновения разрыва красное-зеленое.
Как выходить из этой сделки? |
а выходим из этой сделки по условиям прежних сделок:
если после стопа мы вошли в короткую позицию, то выход по: "Cross(Close,m2)" если в длинную, то выход по: "Cross(m1,Close)",
проще говоря обратно включаем работу: "Flip".
k1=Flip(Cross(Close,m2),Cross(m1,Close)); |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Олег, подскажи как написать эту команду, когда после стопа открывается сделка? |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Завтра. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В общем вроде так.
Суть вот в чем. У тебя система переворотная. Т.е. всегда в рынке. Соответственно просто ставим сигналы на покупку продажу в момент смены красное-зеленое. Если система и так в рынке, то тестер сигналы проигнорирует, а если не в рынке (не в рынке система может быть только если сработал стоп), то исполнится сигнал на смене.
Код: |
ApplyStop(0,2,10,2);
Plot(Close,"",55);
m1=MA(C,20);
m2=EMA(C,20);
v1 = IIf (m1 < Close, m1, null);
Plot (v1, "", colorGreen, styleLine);
v2 = IIf (m2 > Close, m2, Null);
Plot (v2, "", colorRed, styleLine);
k1=Flip(Cross(Close,m1),Cross(m2,Close));
Buy = Cover = K1>Ref(k1,-1);
Short = Sell = K1<Ref(k1,-1);
sigUp = (Ref(Nz(v1), -1) == 0 AND Nz(v1) > 0) OR
Ref(Nz(v2), -1) > 0 AND Nz(v2) == 0;
sigDw = (Ref(Nz(v2), -1) == 0 AND Nz(v2) > 0) OR
Ref(Nz(v1), -1) > 0 AND Nz(v1) == 0;
Buy = Buy OR sigUp;
Short = Short OR sigDw; |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Отличная идея, преобразовать в ноль массивом NZ
Спасибо...Доведу систему до ума - отпишу. |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
sigUp = (Ref(Nz(v1), -1) == 0 AND Nz(v1) > 0) OR
Ref(Nz(v2), -1) > 0 AND Nz(v2) == 0;
sigDw = (Ref(Nz(v2), -1) == 0 AND Nz(v2) > 0) OR
Ref(Nz(v1), -1) > 0 AND Nz(v1) == 0;
|
Олег, я тут умного включил - а сам за голову взялся...
Объясни на пальцах - что это значит? |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
v1 у тебя равно или МАшке или null. Функция NZ превращает null в 0. Соответственно это значит v1 == МАшке. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|