Кто программирует Альфа директ API, отзовитесь!
У кого нить получается на C# отправить заявку в терминал? Хоть режьте, не уходят у меня заявки. Подтверждение пишется что все ок, но заявка не появляется. Где ошибка?
DateTime datetoday = DateTime.Today; // Сегодняшняя дата
AD.CreateLimitOrder(«111111-000», «FORTS», «USD-3.14», datetoday, «BUY ORDER», «RUR», «B», 1, 34848, null, null, null,null, null, null, null, null, null, null, null, null, null, null, null, null, 10);
1К |
Читайте на SMART-LAB:
Инвестиции без спешки: торгуем в выходные
Рынок часто движется импульсами, и тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично подходят выходные дни. В...
EUR/USD: Пан или пропал? Ретест треугольника ставит ультиматум
Европейская валюта, протестировав сопротивление 1.1918, повторно устремилась вниз для ретеста пробитой границы треугольника. На этот раз касание...
Вторичный рынок как часть оборотного цикла
Ресейл в Группе «МГКЛ» — это рабочий инструмент управления оборотом, а не продажа того, что не выкупили. 📦 Сейчас клиент, приходя в...
Россети Центр. Отчет об исполнении инвестпрограммы за Q4 2025г. Ожидаемо снизилась дивидендная база по РСБУ.
Компания Россети Центр опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по РСБУ в...
Думаю, смогу помочь, если сбросите спецификацию заявки из документации.
Подозреваю, там и примеры есть.
Если есть, тоже давайте сюда.
Если это так, то это просто пздц.
Приведите здесь выдержку из хелпа в отношении CreateLimitOrder
1. как-то не так дата передается
2. заменить кавычки на одинарные (вряд ли)
написать
DateTime datetoday = DateTime.Now + TimeSpan.FromSeconds(60)
// Лимитированная заявка на покупку инструмента X-12.13
OrdNo := FAD.CreateLimitOrder(Portfel, 'FORTS', instrument_kr, Now + 1, '', 'RUR', 'B', Kolich, Prise1, Null, Null, Null, Null, Null, 'Y', Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, 0);
т.е вместо DateTime datetoday = DateTime.Today; // Сегодняшняя дата просто пишу Now + 1 (если надо чтобы заявка отменилась через сутки от выставления) или Now + 0,5 (отменится через 12 часов) или Now + 0.004 (через примерно 6 минут )
DateTime datetoday = DateTime.Today;
возвращает дату с временем 00:00:00.000 и в момент приема ее сервером она уже не активна
Прибавьте один день и все будет ок
например так
DateTime orderdate = DateTime.Today.AddDays(1); // Сегодняшняя дата + 1 день
Может кто то подскажет, почему в c# ругается на строчку подключения к терминалу?
AD.Connected = «TRUE»;
AD.Connected = TRUE;
Ошибка 1 Элемент «TRUE» не существует в текущем контексте.
Если прочитать руководство от Альфабанка то там вот что пишут
:
СВОЙСТВО «CONNECTED» — СОСТОЯНИЕ СОЕДИНЕНИЯ
Установка и получение состояния соединения с сервером «Альфа-Директ».
СИНТАКСИС
[VB]
ADObj.Connected
[C++]
HRESULT get_Connected(VARIANT_BOOL *Value);
HRESULT put_Connected(VARIANT_BOOL Value);
Некоторые ответы ты можеш найти на свободной требуне: www.alfadirect.ru/common/?page=forum&f=AD
На делфи я так подключаюсь: FAD := CoAlfaDirect.Create;
например:
private
FAD: IAlfaDirect;
procedure TFormTorg.btnPerMICEXClick(Sender: TObject);
begin
try
FAD := CoAlfaDirect.Create;
mResult.Lines.Add('Подключение установлено');
except
mResult.Lines.Add(Exception(ExceptObject).Message);
end;
…
end;
В потоках незабываем прописывать Application.Initialize;
например
begin
Application.Initialize;
try
FAD := CoAlfaDirect.Create;
mResult.Lines.Add('Подключение установлено');
except
mResult.Lines.Add(Exception(ExceptObject).Message);
end;
…
end;