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



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

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

000 писал(а):
Т.е. в первом случае OrderIdShortTest не срабатывает а во втором срабатывает?

именно так Shocked OrderIdShortTest всего лишь сохраняет OrderId лимитных ордеров, которые должны размещаться, но не размещаются.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Странно. Если нет ошибок и строки с OrderIdShortTest в первом и втором коде совершенно идентичны, то только одна мысль. Может работа с файлом замедляет код и OrderIdShortTest поэтому срабатывает.
Попробуй вместо
fh = fopen(path+file_orders+".txt", "a");
....
ставить замедлялку кода ThreadSleep()

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



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

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

000 писал(а):
Странно. Если нет ошибок и строки с OrderIdShortTest в первом и втором коде совершенно идентичны, то только одна мысль. Может работа с файлом замедляет код и OrderIdShortTest поэтому срабатывает.
Попробуй вместо
fh = fopen(path+file_orders+".txt", "a");
....
ставить замедлялку кода ThreadSleep()


ставлю задержку на одну миллисекунду и работает.

но почему? я точно такую же проверку лимитниками делал уже в этом коде , но без if. так всё работало на тестах как часы.
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Пт Апр 04, 2014 1:18 am Ответить с цитатой Вернуться к началу

такую штуку заметил в роботе, если ставлю условия исполнения на актуальном баре и для этого беру через Foreign цены актуальных баров других инструментов, то независимо от того, указываю ли я масссив Open или Close в ф-ции Foreign, в расчётах оказывается актуальная цена, а не, например, именно Open актуального бара. Rolling Eyes Evil or Very Mad
Посмотреть профиль Отправить личное сообщение
bealtrader



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

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

Коллеги,
столкнулся с такой ошибкой. При попытке отправки из АМИ в TWS ордера для CFD, TWS возвращает код ошибки в IB Controller "Error 200. No security definition has been found for the request".

Разрешения на торговлю CFD у меня есть, специально вручную в TWS гонял один контракт.

При этом акции, валюты, фьючерсы и ETF торгуются без ошибок.

Техподдержка АМИ кормит отписками уже почти 2 месяца. Кто-нибудь сталкивался с такой проблемой?

Код функции:

Код:
function IBPlaceOrder(sopr, sprice, slots, Ticker, Comm, FlagSMS)
{
   ibTicker      = Ticker+"-IBUSCFD-CFD-USD";
   transid       = StrMid(NumToStr(LastValue(DateNum()),1.0,False),3,4)+" "+StrLeft(NumToStr(LastValue(TimeNum()),1.0,False),2)+" "+ibTicker+" "+sopr;
   _TRACE("ibTicker-"+ibTicker);
   if(checkfile(transid))
   {
      // check if we are connected OK
      if( ibc.IsConnected() )
      {
         // transmit order
         OrderId = ibc.PlaceOrder( ibTicker, sopr, slots, "LMT", sprice, 0, "GTC", True, ibTickSize, "", "", "", "", "", ibAccount);
         if ((FlagSMS==1) AND (StrToNum(StrMid(NumToStr(LastValue(TimeNum()),1.0,False),0,2))  < 22) AND (FlagSMS==1))
         {
            send_sms(ibTicker + " " + Comm + " " + NumToStr(sprice)+" "+NumToStr(slots), 1);  // sms только до 22:00
         }
         OrderStatus = ibc.GetStatus( OrderId, True );
         SaveToFile(transid+" OrderID "+ OrderId + " status " + OrderStatus);
      }
      else
      {
         PopupWindow("Ошибка отправки ордера: нет связи с IB",   "ошибка", timeout = 5, left = -1, top = -1 );
         if (FlagSMS==1)
         {
            SaveToFileErr(transid);
            send_sms("Ошибка отправки ордера: нет связи с IB", 1);
         }
      }
   }
}
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Я в IB не торгую, но начал бы с пинания ТП именно IB.

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



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

СообщениеДобавлено: Ср Окт 01, 2014 5:34 pm Ответить с цитатой Вернуться к началу

bealtrader,
попробуй так:

Код:

ibTicker      = Ticker+"-SMART-CFD-USD";


Wink
Посмотреть профиль Отправить личное сообщение
bealtrader



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

СообщениеДобавлено: Ср Окт 01, 2014 10:21 pm Ответить с цитатой Вернуться к началу

Спасиб ))), уже вчера вечером попробовал этот вариант, он отработал. Я с него и начинал, но что-то не взлетело. Техподдержка Ами посоветовала попробовать Ticker+"-IBUSCFD-CFD-USD", он тоже не работал.

Вчера обновил Ами последним релизом с их сайта и обновил TWS, после этого все заработало. Даже CFD на Лондонской бирже работают )))
Посмотреть профиль Отправить личное сообщение
bealtrader



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

СообщениеДобавлено: Пн Авг 31, 2015 2:38 pm Ответить с цитатой Вернуться к началу

Приветствую!

Столкнулся с ошибкой при отправке данных в TWS:
"Error code 100. Max rate of messages per second has been exceeded".

Исходные данные - торгую 40 инструментов на 15 мин ТФ. Робот запускается в Explore раз в 30 секунд. Перед каждым обращением к компоненте ibc вызываю искуственную задержку
Код:
for (dummy=0; dummy<100; dummy++) ibc.Sleep(50)


И все равно появляется ошибка. Кто-нибудь сталкивался?
Посмотреть профиль Отправить личное сообщение
dar



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

СообщениеДобавлено: Чт Окт 15, 2015 9:20 am Ответить с цитатой Вернуться к началу

Добрый день!

Может кто подскажет, столкнулся с такой вот проблемой:
сделал робота в связке Ами + ИБ, данные качаются, заявки передаются в ИБ, но не исполняются сразу, а требуют ручного потверждения в ИБ.
Как сделать чтобы заявки исполнялись сразу?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Окт 15, 2015 12:53 pm Ответить с цитатой Вернуться к началу

Там надо активировать IB Controller. Для этого требуется ввести проверочный код. Он бесплатный. Получить его можно тут http://amibroker.com/at/agreement.php

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



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

СообщениеДобавлено: Чт Окт 15, 2015 4:00 pm Ответить с цитатой Вернуться к началу

Спасибо!
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Сб Дек 02, 2017 5:51 pm Ответить с цитатой Вернуться к началу

Всем привет!

Покопался, так IBController ( 1.3.8 - www.amibroker.com/at/ ) как был для AmiBroker 5.30 и TWS 944.3, так и остался без изменений, а TWS 944 уже давно не поддерживается.

Подскажите какие сейчас версии Ами и TWS стабильно работают в связке?


Последний раз редактировалось: MrDrJOKER (Вс Дек 03, 2017 7:50 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Дек 03, 2017 7:25 am Ответить с цитатой Вернуться к началу

Последний раз я проверял работу с IB год назад. Не знаю какие тогда были версии, но на тот момент все работало.

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



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

СообщениеДобавлено: Вс Дек 03, 2017 10:19 am Ответить с цитатой Вернуться к началу

MrDrJOKER писал(а):
Всем привет!

Покопался, так IBController (1.3.Cool - www.amibroker.com/at/ как был для AmiBroker 5.30 и TWS 944.3, так и остался без изменений, а TWS 944 уже давно не поддерживается.

Подскажи какие сейчас версии Ами и TWS стабильно работают в связке?


У меня сейчас последние актуальные версии Ами и TWS стабильно работают в связке.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen