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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пт Июл 15, 2016 3:44 pm Ответить с цитатой Вернуться к началу

Всем Привет!!!
Есть у меня три системы и в сумме по "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

СообщениеДобавлено: Пт Июл 15, 2016 4:55 pm Ответить с цитатой Вернуться к началу

Если тестировать первый код, то будет работать только последняя секция
Код:
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

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

Код:
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

СообщениеДобавлено: Пн Июл 18, 2016 6:43 pm Ответить с цитатой Вернуться к началу

Вот единственное, что смог написать, но это не то, что нужно.
Код:

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

СообщениеДобавлено: Пн Июл 18, 2016 10:07 pm Ответить с цитатой Вернуться к началу

Здорово может помочь то, что истинна это 1 а ложь это 0.
Тогда
Код:
Buy = B1+B2+B3 > 2;

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вт Июл 19, 2016 1:47 am Ответить с цитатой Вернуться к началу

000 писал(а):
Здорово может помочь то, что истинна это 1 а ложь это 0.
Тогда
Код:
Buy = B1+B2+B3 > 2;

Круто! Уже очень близко, что то типа вот этого:
Код:
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

СообщениеДобавлено: Вт Июл 19, 2016 8:25 am Ответить с цитатой Вернуться к началу

А чем не устраивает вариант?
Код:
Buy = b1 + b3 + b5 >= 2;
Short = b2 + b4 + b6 >= 2;

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Ср Июл 20, 2016 3:25 am Ответить с цитатой Вернуться к началу

000 писал(а):
А чем не устраивает вариант?
Код:
Buy = b1 + b3 + b5 >= 2;
Short = b2 + b4 + b6 >= 2;

Всё верно!
Спасибо Олег!
Грамотное решение!

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Чт Июл 21, 2016 8:17 pm Ответить с цитатой Вернуться к началу

Для условий "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

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

А зачем такой геморой?
Код:
f1=Flip(Cross(m1,m2),Cross(m2,m1));


f1 = 1 когда m1 > m2
Так может так и написать
Код:
f1 = m1 > m2;

...

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

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

000 писал(а):
Так может так и написать
Код:
f1 = m1 > m2;

...

Согласен.

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вт Сен 06, 2016 9:01 pm Ответить с цитатой Вернуться к началу

Олег, помоги исправить ошибку:
Код:
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

СообщениеДобавлено: Вт Сен 06, 2016 11:50 pm Ответить с цитатой Вернуться к началу

Ну нифига себе вопрос... А скобку закрыть где положено не пробовал?

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

СообщениеДобавлено: Ср Сен 07, 2016 3:13 am Ответить с цитатой Вернуться к началу

000 писал(а):
А скобку закрыть где положено не пробовал?;

Спасибо Олег, попробовал - работает!!! Cool

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen