Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Вопросы по AFL |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 След. |
Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В общем пойдет. Тут вот в чем трабл.
С тех пор как я перевел часть хелпера утекло очень много воды и если взять новый хелпер, разобрать, подменить в нем уже переведенные страницы старого и перевести еще немного, то получается не очень хорошо т.к. некоторые описания старых функций изменились, В некоторых местах изменились сами функции и т.п. Так что ситуация такая. Надо брать старый, сравнивать с новым, где не изменилось оставлять, где изменилось переводить заново или править... В общем это большая работа.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
я вот как-то своему коду не очень доверяю))
это код для дневного ТФ:
Код: |
Buy = Cover = MA( Foreign( "XXX", "Open", 1) / Foreign ( "YYY", "Open", 1), SmoothRatio) >= Vratio;
Sell = Short = MA( Foreign( "XXX", "Open", 1) / Foreign ( "YYY", "Open", 1), SmoothRatio) < Vratio ;
BuyPrice = SellPrice = ShortPrice = CoverPrice = Open;
|
преобразовал его для минуток:
Код: |
TimeFrameSet( inDaily ); // change to daily timeframe
ratio = MA( Foreign( "XXX", "Open", 1) / Foreign ( "YYY", "Open", 1), SmoothPeriod);
TimeFrameRestore(); // restore timeframe
Buy = Cover = ratio >= Vratio
AND IIf( TimeNum() == 093100 , True , False );
Sell = Short = ratio < Vratio
AND IIf( TimeNum() == 093100 , True , False );
BuyPrice = SellPrice = ShortPrice = CoverPrice = Open;
|
но что-то результаты меня совсем не радуют, расхождения есть чуть ли не в 2 раза. подскажите, я там не накосячил в коде?
спасибо. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А кто экспандить будет?
TimeFrameExpand() ??? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
А кто экспандить будет?
TimeFrameExpand() ??? |
т.е. по идее так правильно должно быть?
Код: |
TimeFrameSet( inDaily ); // change to daily timeframe
ratio_daily = MA( Foreign( "XXX", "Open", 1) / Foreign ( "YYY", "Open", 1), SmoothPeriod);
TimeFrameRestore(); // restore timeframe
ratio = TimeFrameExpand(ratio_daily, inDaily);
Plot( ratio_daily, "ratio_daily", colorBlue );
Plot( ratio, "ratio", colorRed );
Buy = Cover = (ratio >= Vratio AND TimeNum() == 093100) ;
Sell = Short = (ratio < Vratio AND TimeNum() == 093100) ;
BuyPrice = SellPrice = ShortPrice = CoverPrice = Open;
|
но когда прорисовую линии на графике, ratio - вообще практически не меняется. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Все правильно. Так и должно быть. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
Все правильно. Так и должно быть. |
почему? я что-то где-то забыл?
ratio вообще не меняется на протяжении всего периода.
мне нужно всё посчитать на дневном ТФ и уже на минутном баре принять решение, открывать ли позицию. я вижу по результатам, что там даже сглаживание не происходит через MA. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ааа. Черт. Ошибся я.
Как то вот так
Код: |
FOR1 = SetForeign("XXX");
TimeFrameSet( inDaily ); // change to daily timeframe
DFOR1 = Open;
TimeFrameRestore();
OpenFOR1 = TimeFrameExpand(DFOR1, inDaily);
RestorePriceArrays();
for2 = SetForeign("YYY");
TimeFrameSet( inDaily ); // change to daily timeframe
DFOR2 = Open;
TimeFrameRestore();
OpenFOR2 = TimeFrameExpand(DFOR2, inDaily);
RestorePriceArrays();
ratio = MA( OpenFOR1 / OpenFOR2, SmoothPeriod);
Plot( ratio, "ratio", colorRed );
|
Функция TimeFrameSet переключает фрейм не всех массивов, а только
open(открытие), high(миксимум), low(минимум), close(закрытие), volume(объем), openint(открытый интерес), avg(средняя цена) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
Ааа. Черт. Ошибся я.
Как то вот так |
я дико извиняюсь, но не хочет работать как надо, всеравно MA не сглаживает.
а прорисовывается, тот же ratio_daily из этого(прошлого) кода, но на день смещённый вправо:
Код: |
TimeFrameSet( inDaily ); // change to daily timeframe
ratio_daily = MA( Foreign( "XXX", "Open", 1) / Foreign ( "YYY", "Open", 1), SmoothPeriod);
TimeFrameRestore(); // restore timeframe
Plot( ratio_daily, "ratio_daily", colorBlue );
|
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В одном окне SmoothPeriod 10 в другом 100 |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Да. Имей ввиду, что так ratio сглаживается не на дневках, а на минутках. Если надо на дневках, то не экспандим DFOR1 и DFOR2, расчитываем сглаженное ratio и потом уже его экспандим. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Kukulkan
Зарегистрирован: 11.01.2013
Сообщения: 19
Откуда: Санкт-Петербург
|
Олег, как подойти к конструированию такой кодины: есть два ряда (их можно изобразить в виде двух линий), они перескаются/сходятся/расходятся... как написать, что разница между этими рядами значит тем больше, чем дольше эти ряды находятся в трендовом (направленном) состоянии.
??? |
_________________ Не ходи за мной, я сам заблудился. |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Для начала неплохо бы определиться с трендом. Самый простой и классический способ бросить на линии мувинги. Чем дольше нет пересечения со средней, тем дольше линия в тренде. Ну а дальше по моему все просто. Узнаем сколько баров прошло от пересечения, берем меньшее из двух значений (от двух линий) и умножаем разницу на это число. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
спасибо, сверху добился, чего хотел)
Код: |
Vratio_buy = Optimize("Vratio_buy", 1.1, 0.8, 1.3, 0.02);//opredelyaet urovenj buy/short, defolt 100% ot wcherashnego diapazona
Vratio_sell = Vratio_buy - Optimize("Vratio_sell", 1.1, 0.0, 1.3 - Vratio_buy, 0.02);
|
тут можно как-то заставить вариировать это значение "1.3 - Vratio_buy", чтоб заработала вторая оптимизация? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Не, в функцию Optimize() нельзя переменные параметры пихать. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
ребят, подкиньте условия, чтоб система именно на каждом баре переворачивалась в шорт)
как-то так?
Код: |
Sell = Buy = 0;
Short = 1 ;
Cover = Ref ( Short, -1) ;
Short = ExRem( Short, Cover );
Cover = ExRem( Cover, Short );
|
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Вопросы по AFL |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|