Автор |
Сообщение |
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Уф. Пока ничего не получается. Впечатление такое, что функция "расжимания" массивов TimeFrameExpand() не реагирует на фукнкцию переключения режимов TimeFrameMode() Любопытно, что для режима N-volume есть способ задания интервала без применения TimeFrameMode(), для этого надо указать объем бара цифрой "нужный объем - 1000000". А вот как указать ранж бара без переключения режимов выяснить пока не удалось (по моему мнению так должно сработать).
А тут еще почтовая база за 5 лет рухнула насмерть...
В любом случае руки я пока не опустил. Еще поковыряюсь. |
Навсякий случай обозначаю зависшие вопросы. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Вопросы то зависли. Только вот решить не получается... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Вопросы то зависли. Только вот решить не получается... |
Вобщем все просто, тиковая база данных, график открываем выбирая период тик. размер баров может привышать установленный, т.к. бар отсекается после превышения установленного размаха, а спрейды довольно значительные. да код работает очень медленно (т.к. база большая пляс компресия с вычислением каждого бара), если у вас ами на нем не тормозит отпишитес пожалуста.
Код: |
TimeFrameMode( 3 );
TimeFrameSet( 100);
PlotOHLC(O, H, L, C, "Bar Vlolume", colorBlack, styleCandle );
d = H-L;
Title = Name() + StrFormat("{{INTERVAL}}") + Date()+"\n\n" +
"хай :" +H+"\n"+
"Лоу :" +L+"\n"+
"Открытие :" +O+"\n"+
"Закрытие :" +C+"\n"+
"Размер :" +d+"\n";
TimeFrameRestore(); |
Рисунок прикрепить не смог, т.к. он сохраняется пустым, но отрисовка была нормальной. Да т.к. тиковую базу создовал на Рихе, то и код писал под ее. для других бумаг размер подбирайте соответствующий.
Как всегда жду совета от нашего админа, как облегчить код. Может обрезать компресию, только видимыми барами? |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Почитал, почитал...
По моему вы NRTR изобретаете...
Нет? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
kosbar писал(а): |
Почитал, почитал...
По моему вы NRTR изобретаете...
Нет? |
Возьми ма() от ама()? Вроде обе средние, а разультаты разные. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
denis_
Зарегистрирован: 18.10.2011
Сообщения: 78
|
Добрый день! Подскажите, будет ли в данном коде заглядывание и т.п., если прикрутить:
Код: |
Buy =C >Ref(Hi,-1);
Sell = C <Ref(Lo,-1) ;
|
[/quote]
Код: |
k = 2 ;
per = 2;
filt = ATR(per)*k ;
Lo = 0;
Hi = H + 2*filt; //Задаю заведомо большое значение
for(i = 2; i < BarCount; i ++)
{
if(i == 2) trend[1] = 1;
if(trend[i-1] == 1)
{
LoN = C[i] - filt[i];
if(LoN > Lo[i-1])
{
Lo[i] = LoN;
}
else
{
Lo[i] = Lo[i-1];
}
if(C[i] < Lo[i])
{
trend[i] = 0;
Hi[i] = C[i] + filt[i];
}
else trend[i] = 1;
}
if(trend[i-1] == 0)
{
HiN = C[i] + filt[i];
if(HiN < Hi[i-1])
{
Hi[i] = HiN;
}
else
{
Hi[i] = Hi[i-1];
}
if(C[i] > Hi[i])
{
trend[i] = 1;
Lo[i] = C[i] - filt[i];
}
else trend[i] = 0;
}
}
Hi = IIf(!trend, Hi, Null);
Lo = IIf(trend, Lo, Null);
Plot(Hi, "Hi", colorRed, styleStaircase);
Plot(Lo, "Lo", colorGreen, styleStaircase);
Plot(C, "", colorBlack, styleCandle);
|
[/quote] |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если BuyPrice = SellPrice = C;
Или задержка 1, то не будет. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
denis_
Зарегистрирован: 18.10.2011
Сообщения: 78
|
000 писал(а): |
Если BuyPrice = SellPrice = C;
Или задержка 1, то не будет. |
Спасибо за быстрый ответ.
А если данный код подключать через робота, какие изменения необходимо сделать или можно оставлять в данном виде. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код: |
Buy = C > Ref(Hi,-1);
Sell = C < Ref(Lo,-1);
Buy = Ref(Buy,-1);
Sell = Ref(Sell,-1); |
Только имей в виду, что в принципе в роботе это уже есть
Код: |
Buy1 = Ref(Buy1, -1);
Sell1 = Ref(Sell1, -1);
Short1 = Ref(Short1, -1);
Cover1 = Ref(Cover1, -1);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
denis_
Зарегистрирован: 18.10.2011
Сообщения: 78
|
Спасибо большое, в общих чертах стыковка понятна. Правда есть еще вопросы по самому индикатору -пока буду разбираться . |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|