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


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

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

Вобщем через личку общались, но вроде инфа полезна, разбиралась следующая система:

////////// Правила системы ///////////////


Buy = Cross(MACD(), Signal());
Sell = Cross(Signal(), MACD());
Short = 0;
Cover = 0;

////// Убираем лишние сигналы /////////////

Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

Buy = Ref(Buy, -1);
Sell = Ref(Sell, -1);
Short = Ref(Short, -1);
Cover = Ref(Cover, -1);

Buy = LastValue(Buy);
Sell = LastValue(Sell);
Short = LastValue(Short);
Cover = LastValue(Cover);


Последовательность вопросов и ответов не соблюдается передается общий смысл, но постараюсь упорядочить по темам, зеленый я, красный ООО:

1
Слущай, ты там систему, правильно ли я все понял:

.....
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

(Это тоже впринцыпе, ходя вроде для Cross такое и нетребуется)



Не требуется. Просто у меха это было. Я оставил.

2
Buy = Ref(Buy, -1);
Sell = Ref(Sell, -1);
Short = Ref(Short, -1);
Cover = Ref(Cover, -1);

(Это для меня вообще непонятно, как условие сейчас будет равно само себе бар назад)



Результатом будет сдвиг сигнала на один бар.
Это сделано для того, чтобы переместить сигнал на сделку на следующий бар. В случае тестирования аналог будет "зедержка 1 сделка по открытию" При тестировании разумеется этого не надо, но тут мы имеем дело с реал таймом и последняя свечка постоянно меняется (дышит) при этом сигнал может то появляться, то пропадать, а перенеся его на следующий бар мы имеем сигнал по уже сформированной предыдущей свечке и робот его сразу исполняет (фактически по открытию следующей свечи)


Для чего реф я знаю, просто незнал с покупкой продажей так можно поступать, счас понял свою ошибку.

3
Buy = LastValue(Buy);
Sell = LastValue(Sell);
Short = LastValue(Short);
Cover = LastValue(Cover);

(тут судя по описанию функции, ты все сигналы превратил в 0)



Нет. Дело в том, что Buy, Sel.... это массивы. А нам нужна переменная для последующей работы. LastValue делает из массива переменную беря последнее значение массива.

А ведь система все равно с косяком, сигналы не генеряться и ее убил последний абзац. Может из-за того что Buy = LastValue(Buy); здесь ты первратил в число, Buy = Ref(Buy, -1); а здесь перенес исполнение, може их вместе использовать именно так нельзя?

Как же не генерятся, когда именно этот робот я гонял на демо два дня и он работает как часы.
Ты наверное пробовал его в тестер запихать? Он для тестера не предназначен, только для робота.



А вообще смысл системы из 12 строк, если она должна состоять из 4 или я чегото в системе не понял? И почему система для тестера отличается от системы рабочей, я этого незнал.

А просто вот так нельзя?

Buy = ref(Cross(MACD(), Signal()),-1);
Sell = ref(Cross(Signal(), MACD()),-1);
Short = 0;
Cover = 0;

ну для тестера можно, а вот в робот такая конструкция пойдет или всетаки придется добавить:
Buy = LastValue(Buy);
Sell = LastValue(Sell);

А то я запутался.


Для тестера обязательно нужно добавить
Buy = LastValue(Buy);
Sell = LastValue(Sell);

или
Buy = Buy[barcount - 1];
sell = sell[barcount - 1];


А buyprice=Sellprice=0; не катит, я какбы их добавляю, правда и системы основаны на индюках, пересечения, изгибы и т.д. , т.е. сигнал всегда равен или C или O.

И еще ты писал для тестера нужны массивы Buy, sell, short, cover. Для робота нужна константа (только значение на последнем баре), я понял что LastValue нужно нооборот для робота. Блин похоже в учебнике нужно разьеснить разницу подготовки системы для тестирования и реальной торговли.


Перепутал конечно для робота


BuyPrice, sellprice роботу вообще пофиг.
Больше того. Для робота можно Buy, Sell... заменить любыми другими словами. ))))



Да нет, их я для тестера пишу.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen