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



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

СообщениеДобавлено: Чт Фев 21, 2008 1:17 am Ответить с цитатой Вернуться к началу

Вот код, который покупает и продаёт, один раз в день:
Код:
BuyCond    = //условия покупки
BuyCount   = Sum(BuyCond, BarsSince(StartofDay)+1);
Buy        = BuyCond AND BuyCount == 1;
Sell       = //условия продажи

Код работает. Однако, есть незадача: Если у меня в системе, при бактестинге, используется больше одного тикера, допустим два, то будет исполнен только первый Buy сигнал, который был в этот день.

День: Оба тикера выдают Buy сигналы. Допустим один (EUR) в 00:15 и второй (GBP) в 00:20. Будет исполнен только первый. Потому что в 00:16 (грубо говоря) счетчик BuyCount станет больше единицы и не даст выполнится второму buy сигналу. А надо что бы давал. Вот только ума не приложу - как это сделать.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Фев 21, 2008 2:08 am Ответить с цитатой Вернуться к началу

Скорее всего дело не в этом. Просто не хватает денег на открытие второй позиции т.к. все связаны первой.
У меня вот этот код
Код:

StartWeek = DayOfWeek() < Ref(DayOfWeek(), -1);

SetPositionSize(1, 4);

BuyCond =
IIf(Name() == "GBP",
DayOfWeek() == 2 OR DayOfWeek() == 4,
IIf(Name() == "EUR",
DayOfWeek() == 3,
0));

BuyCount   = Sum(BuyCond, BarsSince(StartWeek)+1);

Buy        = BuyCond AND BuyCount == 1;
Sell = DayOfWeek() == 5;

замечательно работает. (проверял на дневках поэтому вместо дня использовал неделю)

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


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

СообщениеДобавлено: Чт Фев 21, 2008 2:18 am Ответить с цитатой Вернуться к началу

Иногда полезно в настройках тестера на закладке Report включить опцию "Detailed log". Тогда в отчете сразу видно какие сигналы были и открывалась ли по ним позиция.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen