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



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Чт Мар 05, 2009 2:32 pm Ответить с цитатой Вернуться к началу

Суть системки:

Берем индикатор, здесь например RSI
"Желаемая цена входа" определяется как Low бара при котором Rsi вышел из зеленой зоны, но покупка должна осуществлять только если в один из последующих баров цена опускалась ниже или равной "Желаемой цене входа"

Выход из сделки осуществляется только по стопу (лосс или профит) либо если получен сигнал на обратную сделку.

код:
Код:

//JSB_InitLib();
Length=10;//Optimize( "Length ", 10, 10, 12,2);
R = RSI(Length); //обычный рси
maxClip = Optimize( "maxClip", 70, 70, 80, 5 ); //определяем зону минимума
minClip = Optimize( "minClip", 30, 20, 30, 5 ); //определяем зону максимума

//УСЛОВИЯ ВХОДА В СДЕЛКУ

BuyCond = IIf( (r>minClip) AND (Ref(r,-1)<minClip),1,0); //  "Условие на покупку" - когда RSI выходит из зоны минимума
BuyCondPrice = Low;    //Определяем желаемую цену входа, как Low на баре на котором выполнилось "Условие на покупку"

ShortCond = IIf( (r<maxClip) AND (Ref(r,-1)>maxClip),1,0); // "Условие на шорт" - когда RSI выходит из зоны максимума
ShortCondPrice = High; //Определяем желаемую цену входа, как High на баре на котором выполнилось "Условие на шорт"

Buy = IIf(Low<=BuyCondPrice,1,0);      //если текущий Low становится меньше желаемой цены входа, значит входим по желаемой цене
Short = IIf(High>=ShortCondPrice,1,0); //если текущий High становится больше желаемой цены входа, значит входим по желаемой цене

Sell = (r>100);  //выход будет по стопу (профит или лосс), поэтому стоит нереальное значение
Cover = (r>100); //выход будет по стопу (профит или лосс), поэтому стоит нереальное значение

BuyPrice = BuyCondPrice;      //покупаем по желаемой цене
ShortPrice = ShortCondPrice;  // шортим по желаемой цене

//СТОПЫ
ApplyStop(stopTypeLoss, stopModePoint, Optimize( "max. loss stop level", 2.5, 1, 3, 0.25 ), True ); //выходим всегда по стопу
ApplyStop(stopTypeProfit , stopModePoint, Optimize( "max. take profit", 2, 1, 3, 0.25 ), True ); ////выходим всегда по стопу

//РИСОВАНИЕ
Plot(maxClip,"",colorRed,styleDashed );
Plot(minClip,"",colorGreen,styleDashed);
Plot(45,"",colorRose,styleDashed);
Plot(55,"",colorRose,styleDashed);
Plot( R, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
PlotOHLC(55,55,45,45,"Banda",ColorRGB(235,245,255),styleCloud );
PlotOHLC( r,r,50,r, "", IIf( r > 50, colorRed, colorBrightGreen ), styleCloud | styleNoLabel | styleClipMinMax, minClip, maxClip );


PlotShapes(IIf(Buy,shapeUpArrow,0),colorGreen,0,Graph0,-12);
PlotShapes(IIf(Short,shapeDownArrow,0),colorRed,0,Graph0,-24);



Вопросы:
1. Не понимаю почему стрелочки рисуются не на графике а на одной линии
2. Сигналы Buy и Short отображаются постоянно, хотя условия из возникновения прописаны
3. Как сделать ограничение на количество баров которое дается цене чтобы она достигла "Желаемую цену входа"
[/code]


Последний раз редактировалось: Амиброкеровец (Чт Мар 05, 2009 3:10 pm), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Чт Мар 05, 2009 2:42 pm Ответить с цитатой Вернуться к началу

2. Добавь после условий входа выхода
Equity(1);

3. попробуй BarsSince()

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Амиброкеровец



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Чт Мар 05, 2009 2:52 pm Ответить с цитатой Вернуться к началу

Юр, спасибо за barsince(), попробую как разберусь со стрелками, т.к equity(1) не помогло

картинку прилагаю
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Чт Мар 05, 2009 3:04 pm Ответить с цитатой Вернуться к началу

reg4all писал(а):
Юр, спасибо за barsince(), попробую как разберусь со стрелками, т.к equity(1) не помогло

картинку прилагаю


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

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Амиброкеровец



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Чт Мар 05, 2009 3:08 pm Ответить с цитатой Вернуться к началу

юриковский RSI_ можно смело заменить на обычный RSI, вот первые три строчки кода:

//JSB_InitLib();
Length=10;//Optimize( "Length ", 10, 10, 12,2);
R = RSI(Length); //обычный рси

также подправил первое сообщение
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Чт Мар 05, 2009 3:18 pm Ответить с цитатой Вернуться к началу

reg4all писал(а):
юриковский RSI_ можно смело заменить на обычный RSI, вот первые три строчки кода:

//JSB_InitLib();
Length=10;//Optimize( "Length ", 10, 10, 12,2);
R = RSI(Length); //обычный рси

также подправил первое сообщение


Блин счас пригляделся к коду, замени нафик в стопе stopModePoint на stopModePercent, либо укажи нормальное значение пунктов, 3 это не просто мало, а пипец как мало Smile И мне кажется это не единственный косяк, т.к. входы покрайне мере на графике не соответствуют условиям заявленным тобой. Вобщем вечером. какраз теща приезжает отмазка будет Smile

_________________
Юра

Последний раз редактировалось: commenced (Чт Мар 05, 2009 3:26 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Амиброкеровец



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Чт Мар 05, 2009 3:26 pm Ответить с цитатой Вернуться к началу

это спецально так сделано, системка для S&Pfut, где 2 п это 100$ около 15% от входа

Во вложении тиковые котировки за пару дней, в архиве который надо переименовать из afl в RAR также формат для их импорта (база должна быть тиковая иначе мало данных будет)
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

СообщениеДобавлено: Чт Мар 05, 2009 5:07 pm Ответить с цитатой Вернуться к началу

глянул, все просто, косяк действительно в условии. Вобщем ты его написал так

Buy = L<=L; //а это условие верно для всех баров шорт аналогично. если хочеш напишу сразу как правильно, но лучше если ты сам поймеш свою ошибку.

Небольшая подсказка.

BuyCond = IIf( (r>minClip) AND (Ref(r,-1)<minClip),1,0);
BuyCondPrice = Low;

первое выражение это масив из 1 и 0, второе это массив равный L, накакой связи между ними нет, а ты их в дальнейшем используеш, так какбудто 2 полученных массива соотнесены с друг другом.

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Амиброкеровец



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Пт Мар 06, 2009 12:55 am Ответить с цитатой Вернуться к началу

Юр, я кажется понял. Вот подправил код, но результат тот же

(кусок кода входа в сделку)

Код:
 //УСЛОВИЯ ВХОДА В СДЕЛКУ

BuyCond = IIf( (r>minClip) AND (Ref(r,-1)<minClip),1,0); //  "Условие на покупку" - когда RSI выходит из зоны минимума

if (BuyCond = 1)
BuyCondPrice = Low;    //Определяем желаемую цену входа, как Low на баре на котором выполнилось "Условие на покупку"

ShortCond = IIf( (r<maxClip) AND (Ref(r,-1)>maxClip),1,0); // "Условие на шорт" - когда RSI выходит из зоны максимума

if (ShortCond = 1)
ShortCondPrice = High; //Определяем желаемую цену входа, как High на баре на котором выполнилось "Условие на шорт"

Buy = IIf(Low<=BuyCondPrice AND BuyCond==1,1,0) ;      //если текущий Low становится меньше желаемой цены входа, значит входим по желаемой цене
Short = IIf(High>=ShortCondPrice AND ShortCond==1,1,0) ; //если текущий High становится больше желаемой цены входа, значит входим по желаемой цене

Sell = (r>100);  //выход будет по стопу (профит или лосс), поэтому стоит нереальное значение
Cover = (r>100); //выход будет по стопу (профит или лосс), поэтому стоит нереальное значение

BuyPrice = BuyCondPrice;      //покупаем по желаемой цене
ShortPrice = ShortCondPrice;  // шортим по желаемой цене

Equity(1); 

_________________
Антон
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Мар 06, 2009 1:31 am Ответить с цитатой Вернуться к началу

Код:

BuyCond = Cross(r, minClip);
BuyCondPrice = ValueWhen(BuyCond, Low);// цена покупки
BuyTimeCond = BarsSince(BuyCond) < 5; // на протяжении скольки баров ждем достижения цены покупки
Buy = Cross(BuyCondPrice, L) AND BuyTimeCond;
BuyPrice = BuyCondPrice;

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


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

СообщениеДобавлено: Пт Мар 06, 2009 7:01 am Ответить с цитатой Вернуться к началу

000 писал(а):
Код:

BuyCond = Cross(r, minClip);
BuyCondPrice = ValueWhen(BuyCond, Low);// цена покупки
BuyTimeCond = BarsSince(BuyCond) < 5; // на протяжении скольки баров ждем достижения цены покупки
Buy = Cross(BuyCondPrice, L) AND BuyTimeCond;
BuyPrice = BuyCondPrice;


Ну вот, учебный процесс сорван Sad Не зря админов всегда ругают, че хотят то творят Smile

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Амиброкеровец



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Пт Мар 06, 2009 9:18 am Ответить с цитатой Вернуться к началу

Спасибо товарищи!

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen