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



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

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

000 писал(а):
Попробуй в региональных настройках поиграться с форматом отображения времени.


стоит ET пояс. в чарте 19:59, в логах пишет 4:22:00.

меняю региональные настройки на американские, русские и т.д. формат меняется, время нет.но сам формат такой же как и в win7 был выставлен. в ручную сверил, всё идентично Rolling Eyes

мож какой другой ф-цией время бара захватить можно?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

А если просто TimeNum() взять? Правильное время будет?

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



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

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

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

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

Прошу прощения коллеги, что все об одном )
К вашему замечательному роботу - м.б. блок обновления данных приделать ?

Код:

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

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

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. это первый бар в пятницу, но у меня все чарты и БД минутные. не пойму, где ами дневки увидел?


трындец просто, вот я осел. в настройках АА стояли дневки! пол вечера убил. Evil or Very Mad

nightcarrier писал(а):
Прошу прощения коллеги, что все об одном )
К вашему замечательному роботу - м.б. блок обновления данных приделать ?


именно к этому не имеет смысла, т.к. data plugin для IB идёт уже в базовой комплектации ами Smile

но для других роботов, штука будет явно полезной Smile можно её в этом разделе в отдельную тему запостить.
Посмотреть профиль Отправить личное сообщение
nightcarrier



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

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

MrDrJOKER писал(а):


data plugin для IB идёт уже в базовой комплектации ами Smile



Оч. прошу - посмотрите, пожалуйста, рядом 2 копии запущенного Амиброкера:
1. Трансляция данных от YF
2. Трансляция IB
Сравните OHLC. Начиная с Open этой сессии.

Боюсь, будете удивлены. И не всегда приятно. Я бы с RT IB дальше paper acoount`а не полез бы )
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

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

nightcarrier писал(а):
MrDrJOKER писал(а):


data plugin для IB идёт уже в базовой комплектации ами Smile



Оч. прошу - посмотрите, пожалуйста, рядом 2 копии запущенного Амиброкера:
1. Трансляция данных от YF
2. Трансляция IB
Сравните OHLC. Начиная с Open этой сессии.

Боюсь, будете удивлены. И не всегда приятно. Я бы с RT IB дальше paper acoount`а не полез бы )


не удивлён Smile я знаю о их работе на тиковом уровне и рутинге по биржам. мне это пока никак не мешает, да и различия получаются не особо значимые, практически минимальные на моих инструментах, чуть поволатильнее.

а если работать на тиках, там YF уже не особо поможет.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Так и есть - периодически в каких то переменных возникает мусор, вот и ругается. У меня тоже когда то было с моим роботом, когда я ручками баловался в переменных в экселе, считываемых роботом.
Добавь строчки _TRACE с выводом в дебаг значения переменных, когда опять эта шляпа случится, сразу увидишь кто насрал Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Эээ, а куда твоя мессага девалась Shocked Или я сам с собой разговаривать начал Laughing
Посмотреть профиль Отправить личное сообщение ICQ Number
MrDrJOKER



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

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

spitfire писал(а):
Эээ, а куда твоя мессага девалась Shocked Или я сам с собой разговаривать начал Laughing


спасибо) нешел таки ошибку у себя, тут IBController в выдаче данных не подкачал, правда работает не очобо быстро) возьму твой пост на заметку Wink
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Ср Янв 15, 2014 4:47 am Ответить с цитатой Вернуться к началу

такая мысля пришла, зачем Томаш пишет в роботе LastValue( C ) или LastValue( Foreign( Ticker2, "C" ) )?. вижу Томаш тут частенько использует. он это делает исключительно, чтоб из массива сделать константу? ведь ами и так должен выдавать всегда актуальную цену (Close), если в коде использовать просто Close без ф-ции LastValue.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Не, он таким образом преобразует массив в число, выбирая конкретный элемент этого массива, в данном случае последний. Без этого например всякие там if'ы работать не будут, да и в терминал ты должен отправлять числовое значение, а не array. Close это тоже массив.
Посмотреть профиль Отправить личное сообщение ICQ Number
Astrobiolog



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

СообщениеДобавлено: Ср Янв 15, 2014 9:16 pm Ответить с цитатой Вернуться к началу

Цитата:
LastValue( C )

Альтернативный способ без функции:
Код:
C[BarCount-1]
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Пн Янв 27, 2014 7:09 pm Ответить с цитатой Вернуться к началу

товарищи, такая метаморфоза.

пишу код так:
Код:
      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 );
            }
      }


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


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

СообщениеДобавлено: Пн Янв 27, 2014 8:22 pm Ответить с цитатой Вернуться к началу

Т.е. в первом случае OrderIdShortTest не срабатывает а во втором срабатывает?

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen