Автор |
Сообщение |
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Олег. Не подскажешь, почему эта вещь не работает:
TimeFrameSet(inHourly);
BI=BarIndex();
Dat="29.01.2014 17:00:00";
n=Lookup(BI, _DT(Dat), 0);
TimeFrameRestore();
PopupWindow(""+n,"",30);
Суть в том, что надо получить номер бара из другого интервала, зная дату/время этого бара. Например, находясь в дневном интервале, получить номер бара из часового интервала (исходный интервал базы данных - часовой).
Вышеприведённый код выдаёт n=EMPTY.
Или может быть есть какой-нибудь другой способ? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Находясь на высшем интервале никак нельзя ничего получить из нисшего. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
trashfx
Зарегистрирован: 27.06.2015
Сообщения: 90
|
Swell писал(а): |
Олег. Не подскажешь, почему эта вещь не работает:
TimeFrameSet(inHourly);
BI=BarIndex();
Dat="29.01.2014 17:00:00";
n=Lookup(BI, _DT(Dat), 0);
TimeFrameRestore();
PopupWindow(""+n,"",30);
Суть в том, что надо получить номер бара из другого интервала, зная дату/время этого бара. Например, находясь в дневном интервале, получить номер бара из часового интервала (исходный интервал базы данных - часовой).
Вышеприведённый код выдаёт n=EMPTY.
Или может быть есть какой-нибудь другой способ? |
Код: |
Dat = "2014-01-29 17:00:00";
SetBarsRequired( -2, -2 );
tmfrm = inHourly;
TimeFrameSet( tmfrm );
BI = BarIndex();
int_ = Interval(2);
TimeFrameRestore();
bi = TimeFrameExpand( bi, tmfrm, expandfirst );
bi = bi - bi[0];
Plot( bi, "bi_"+int_, -1, styleHistogram );
n = Lookup (BI, _DT (Dat), 0);
printf( "Bi "+int_+": %g", n );
Filter = 1;
AddColumn( BarIndex(), "bi_"+Interval(2), 1 );
AddColumn( bi, "bi_"+int_, 1 );
AddTextColumn( Dat, "Lookup date", 1, -1, -1, 120 );
AddColumn( n, "Lookup(bi_"+int_+")", 1 ); |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
trashfx, а в каком интервале была карта - 15мин или час?
Смысл в том, чтобы находясь на более крупном интервале получить информацию из более мелкого, а не наоборот.
Я этот код пробовал находясь на дневном интервале, чтобы получить информацию из часового. Всё равно n=empty. Экспанд не помог.( |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Находясь на высшем интервале никак нельзя ничего получить из нисшего. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
trashfx
Зарегистрирован: 27.06.2015
Сообщения: 90
|
Swell писал(а): |
trashfx, а в каком интервале была карта - 15мин или час?
Смысл в том, чтобы находясь на более крупном интервале получить информацию из более мелкого, а не наоборот.
Я этот код пробовал находясь на дневном интервале, чтобы получить информацию из часового. Всё равно n=empty. Экспанд не помог.( |
The set UI timeframe has to be equal or lower than the time frame being set in TimeFrameSet().
But you may try to use static variables to send data from lower TF to higher TF. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
trashfx писал(а): |
But you may try to use static variables to send data from lower TF to higher TF. |
Да. Только для этого надо сначала переключиться на меньший фрейм, затем создать там статическую переменную, затем переключиться на старший фрейм и оттуда читать эту переменную.
Или иметь 2 окна. Одно с меньшим фреймом (там создаем статическую переменную), а второе со старшим фреймаом (там читаем). |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
trashfx
Зарегистрирован: 27.06.2015
Сообщения: 90
|
000 писал(а): |
trashfx писал(а): |
But you may try to use static variables to send data from lower TF to higher TF. |
Да. Только для этого надо сначала переключиться на меньший фрейм, затем создать там статическую переменную, затем переключиться на старший фрейм и оттуда читать эту переменную.
Или иметь 2 окна. Одно с меньшим фреймом (там создаем статическую переменную), а второе со старшим фреймаом (там читаем). |
Да, я знаю. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Получается, только один способ - сделать некие действия на меньшем фрейме. Т.е. лишние манипуляции...
Досадно здесь то, что эта информация в Ami есть, но возможности прочесть её из программы нет.
Обидно(. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|