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



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

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

Всем Здравствуйте!
Буду краток, суть вопроса в том, как записать в Ами:
купля сбербанка ао тогда , когда сбербанк ап будет стоить 69

я просто с этим не сталкивался, как взять цену другого эмитента для торговли?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Апр 13, 2010 3:26 pm Ответить с цитатой Вернуться к началу

foreign();

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



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

СообщениеДобавлено: Вт Апр 13, 2010 3:37 pm Ответить с цитатой Вернуться к началу

спасибо!)
Посмотреть профиль Отправить личное сообщение
TeRGeR



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

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

еще вопрос
допустим у меня есть 2 компании, хочу купить одну из них если она станет дороже (в коэффициентном отношении) и продать когда наоборот.

Sell = 0;
Buy = 0;

price_V = Foreign("Vtel", "C");
price_U = Foreign("URSI", "C");

price_K_V = price_V * 0.8912;
price_K_U = price_U * 87.59665;

IIf(price_K_V > price_K_U, Maxim = 1, Maxim = 2)));

if(Name() == "Vtel") {
Classcode="EQBR";
Seccode="Vtel";
Buy = Maxim == 1;
}

if(Name() == "URSI") {
Classcode="EQBR";
Seccode="URSI";
Buy = Maxim == 2;
}

IIf(price_K_V < price_K_U, Minim = 1, Minim = 2)));

if(Name() == "Vtel") {
Classcode="EQBR";
Seccode="Vtel";
Sell = Minim == 1;
}

if(Name() == "URSI") {
Classcode="EQBR";
Seccode="URSI";
Sell = Minim == 2;
}
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Вот это
Код:

IIf(price_K_V > price_K_U, Maxim = 1, Maxim = 2)));

НЕ ПРАВИЛЬНО!!! Очень распространенная ошибка!
Правильно так.
Код:

Maxim = IIf(price_K_V > price_K_U, 1, 2);

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



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

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

Спасибо, Олег!
очень тебе благодарен! буду исправлять )
Посмотреть профиль Отправить личное сообщение
TeRGeR



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

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

исправил
Код:

Sell = 0;
Buy = 0;

price_V = Foreign("Vtel", "C");
price_U = Foreign("URSI", "C");

price_K_V = price_V * 0.8912;
price_K_U = price_U * 87.59665;

Maxim = IIf(price_K_V > price_K_U,  1,  2);

if(Name() == "Vtel") {
Classcode="EQBR";
Seccode="Vtel";
Buy = Maxim == 1;
}

if(Name() == "URSI") {
Classcode="EQBR";
Seccode="URSI";
Buy = Maxim == 2;
}

Minim = IIf(price_K_V < price_K_U,  1, 2);

if(Name() == "Vtel") {
Classcode="EQBR";
Seccode="Vtel";
Sell = Minim == 1;
}

if(Name() == "URSI") {
Classcode="EQBR";
Seccode="URSI";
Sell = Minim == 2;
}


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


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

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

Вот так лучше будет
Код:

price_V = Foreign("Vtel", "C");
price_U = Foreign("URSI", "C");

price_K_V = price_V * 0.8912;
price_K_U = price_U * 87.59665;

Maxim = IIf(price_K_V > price_K_U,  1,  2);
Minim = IIf(price_K_V < price_K_U,  1, 2);

if(Name() == "Vtel") {
Classcode="EQBR";
Seccode="Vtel";
Buy = Maxim == 1;
Sell = Minim == 1;
}

if(Name() == "URSI") {
Classcode="EQBR";
Seccode="URSI";
Buy = Maxim == 2;
Sell = Minim == 2;
}

А где сделок нет? В роботе или тестере?

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



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

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

исправил названия "Vtel" на "VTEL" вроде заработало, правда покупает только по одному эмитенту и почему-то все сделки происходили в 18.00 что закрытие, что закрытие
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Включи в настройках АА на закладке Report опцию Detailed log и разбирайся.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen