Автор |
Сообщение |
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Всем Привет!!!
Есть у меня три системы и в сумме по "Equity" они дают результат:
Код: |
m1=MA(C,10);
m2=MA(C,15);
Buy = Cover = Cross(m1,m2) ;
Short = Sell = Cross(m2,m1) ;
m3=MA(C,20);
m4=MA(C,25);
Buy = Cover = Cross(m3,m4) ;
Short = Sell = Cross(m4,m3) ;
m5=MA(C,30);
m6=MA(C,35);
Buy = Cover = Cross(m5,m6) ;
Short = Sell = Cross(m6,m5) ; |
Но системы три а хотелось бы торговать одной, (так как если торговать этими тремя, получается стиль с доливкой или на усреднение и тд);
Вот и нужно объединить условия, что бы система была реверсная(всегда в рынке).
Вот таким образом не получается
Код: |
m1=MA(C,10);
m2=MA(C,15);
b1= m1 >m2 ;
b2= m2 >m1 ;
m3=MA(C,20);
m4=MA(C,25);
b3=m3 >m4 ;
b4=m4 >m3 ;
m5=MA(C,30);
m6=MA(C,35);
b5=m5 >m6 ;
b6=m6 >m5 ;
Buy = Cover = b1 AND b3 AND b5 ;
Short = Sell = b2 AND b4 AND b6; |
результат выдает другой
Вот таким:
Код: |
m1=MA(C,10);
m2=MA(C,15);
b1= cross(m1 ,m2) ;
b2= cross(m2 ,m1) ;
m3=MA(C,20);
m4=MA(C,25);
b3=cross(m3 ,m4) ;
b4=cross(m4 ,m3) ;
m5=MA(C,30);
m6=MA(C,35);
b5=cross(m5 ,m6) ;
b6=cross(m6 ,m5) ; |
вообще сделок не дождешься...
Буду благодарен за подсказку! |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если тестировать первый код, то будет работать только последняя секция
Код: |
m5=MA(C,30);
m6=MA(C,35);
Buy = Cover = Cross(m5,m6) ;
Short = Sell = Cross(m6,m5) ; |
второй код будет давать покупку только когда все 3 короткие МАшки будут выше длинных.
Третий код будет давать сделки только если пересечение всех 3х пар произошло на одном баре.
Не знаю что еще надо подсказывать. У тебя изначально в первом коде всего одна система (последняя секция). Можешь проверить. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Код: |
m1=MA(C,10);
m2=MA(C,15);
b1= m1 >m2 ;
b2= m2 >m1 ;
m3=MA(C,20);
m4=MA(C,25);
b3=m3 >m4 ;
b4=m4 >m3 ;
m5=MA(C,30);
m6=MA(C,35);
b5=m5 >m6 ;
b6=m6 >m5 ; |
У нас есть три реверсные системы; Cross, я заменил на: ">", "<".
Из каждой системы, нам нужны по два массива:покупка и продажа.
В итоге у нас есть шесть массивов: b1, b2, b3, b4, b5, b6.
Три на покупку: b1, b3, b5;
Три на продажу: b2, b4, b6;
В целом у нас постоянно будет: или две покупки и одна продажа или три покупки и ноль продаж, ну или наоборот: две продажи против одной покупки или три продажи.
Вот здесь я не могу разобраться, как написать условия для покупки и продажи.
Buy = Cover =на баре с истинным массивом, где два на покупку против одного на продажу или три массива на покупку ;
Short = Sell =на баре с истинным массивом, где два на продажу против одного на покупку или три массива на продажу; |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Вот единственное, что смог написать, но это не то, что нужно.
Код: |
s1=b1 AND b3 | b1 AND b5 | b3 AND b5;
s2=b2 AND b4 | b2 AND b6 | b4 AND b6;
s3=b1 AND b3 AND b5;
s4=b2 AND b4 AND b6;
s5=b1 | b3 | b5;
s6=b2 | b4 | b6;
Buy = Cover = s1 AND s6 |s3;
Short = Sell = s2 AND s5 | s4;
Buy=ExRem(Buy, Sell);
Sell=ExRem(Sell, buy);
Short=ExRem(Short, Cover);
Cover=ExRem(Cover, short); |
|
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Здорово может помочь то, что истинна это 1 а ложь это 0.
Тогда
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
Здорово может помочь то, что истинна это 1 а ложь это 0.
Тогда
|
Круто! Уже очень близко, что то типа вот этого:
Код: |
s1=b1+b3+b5==3;
s2=b2+b4+b6==3;
s3=b1+b3+b5==2;
s4=b2+b4+b6==2;
s5=b1+b3+b5==1;
s6=b2+b4+b6==1;
Buy = Cover = s3 AND s6 | s1 ;
Short = Sell = s4 AND s5 |s2 ; |
|
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А чем не устраивает вариант?
Код: |
Buy = b1 + b3 + b5 >= 2;
Short = b2 + b4 + b6 >= 2; |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
А чем не устраивает вариант?
Код: |
Buy = b1 + b3 + b5 >= 2;
Short = b2 + b4 + b6 >= 2; |
|
Всё верно!
Спасибо Олег!
Грамотное решение! |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Для условий "Cross"
Код: |
m1=MA(C,10);
m2=MA(C,15);
f1=Flip(Cross(m1,m2),Cross(m2,m1));
m3=MA(C,20);
m4=MA(C,25);
f2=Flip(Cross(m3,m4),Cross(m4,m3));
m5=MA(C,30);
m6=MA(C,35);
f3=Flip(Cross(m5,m6),Cross(m6,m5));
f4=f1+f2+f3;
Buy=Cover=f4>=2;
Short=Sell=f4<=1; |
|
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А зачем такой геморой?
Код: |
f1=Flip(Cross(m1,m2),Cross(m2,m1)); |
f1 = 1 когда m1 > m2
Так может так и написать
... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
Так может так и написать
... |
Согласен. |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Олег, помоги исправить ошибку:
Код: |
f4=f1+f2+f3;
Buy=Cover=f4>=2;
Short=Sell=f4<=1; |
А мне нужно:
Код: |
f4=f1+f2+f3;
Buy=Cover=Ref(f4>=2),-1;
Short=Sell=Ref(f4<=1),-1; |
Ругается!!!Error 30. Синтаксическая ошибка |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну нифига себе вопрос... А скобку закрыть где положено не пробовал?
f4=f1+f2+f3;
Buy=Cover=Ref(f4>=2,-1);
Short=Sell=Ref(f4<=1,-1); |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
000 писал(а): |
А скобку закрыть где положено не пробовал?; |
Спасибо Олег, попробовал - работает!!! |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
|