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



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

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

000 писал(а):
держи
ну круууть))) Спасибо. сижу вникаю!
Посмотреть профиль Отправить личное сообщение ICQ Number
kosbar



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

СообщениеДобавлено: Вс Июл 12, 2009 2:18 am Ответить с цитатой Вернуться к началу

прикольный и простой код.
Только прикинул я как бары будут рисоваться в живую и понял, что приколов будет больше))))) Особенно на крупном таймфрейме.
Я так понимаю, следующий бар будет появляться сразу же, словно конёк-горбунок, из ниоткуда. Ведь ами будет сначала проверять Close бара (то есть вгонит его в память целиком). а потом уже будет решать пририсовывать его к старому или уже рисовать новый.
Получается, чтобы увидеть этот график более менее плавно выстраивающимся, его нужно использоваться на как можно меньшем таймфрейме, с как можно большим % ходом.
И ещё, у меня не получилось протестить сделки на нём, ами же в своей голове держит только оригинальные OHLC.
Пробовал самое первое что пришло на ум, глядя на эту красотищу:

Код:
BuyPrice = Open;
BC = Ref(RO,-1)<Ref(RC,-1);
SC = Ref(RO,-1)>Ref(RC,-1);

B = ExRem( BC, SC );
S = ExRem( SC, BC );

Buy = b;
Sell = s;


PlotShapes(b*shapeUpArrow,colorGreen,0,RL);
PlotShapes(s*shapeDownArrow,colorRed,0,RH);

как быть?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вс Июл 12, 2009 12:16 pm Ответить с цитатой Вернуться к началу

kosbar писал(а):
прикольный и простой код.
Только прикинул я как бары будут рисоваться в живую и понял, что приколов будет больше))))) Особенно на крупном таймфрейме.
Я так понимаю, следующий бар будет появляться сразу же, словно конёк-горбунок, из ниоткуда.

Мало того. Возможна ситуация, что бар будет пропадать... (

Цитата:
И ещё, у меня не получилось протестить сделки на нём, ами же в своей голове держит только оригинальные OHLC.

Да протестировать не получится... (
В принципе конечно можно написать код который будет вычислять и рисовать эквити, но не более того...

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



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

СообщениеДобавлено: Вс Июл 12, 2009 7:13 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Мало того. Возможна ситуация, что бар будет пропадать... (
Ой, можно пример? Если я буду иметь 1-минутную базу, и буду смотреть 3-4% изменение цены, неужели может появиться какой-то косяк с пропаданием бара? Как, где?
А если использовать внутренний (встроенный) range программы, в абсолютных числах, тогда тоже возможны такие косяки?
000 писал(а):
Да протестировать не получится... (
В принципе конечно можно написать код который будет вычислять и рисовать эквити, но не более того...
Ок, хоть что-то.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вс Июл 12, 2009 8:14 pm Ответить с цитатой Вернуться к началу

В реал тайме запросто может пропадать бар. Если цена закрытия базового бара вышла за пределы ранжа, то начнет строится новый бар и если потом цена закрытия снова уйдет в диаппазон старового бара, то новый бар пропадет.
В идеале базовый фрейм надо брать тики. Тогда таких косяков не будет.

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



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

СообщениеДобавлено: Вс Июл 12, 2009 8:40 pm Ответить с цитатой Вернуться к началу

000 писал(а):
В реал тайме запросто может пропадать бар. Если цена закрытия базового бара вышла за пределы ранжа, то начнет строится новый бар и если потом цена закрытия снова уйдет в диаппазон старового бара, то новый бар пропадет.
Да, да, я тоже уже понял, как это может произойти, но ведь можно улучшить код, если проверять не Close нового бара, а High или Low относительно RO*(1+range)? Тогда пропадания должны остаться в прошлом, разве нет?
000 писал(а):
В идеале базовый фрейм надо брать тики. Тогда таких косяков не будет.
Чисто тиковые не так интересны, т.к. 200 тиков это может быть опуппенный рост (собственно та же нарезка по времени, только вместо времени тики), а может обыкновенный флэт... А важно именно делить движение цены на нужные тебе доли.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вс Июл 12, 2009 10:30 pm Ответить с цитатой Вернуться к началу

Я имел ввиду строить % Range из тиков.

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



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

СообщениеДобавлено: Вс Июл 19, 2009 10:27 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Я имел ввиду строить % Range из тиков.
так-то да, только тиковые базы данных (проверил тут на днях) для моей банки тяжеловаты, да и при больших процентах должно хватить и минутных данных, хотя опять же, сбер к примеру может за минуту на 2-3% скакануть! %)))
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вс Июл 19, 2009 11:06 pm Ответить с цитатой Вернуться к началу

2 варианта.
1. Мирится с тем, что возможны такие коясяки
2. Переписать код чтобы он строил не по Close, а по High/Low

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



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

СообщениеДобавлено: Пн Июл 27, 2009 5:08 pm Ответить с цитатой Вернуться к началу

Олег, два вопроса:
1. Хотел примастачить AlertIF:
Код:
Cond1 = Ref(RC,-1) < Ref(RO,-1);
Cond2 = Ref(RC,-2) > Ref(RO,-2);
AlertIf(Cond1 AND Cond2, "SOUND C:\\Windows\\Media\\ir_end.wav", "Audio alert", 2 );

суть проста: как только новая свечка откроется проверяется закрытие прошлой и позапрошлой, если на прошлой свеча тёмная, а на позапрошлой светлая - даётся алерт.
Не сработало))) Пищит когда вздумается, я сначала подумал, что ами вместо RO RH RL RC проверяет свечки базового таймфрема (минутки) - оказалось нет, вааапсче не понимаю когда и по какому принципу даёт голос.
2. Хотел вывести Дневные данные, но так, чтобы график с %R продолжал строиться по минуткам, крутил всякие TimeFrame*... но безуспешно. Как корректно вывести дневки, чтобы Range% продолжал строиться по минуткам?
Посмотреть профиль Отправить личное сообщение ICQ Number
kosbar



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

СообщениеДобавлено: Сб Авг 08, 2009 8:12 pm Ответить с цитатой Вернуться к началу

вывод дневок решил новым Blank Chart)))) впервые воспользовался.
если кому-то захочется вынеси на %Range свой индикатор, написанный на OHLC то нужно внести изменения в коде:
вместо
Код:
RO = Ref(RO, -delta);
RH = Ref(RH, -delta);
RL = Ref(RL, -delta);
RC = Ref(RC, -delta);

сделать тупо:
Код:
O = Ref(RO, -delta);
H = Ref(RH, -delta);
L = Ref(RL, -delta);
C = Ref(RC, -delta);

Ну и попробовал тестировать как композитный символ, не вышло.
Посмотреть профиль Отправить личное сообщение ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen