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



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

СообщениеДобавлено: Чт Апр 07, 2011 10:42 pm Ответить с цитатой Вернуться к началу

Только начал разбираться с AFL и не могу исправить вот такой пример:

Код:
Buy = Cross( EMA( Close, 5 ) , EMA( Close, 40 ) );
Sell = Cross( EMA( Close, 40 ), EMA( Close, 5 ) );


Хочу сделать так, чтобы сигналы на покупку и продажу поступали в момент пересечения 5-дневной средней с 40-средневной.

В чем моя ошибка в коде?[/code]
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Апр 07, 2011 10:51 pm Ответить с цитатой Вернуться к началу

Нет никакой ошибки. А почему решил, что ошибка?

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



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

СообщениеДобавлено: Пт Апр 08, 2011 10:15 am Ответить с цитатой Вернуться к началу

Решил, что ошибка потому что, посмотрев сделки, увидел, что они совершаются не в момент пересечения средних, а когда цена закрытия пересекает одну из линий.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Пт Апр 08, 2011 1:12 pm Ответить с цитатой Вернуться к началу

Могет добавить к коду строчки BuyPrice, SellPrice?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Пт Апр 08, 2011 1:45 pm Ответить с цитатой Вернуться к началу

MA8 писал(а):
Решил, что ошибка потому что, посмотрев сделки, увидел, что они совершаются не в момент пересечения средних, а когда цена закрытия пересекает одну из линий.

Этого не может быть. Код верный еа 100%. И очень, очень маловероятно, что Ами лажает. Скорее всего что то не так смотришь. Давай скрины.

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



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

СообщениеДобавлено: Пт Апр 08, 2011 10:09 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Этого не может быть. Код верный еа 100%. И очень, очень маловероятно, что Ами лажает.


Все верно, Ами не лажает. Разобрался с проблемой. На графике был выбран другой период для одной из средних, поэтому пересечения не совпадали.

Но обнаружил другую проблемую Скрипт открывает только длинные позиции, на скриншоте видно, что 10 марта короткая позиция не была открыта, хотя 5-дневная линия пересекла 20-дневную. (в скрипте я поменял один параметр с 40 дней на 20)

Image[/img]
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Апр 09, 2011 7:52 am Ответить с цитатой Вернуться к началу

Правильно. Он и не будет открывать короткую позицию. И этому целых 2 причины.
1. У тебя в коде нет правил на открытие короткой.
Открытие короткой позиции
Short = Cross(....);
Закрытие короткой
Cover = Cross();
2. В настройках АА Position стоит Long, а для открытия коротких надо Long and Short

Если бы в настройках стояло Long and Short, то Ами бы ругался, что в коде нет правил на открытие шорта.

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



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

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

Все, теперь разобрался
Большое спасибо за помощь.

Есть все-таки еще один вопрос. Почему если прогнать один и тот же код по всем акциям, то получется 13 сделок, а если выбрать только одну, то получается больше чем для всех - 17? Пробовал менять размер начального капитала, но ситуация не меняется.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Апр 10, 2011 8:57 am Ответить с цитатой Вернуться к началу

Все просто. У тебя в коде не установлен размер позиции.
SetPositionSize();
Поэтому Ами когда видит сигнал на сделку берет на все. Соответственно все следующие сигналы игнорируются, т.к. нет свободных денег, до тех пор, пока не закроется уже открытая позиция.

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



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

СообщениеДобавлено: Вс Апр 10, 2011 10:42 am Ответить с цитатой Вернуться к началу

000 писал(а):
Все просто. У тебя в коде не установлен размер позиции.
SetPositionSize();


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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen