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



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

СообщениеДобавлено: Вс Апр 05, 2015 7:44 pm Ответить с цитатой Вернуться к началу

Здравствуйте . На графике стрелка на Bay И Sell почему то получается не на пересечении быстрой и медленной , а почему не могу понять .

Код:

r1 = Param( "Fast avg", 12, 2, 200, 1 );
r2 = Param( "Slow avg", 26, 2, 200, 1 );
r3 = Param( "Signal avg", 9, 2, 200, 1 );
Plot( ml = MACD(r1, r2), StrFormat(_SECTION_NAME()+"(%g,%g)", r1, r2), ParamColor("MACD color", colorRed ), ParamStyle("MACD style") );
Plot( sl = Signal(r1,r2,r3), "Signal" + _PARAM_VALUES(), ParamColor("Signal color", colorBlue ), ParamStyle("Signal style") );
L1 = -10;
L2 = 10;
Buy= Cross(sl<L1,ml<L1 );
Sell=Cross(sl>L2,ml>L2);
shape = Buy * shapeUpArrow+ Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, colorBrightGreen, colorRed ), 0, IIf( Buy, sl,sl ) );
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Апр 05, 2015 9:15 pm Ответить с цитатой Вернуться к началу

Потому, что у тебя сигналы не на пересечении быстрой и медленной, а на пересечении уровней
Код:

L1 = -10;
L2 = 10;
Buy= Cross(sl<L1,ml<L1 );
Sell=Cross(sl>L2,ml>L2);

Сделай так.
Эти 4 строки убери, а вместо них 2 эти
Код:
Buy= Cross(ml, sl);
Sell=Cross(sl, ml);

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



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

СообщениеДобавлено: Пн Апр 06, 2015 3:23 am Ответить с цитатой Вернуться к началу

000 писал(а):
Потому, что у тебя сигналы не на пересечении быстрой и медленной, а на пересечении уровней
Код:

L1 = -10;
L2 = 10;
Buy= Cross(sl<L1,ml<L1 );
Sell=Cross(sl>L2,ml>L2);

Сделай так.
Эти 4 строки убери, а вместо них 2 эти
Код:
Buy= Cross(ml, sl);
Sell=Cross(sl, ml);

Да , Но надо чтобы Bay был строго ниже уровня (-10) .
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Апр 06, 2015 9:03 am Ответить с цитатой Вернуться к началу

Тогда так
Код:
Buy= Cross(ml, sl) AND ml < -10;

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



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

СообщениеДобавлено: Пн Апр 06, 2015 7:18 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Тогда так
Код:
Buy= Cross(ml, sl) AND ml < -10;

Спасибо .
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen