Автор |
Сообщение |
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
Попробуй в региональных настройках поиграться с форматом отображения времени. |
стоит ET пояс. в чарте 19:59, в логах пишет 4:22:00.
меняю региональные настройки на американские, русские и т.д. формат меняется, время нет.но сам формат такой же как и в win7 был выставлен. в ручную сверил, всё идентично
мож какой другой ф-цией время бара захватить можно? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А если просто TimeNum() взять? Правильное время будет? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
А если просто TimeNum() взять? Правильное время будет? |
TimeNum выдаёт тоже самое, 42200.
Кажется я нашел баг. всё дело в timestamps.
по умолчанию у меня стоял START time of the interval, и именно он глючит, а так же time of FIRST tick inside bar.
time of the LAST tick inside bar - выдаёт нормальное время.
END time of the interval - выдаёт только дату без времени вообще.
я понял откуда 4:22. это первый бар в пятницу, но у меня все чарты и БД минутные. не пойму, где ами дневки увидел? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
nightcarrier
Зарегистрирован: 24.02.2010
Сообщения: 67
|
Прошу прощения коллеги, что все об одном )
К вашему замечательному роботу - м.б. блок обновления данных приделать ?
Код: |
function Refresh_YF() //функция обновления данных от Yahoo Finance
{
AQ = CreateStaticObject("AmiQuote.Document");
AQ.GetSymbolsFromAmiBroker();//получаем символы из запущенного Amibroker`а
AQ.AutoImport = True;//import automatically
AQ.Source = 1;//Yahoo Current
AQ.Download();//starts download
// wait until download and import is finished
while( AQ.DownloadInProgress || AQ.ImportInProgress )
{
//wait before querying status again, ЕСЛИ ТРЕБУЕТСЯ В ДАННОЙ ВЕРСИИ
}
result = 1;//возвращаемое значение для присвоения к.-л. флажку
return result;
} //конец функции обновления данных от Yahoo Finance
|
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
MrDrJOKER писал(а): |
000 писал(а): |
А если просто TimeNum() взять? Правильное время будет? |
TimeNum выдаёт тоже самое, 42200.
Кажется я нашел баг. всё дело в timestamps.
по умолчанию у меня стоял START time of the interval, и именно он глючит, а так же time of FIRST tick inside bar.
time of the LAST tick inside bar - выдаёт нормальное время.
END time of the interval - выдаёт только дату без времени вообще.
я понял откуда 4:22. это первый бар в пятницу, но у меня все чарты и БД минутные. не пойму, где ами дневки увидел? |
трындец просто, вот я осел. в настройках АА стояли дневки! пол вечера убил.
nightcarrier писал(а): |
Прошу прощения коллеги, что все об одном )
К вашему замечательному роботу - м.б. блок обновления данных приделать ? |
именно к этому не имеет смысла, т.к. data plugin для IB идёт уже в базовой комплектации ами
но для других роботов, штука будет явно полезной можно её в этом разделе в отдельную тему запостить. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
nightcarrier
Зарегистрирован: 24.02.2010
Сообщения: 67
|
MrDrJOKER писал(а): |
data plugin для IB идёт уже в базовой комплектации ами
|
Оч. прошу - посмотрите, пожалуйста, рядом 2 копии запущенного Амиброкера:
1. Трансляция данных от YF
2. Трансляция IB
Сравните OHLC. Начиная с Open этой сессии.
Боюсь, будете удивлены. И не всегда приятно. Я бы с RT IB дальше paper acoount`а не полез бы ) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
nightcarrier писал(а): |
MrDrJOKER писал(а): |
data plugin для IB идёт уже в базовой комплектации ами
|
Оч. прошу - посмотрите, пожалуйста, рядом 2 копии запущенного Амиброкера:
1. Трансляция данных от YF
2. Трансляция IB
Сравните OHLC. Начиная с Open этой сессии.
Боюсь, будете удивлены. И не всегда приятно. Я бы с RT IB дальше paper acoount`а не полез бы ) |
не удивлён я знаю о их работе на тиковом уровне и рутинге по биржам. мне это пока никак не мешает, да и различия получаются не особо значимые, практически минимальные на моих инструментах, чуть поволатильнее.
а если работать на тиках, там YF уже не особо поможет. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Так и есть - периодически в каких то переменных возникает мусор, вот и ругается. У меня тоже когда то было с моим роботом, когда я ручками баловался в переменных в экселе, считываемых роботом.
Добавь строчки _TRACE с выводом в дебаг значения переменных, когда опять эта шляпа случится, сразу увидишь кто насрал |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Эээ, а куда твоя мессага девалась Или я сам с собой разговаривать начал |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
spitfire писал(а): |
Эээ, а куда твоя мессага девалась Или я сам с собой разговаривать начал |
спасибо) нешел таки ошибку у себя, тут IBController в выдаче данных не подкачал, правда работает не очобо быстро) возьму твой пост на заметку |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
такая мысля пришла, зачем Томаш пишет в роботе LastValue( C ) или LastValue( Foreign( Ticker2, "C" ) )?. вижу Томаш тут частенько использует. он это делает исключительно, чтоб из массива сделать константу? ведь ами и так должен выдавать всегда актуальную цену (Close), если в коде использовать просто Close без ф-ции LastValue. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Не, он таким образом преобразует массив в число, выбирая конкретный элемент этого массива, в данном случае последний. Без этого например всякие там if'ы работать не будут, да и в терминал ты должен отправлять числовое значение, а не array. Close это тоже массив. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
Альтернативный способ без функции:
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
товарищи, такая метаморфоза.
пишу код так:
Код: |
if ( Ticker1Short )
{
OrderIdShortTest = ibc.PlaceOrder( Ticker1, "SELL", 1, "LMT", ( GetRTDataForeign( "Last", Ticker1 ) * 2 ), 0, "DAY", True );
}
else if ( Ticker2Short )
{
OrderIdShortTest = ibc.PlaceOrder( Ticker2, "SELL", 1, "LMT", ( GetRTDataForeign( "Last", Ticker2 ) * 2 ), 0, "DAY", True );
} |
не срабатывает ни один if, хотя должны.
пишу для теста так, срабатывают как надо:
Код: |
if ( Ticker1Short )
{
OrderIdShortTest = ibc.PlaceOrder( Ticker1, "SELL", 1, "LMT", ( GetRTDataForeign( "Last", Ticker1 ) * 2 ), 0, "DAY", True );
fh = fopen(path+file_orders+".txt", "a");
if( fh )
{
text = NumToStr(Ticker1Short) +","+
NumToStr(Ticker2Short) +","+
CashToShort_yyy +","+
"1" +"\n";
fputs( text, fh );
fclose( fh );
}
}
else if ( Ticker2Short )
{
OrderIdShortTest = ibc.PlaceOrder( Ticker2, "SELL", 1, "LMT", ( GetRTDataForeign( "Last", Ticker2 ) * 2 ), 0, "DAY", True );
fh = fopen(path+file_orders+".txt", "a");
if( fh )
{
text = NumToStr(Ticker1Short) +","+
NumToStr(Ticker2Short) +","+
CashToShort_yyy +","+
"2" +"\n";
fputs( text, fh );
fclose( fh );
}
} |
где собака зарыта? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Т.е. в первом случае OrderIdShortTest не срабатывает а во втором срабатывает? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|