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



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

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

Хотелось бы для начала спросить, есть ли у кого работающий механизм работы на Range bar-ах (в режиме - TimeFrameMode(4)) как на родном (без сжатия и разжатия) TimeFrame так и с использованием функций … TimeFrameSet , TimeFrameRestore, TimeFrameExpand на базовом TimeFrame (1R или Ticks)
Заранее спасибо всем кто откликнется!

_________________
knell
Посмотреть профиль Отправить личное сообщение
knell009



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

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

Попробую по другому спросить...
Исходные данные:
AmiBroker 5.40 Professional edition (version 5.40.3, Build date: Jun 9 2011)
Создана тиковая база с одним Symbol = RIH2
Создан один chart (Intraday=Tick)

в Information стоят следующие параметры:
Раздел Contract Specification:
Round Lot Size = 1
Margin Deposit = 1200
Tick size = 1
Point Value = 1

Edit Formula:

Код:
_SECTION_BEGIN("test");

TimeFrameMode(4);
TimeFrame = 50;    //Range Bars (50R)
TimeFrameSet(TimeFrame);
MAS = MA(Close, 5);
TimeFrameRestore();
TimeFrameMode(0);

MAS = TimeFrameExpand(MAS, TimeFrame);

Buy = Cover = MAS < Close;
Sell = Short = MAS > Close;

//--СНЯТИЕ ЛИШНИХ СИГНАЛОВ--
Buy  = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Short = ExRem(Short,Cover);
Cover = ExRem(Cover,Short);

//--ОТРИСОВКА ТОРГОВЫХ СИГНАЛОВ--
Plot(MAS, "MAS", 4, styleThick|styleOwnScale);
Plot(Close, "Price", 1, 64);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorGreen, 0,Low,-15);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorRed, 0,High,-15);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorBlue, 0,High,-25);
PlotShapes(IIf(Cover, shapeUpArrow, shapeNone),colorOrange, 0,Close,-40);

//--Исходный код Робота:------------
Buy = Ref(Buy, -1);
Sell = Ref(Sell, -1);
Short = Ref(Short, -1);
Cover = Ref(Cover, -1);
_SECTION_END();
//------------------------------------


Этот код работает не правильно. На ролике error.mp4 (архив error_.zip) видно что происходит с сигналами Buy,Sell,Short,Cover.
Если же работать с временными TimeFrame-ами (TimeFrameMode(0)), а не с Range Bar-ами, такого эффекта не наблюдается.

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


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

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

TimeFrameExpand не работает в режиме Range Bars. Не знаю в чем дело и как обойти... Sad

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



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

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

Значит пока что будем работать без переключений.. =)

В продолжении темы.
Idea При работе с range bar-ами не надо забывать что бары могут сформироваться с одним временем... это затрудняет использование такого механизма как вход или выход по предыдущей свече:
Код:
Buy = Ref(Buy, -1);
Sell = Ref(Sell, -1);
Short = Ref(Short, -1);
Cover = Ref(Cover, -1);


Мы не можем предположить сколько может в один момент нарисоваться свечей. Допустим их сформировалось 3. А по условиям стратегии сигнал сработал на 1-й свече из 3 сформировавшихся с одним временем.. и дальнейшая обработка сигнала Ref(*, -1); пропустит этот сигнал.

Пока что в голову приходит мысль о том что необходимо постоянно проверять (искать новые сигналы) в цикле от бара на котором был ранее исполненный сигнал (Buy или Short) до последнего бара. Если нашли новый сигнал проверять чтобы время бара на котором он был было не текущим и исполнять его... Запомнив опять номер бара с которого будем искать, новый сигнал.

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


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

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

Я с ранже не работаю. Но, насколько знаю и попробовал никак одновременно не может сформироваться несколько свечек. Для формирования новой свечки должен обязательно придти новый тик.
Конечно они могут придти достаточно быстро, так что робот пропустит момент...
Ну не так сложно растянуть сигнал на все бары до противоположного (Flip), а исполнение сигнала в новом роботе записывается в файл и повторное исполнение не возможно. Так, что больших проблем не вижу.

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



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

СообщениеДобавлено: Чт Май 13, 2021 7:25 pm Ответить с цитатой Вернуться к началу

Чот не могу организовать рендж-бары ((
Тиковый экспорт из Квика
Меняю на кастом фрмат отображения "R" - идут тики
Пишу программно, как в 1-ом посте, серавно тики.
Тики мне так то не нужны, но у квика нет экспорта секундных баров, только минутные. Поэкспериментировал с минутками, тоже результата нет (((

ПыСы. наколупал на импортных форумах. оказалось под новую базу не прописал параметры тикера, как то тиксайз например ))

теперь еще одна проблема возникла. как определить бар, завершающий дневную сессию. раньше на 5м это был бар 18-40 и с него начинался отсчет индюка, а теперь со временем биде и хз как амику сказать, что надо брать за точку отсчета бар, максимально близкий к 18-45... он может быть типатам 18-17 или 18-26 какойнить теперь
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Настройки базы данных -> IntraDay settings.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen