Автор |
Сообщение |
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
Т.е. в первом случае OrderIdShortTest не срабатывает а во втором срабатывает? |
именно так OrderIdShortTest всего лишь сохраняет OrderId лимитных ордеров, которые должны размещаться, но не размещаются. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Странно. Если нет ошибок и строки с OrderIdShortTest в первом и втором коде совершенно идентичны, то только одна мысль. Может работа с файлом замедляет код и OrderIdShortTest поэтому срабатывает.
Попробуй вместо
fh = fopen(path+file_orders+".txt", "a");
....
ставить замедлялку кода ThreadSleep() |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
000 писал(а): |
Странно. Если нет ошибок и строки с OrderIdShortTest в первом и втором коде совершенно идентичны, то только одна мысль. Может работа с файлом замедляет код и OrderIdShortTest поэтому срабатывает.
Попробуй вместо
fh = fopen(path+file_orders+".txt", "a");
....
ставить замедлялку кода ThreadSleep() |
ставлю задержку на одну миллисекунду и работает.
но почему? я точно такую же проверку лимитниками делал уже в этом коде , но без if. так всё работало на тестах как часы. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
такую штуку заметил в роботе, если ставлю условия исполнения на актуальном баре и для этого беру через Foreign цены актуальных баров других инструментов, то независимо от того, указываю ли я масссив Open или Close в ф-ции Foreign, в расчётах оказывается актуальная цена, а не, например, именно Open актуального бара. ![Evil or Very Mad](images/smiles/icon_evil.gif) |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
bealtrader
Зарегистрирован: 05.05.2014
Сообщения: 40
|
Коллеги,
столкнулся с такой ошибкой. При попытке отправки из АМИ в 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);
}
}
}
} |
|
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я в IB не торгую, но начал бы с пинания ТП именно IB. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
bealtrader,
попробуй так:
Код: |
ibTicker = Ticker+"-SMART-CFD-USD";
|
![Wink](images/smiles/icon_wink.gif) |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
bealtrader
Зарегистрирован: 05.05.2014
Сообщения: 40
|
Спасиб ))), уже вчера вечером попробовал этот вариант, он отработал. Я с него и начинал, но что-то не взлетело. Техподдержка Ами посоветовала попробовать Ticker+"-IBUSCFD-CFD-USD", он тоже не работал.
Вчера обновил Ами последним релизом с их сайта и обновил TWS, после этого все заработало. Даже CFD на Лондонской бирже работают ))) |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
bealtrader
Зарегистрирован: 05.05.2014
Сообщения: 40
|
Приветствую!
Столкнулся с ошибкой при отправке данных в 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) |
И все равно появляется ошибка. Кто-нибудь сталкивался? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
dar
Зарегистрирован: 12.05.2009
Сообщения: 17
|
Добрый день!
Может кто подскажет, столкнулся с такой вот проблемой:
сделал робота в связке Ами + ИБ, данные качаются, заявки передаются в ИБ, но не исполняются сразу, а требуют ручного потверждения в ИБ.
Как сделать чтобы заявки исполнялись сразу? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Там надо активировать IB Controller. Для этого требуется ввести проверочный код. Он бесплатный. Получить его можно тут http://amibroker.com/at/agreement.php |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
dar
Зарегистрирован: 12.05.2009
Сообщения: 17
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
Всем привет!
Покопался, так IBController ( 1.3.8 - www.amibroker.com/at/ ) как был для AmiBroker 5.30 и TWS 944.3, так и остался без изменений, а TWS 944 уже давно не поддерживается.
Подскажите какие сейчас версии Ами и TWS стабильно работают в связке? |
Последний раз редактировалось: MrDrJOKER (Вс Дек 03, 2017 7:50 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Последний раз я проверял работу с IB год назад. Не знаю какие тогда были версии, но на тот момент все работало. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
bealtrader
Зарегистрирован: 05.05.2014
Сообщения: 40
|
MrDrJOKER писал(а): |
Всем привет!
Покопался, так IBController (1.3. - www.amibroker.com/at/ как был для AmiBroker 5.30 и TWS 944.3, так и остался без изменений, а TWS 944 уже давно не поддерживается.
Подскажи какие сейчас версии Ами и TWS стабильно работают в связке? |
У меня сейчас последние актуальные версии Ами и TWS стабильно работают в связке. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
|