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



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

СообщениеДобавлено: Чт Ноя 13, 2014 6:59 pm Ответить с цитатой Вернуться к началу

Здравствуйте.
Возник такой вопрос:
Как подтверждать сигнал на разных временных интервалах?
Попробую объяснить подробно.
1. Получить сигнал на часовом графике.
2. Получить сигнал на минутном графике.
3. Если сигналы совпадают на минутном графике выставить заявку.
4. Если сигналы различаются закрываем сделку.

Как то так.

P.S. На форуме поискал - либо плохо искал, либо такое никто не спрашивал.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Ноя 13, 2014 11:29 pm Ответить с цитатой Вернуться к началу

Типа так.
Код:
TimeFrameSet(inDaily); // переключаемся на дневной фрейм
   MA10_InDaily = MA(Close,10);
   Daily_Buy = Cross(C, MA10_InDaily);
TimeFrameRestore();
Daily_Buy = TimeFrameExpand(Daily_Buy, inDaily); // астягиваем массив Daily_Buy на основной фрейм

Minute_Buy = Cross(C, MA(C, 10));

Buy = Minute_Buy AND Daily_Buy;

1. При этом фрейм в АА должен быть равен минимально используемому в системе.
2. Функция TimeFrameSet() сжимает только массивы цен OHLCV. Поэтому расчет всяческих мувингов, RSI, стохастиков и т.п. нужных на старшем фрейме производить только внутри блока TimeFrameSet -> TimeFrameExpand

Ищи по форуму TimeFrameSet

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



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

СообщениеДобавлено: Пт Ноя 14, 2014 6:51 am Ответить с цитатой Вернуться к началу

ВОТ-ВОТ мне это и надо было!
Большое спасибо!
Посмотреть профиль Отправить личное сообщение
ZVV



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

СообщениеДобавлено: Пт Янв 09, 2015 10:00 am Ответить с цитатой Вернуться к началу

Чтобы не засорять похожими темами здесь спрошу:

Вот если

Цитата:
TimeFrameSet(inDaily);


то пишется :

Цитата:
Daily_Buy = ...;


А если

Цитата:
TimeFrameMode( 4 );
TimeFrameSet( 37 );


то вместо Daily_Buy что нужно написать Question

P.S. На Buy_37 Verify Syntax не ругается, это правильное решение?
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Сб Янв 10, 2015 3:47 am Ответить с цитатой Вернуться к началу

ZVV писал(а):
Чтобы не засорять похожими темами здесь спрошу:

Вот если

Цитата:
TimeFrameSet(inDaily);


то пишется :

Цитата:
Daily_Buy = ...;


А если

Цитата:
TimeFrameMode( 4 );
TimeFrameSet( 37 );


то вместо Daily_Buy что нужно написать Question

P.S. На Buy_37 Verify Syntax не ругается, это правильное решение?


пиши, что хочешь, я разрешаю. Cool лишь бы сам потом понял.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Янв 10, 2015 9:33 pm Ответить с цитатой Вернуться к началу

ZVV писал(а):


то вместо Daily_Buy что нужно написать Question

P.S. На Buy_37 Verify Syntax не ругается, это правильное решение?

Да. Это просто имя переменной (массива). Можно называть как угодно.

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



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

СообщениеДобавлено: Вс Янв 11, 2015 1:35 am Ответить с цитатой Вернуться к началу

Цитата:
Да. Это просто имя переменной (массива). Можно называть как угодно.


Вот только Verify Syntax не дает как угодно называть. Smile
Посмотреть профиль Отправить личное сообщение
ZVV



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

СообщениеДобавлено: Вс Янв 11, 2015 2:47 am Ответить с цитатой Вернуться к началу

Хелп! Ну я тут заводил пару тупых тем, конечно и создал себе репутацию, но блин не настолько же я ... среднестатистически Very Happy Я не программист, хочу для себя разобраться.. вот не могу для ренж баров понять чтобы по разным фреймам работал тестер. При том что по классическим графикам со шкалой времени понятно.


Вот взять простейший к примеру код

Цитата:

TimeFrameSet( inHourly );

Buy_inHourly = Close > Ref(Close,-1);

Sell_inHourly = Close < Ref(Close,-1);

TimeFrameRestore();

Buy_inHourly = TimeFrameExpand(Buy_inHourly, inHourly);
Sell_inHourly = TimeFrameExpand(Sell_inHourly, inHourly);



Buy = Buy_inHourly ;

Sell = Sell_inHourly ;


Прекрасно работает то что в нем написано на любых младших.

Переправленный в ренж бары не работает вообще, точнее график выглядит так, как будто написано

Цитата:
Buy = Close > Ref(Close,-1);

Sell = Close < Ref(Close,-1);


т.е. на любых младших фреймах фигачит по каждой свече и все.

Эмпирически перепробовал 100500 вариантов. Не могу понять. А в хелпе везде подсказки про формации с временем...

перепробовал разные варианты, думал правильно будет такой (тиковые данные SBRF, график ну скажем 2000R )
Цитата:

TimeFrameMode( 4 );
TimeFrameSet( 10000 );

Buy_10000 = Close > Ref(Close,-1);

Sell_10000 = Close < Ref(Close,-1);

TimeFrameRestore();

Buy_10000 = TimeFrameExpand(Buy_10000 , 10000 );
Sell_10000 = TimeFrameExpand(Sell_10000 , 10000 );



Buy = Buy_10000 ;

Sell = Sell_10000 ;


Начинает работать в конце графика и работает. как выше сказал по каждой свече.


В общем нужна помощь((
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Янв 11, 2015 10:01 pm Ответить с цитатой Вернуться к началу

А TickSize в настройках символа установил?
Цитата:

- switches time frame functions to N-Range bar operation (positive values passed to TimeFrameSet are treated now as N-range bars) where N is expressed in TickSize units (this is default mode of operation of range bars in 5.14 and above).

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



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

СообщениеДобавлено: Вс Янв 11, 2015 10:57 pm Ответить с цитатой Вернуться к началу

Database settings > Base time interval > Tick.
Backtester settings > Periodicity > 2000R.
Backtester settings > Tick size > 1.

Про это вопрос или еще где-то что-то надо установить? Вообще все тесты с ренж барами, с индикаторами или паттернами работают идеально, не могу настроить только тест по двум фреймам. Sad
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Янв 11, 2015 11:27 pm Ответить с цитатой Вернуться к началу

Меню Sumbol->Information->TickSize...

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



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

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

000 писал(а):
Меню Sumbol->Information->TickSize...


Про это не знал - повторюсь, проблем с тестами не было, непонятки конечно вызывало отображение на графике, думал считает копейки, ну так и оказалось потому что стояло "0", поставил "1", конечно после этого график стал отображаться логически правильно , тик стал равен 1р., то есть вместо 2000R нужно ставить 20R. В коде заменил 10000 на 100 - картина не изменилась:
1) база с 1 янв по 14 мая - тест начинается с 8 мая. Почему ?!
2)Я не правильно описал что работает как будто
Цитата:

Buy = Close > Ref(Close,-1);

Sell = Close < Ref(Close,-1);


Я не пойму вообще там логики происходящего - то открывает в одном баре, в следующем закрывает, то держит несколько баров, но совпадения логики с написанным нет.

Я вот думаю: а причина не может быть в
Цитата:

Buy_100 = TimeFrameExpand(Buy_100 , 100 );
Sell_100 = TimeFrameExpand(Sell_100 , 100 );

Там в подсказке при открытии скобки from interval, может тестер понимает это как какой-то интервал, количество баров?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Янв 12, 2015 2:51 am Ответить с цитатой Вернуться к началу

Картинки несоответствия можешь дать?

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



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

СообщениеДобавлено: Пн Янв 12, 2015 10:21 am Ответить с цитатой Вернуться к началу

Цитата:

TimeFrameMode( 4 );
TimeFrameSet( 100 );

Buy_100 = Close > Ref(Close,-1);

Sell_100 = Close < Ref(Close,-1);

TimeFrameRestore();

Buy_100 = TimeFrameExpand(Buy_100 , 100 );
Sell_100 = TimeFrameExpand(Sell_100 , 100 );

Buy = Buy_100 ;

Sell = Sell_100 ;
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Янв 13, 2015 9:19 am Ответить с цитатой Вернуться к началу

Привет. Никогда не работал с рандж барами. Сегодня постараюсь глянуть что там...

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen