Автор |
Сообщение |
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
Хочу проверить следующую идейку. Стоит ли СЕГОДНЯ покупать акцию, если вчера она выросла на 15-20-25%
Написал следующий кусок кода
Buy= (Ref( C, -1) - Ref( Open, -1) )/ (Ref( Open, -1) ) > 0.2; //20%
BuyPrice = Open;
//Sell = ???
//SellPrice = Close;
Правильно ли написан этот кусок кода и как надо написать SELL, если я хочу продавать тупо СЕГОДНЯ на закрытии |
_________________ Антон |
|
Посмотреть профиль Отправить личное сообщение |
|
ID
Советник
Зарегистрирован: 07.01.2008
Сообщения: 370
|
В твоем случае:
Sell = buy;
Примечание: ИМХО надо считать рост не от открытия до закрытия (как у тебя), а от седняшнего закрытия до вчерашнего закрытия. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
ID, спасибо, но я сделал немного по-другому, считаю разницу между закрытием предыдущего и предпредыдущего дня
Buy= (Ref( C, -1) - Ref( C, -2) )/ (Ref( C, -2) ) > 0.2; //20%
Sell = Buy;
BuyPrice = Open;
SellPrice = Close;
p.s. чую эту формулу можно было как-нить через ROC написать
p.p.s
Самое главное, что у меня не получилось покупать по цене Open, он всеравно покупает по клоузу, что делать? Кто может проверить сей код на длинной базе дневных котировок ММВБ, код ожидается достаточно прибыльным ) |
_________________ Антон |
|
Посмотреть профиль Отправить личное сообщение |
|
ID
Советник
Зарегистрирован: 07.01.2008
Сообщения: 370
|
Код: |
Buy= Ref(ROC(C,1)>20,-1);
BuyPrice=O;
Sell=Ref(Buy,-1);
SellPrice=O; |
Если настройки тестера settradedelays адекватные, то должен покупать на открытии и закрывать на открытии. Считать закрытие по закрытию ИМХО не корректно. Но если все таки хочешь то пиши так:
Код: |
Buy= Ref(ROC(C,1)>20,-1);
BuyPrice=O;
Sell=buy;
SellPrice=close; |
проверить код не могу. На форексе я |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
ID, Чего то тут не то, часть сделок не находит сканер
попробую еще раз описать условие:
Вход: хочу покупать сегодня на открытии, если вчерашнее закрытие относительно позавчерашнего закрытия выросло на 15%
Выход: продаю в день покупки по цене закрытия
Buy= (Ref( C, -1) - Ref( C, -2) )/ (Ref( C, -2) ) > 0.15; //15%
// Покупка= (Цена закрытия вчера - Цена закрытия позавчера)/(Цена закрытия позавчера) составляет больше 0.15 те 15%
BuyPrice = Open;
//вроде все ок, стоит цена открытия
Sell = Buy;
//продажа в ту же свечку что и покупка, вроде все ок
SellPrice = Close;
//цена покупки - цена закрытия, тоже вроде все ок
но нормально не работает, можно проверить на дневках ростел-п и рбк. Где ошибка? В настройках тестера все ОК, все стопы по нулям, никаких delay не настроены. |
_________________ Антон |
|
Посмотреть профиль Отправить личное сообщение |
|
ID
Советник
Зарегистрирован: 07.01.2008
Сообщения: 370
|
Антон, я сейчас специально скачал дневки RTKM c финама.
за последние 4 года один сигнал на бай 31/10/08. и все.
построй свой индикатор - сигнал точно один (15% рост):
Код: |
my_roc= ROC(C,1);
Plot(my_roc,"my_roc",colorRed,1); |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
ID, код исправил, сейчас все ОК, тестирования по всем стокам дает пложительный эффект +46%,
хотел спросить, а реально сюда прикрутить внутредневной стоп (на 1 свечке), чтобы если после открытия цена была ниже N процентов, тогда нужно выходить сразу а не по закрытию
Buy= (Ref(ROC(C,1),-1) > 15) ;
BuyPrice = Open;
Sell = Buy;
SellPrice = Close;
//ApplyStop(stopTypeLoss, stopModePercent, Optimize( "max. loss stop level", 10, 1, 10, 1 ), True ); //почему то не работает
p.s. я имел ввиду РОСТЕЛ-ПРЕФЫ, там сигналов должно быть больше |
_________________ Антон |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Амиброкеровец писал(а): |
хотел спросить, а реально сюда прикрутить внутредневной стоп (на 1 свечке), чтобы если после открытия цена была ниже N процентов, тогда нужно выходить сразу а не по закрытию
|
Активируй опцию Activate Stops Immediately (в хелпере ищи ActivateStopsImmediately) и можешь ставить свой стоп. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
А чоб не дополнить Оптимайзером?
Proc = Optimize("Proc",1,1,30,1);
Buy= (Ref(ROC(C,1),-1) > Proc) ;
BuyPrice = Open;
Sell = Buy;
SellPrice = Close;
Всяк интереснее)))) |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
Можно и дополнить оптимайзером, просто я понял, что такие системы не для меня, не подходят психологически |
_________________ Антон |
|
Посмотреть профиль Отправить личное сообщение |
|
|