Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
16.03.2025, 15:27:05
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Смена клиента « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Смена клиента  (Прочитано 3757 раз)
V6757ZHSERV
Newbie
*
Сообщений: 20


Просмотр профиля Email
« : 14.05.2012, 18:54:15 »

1.функция getClient() возвращает номер счета указанного в окне транзак "целевой клиент", правильно?
2. По умолчанию установлен целевой клиент А - счет на ФОРТС,
для того чтобы работал робот для  фортс, так как сделки на фортс по робту чаще чем для робота на ММВБ.
В момент наступления условия по торговому роботу на ММВБ на открытие позицыи необходимо чтобы робот на ММВБ перешол от счета А на фортс, к счету В на ММВБ, после сделки перешол обратно на счет А на фортс.   
Привожу пример части скрипта, Почему-то  не работает, как сделать правильно?
Заранее спасибо.

if (условие and getSecBalance()==0 and getClient()=="А")
{setClient("B");}
        else if (условие and getSecBalance()==0 and getClient()=="B")
{trade_action::buy(lot,::lots);}
setClient("А");   //открыть лонг поменяв клиента А на В и обратно
    

 if (условие and getSecBalance()>0 and getClient()=="А")
{setClient("В");}
        else if(условие and getSecBalance()>0 and getClient()=="В")
{trade_action::sell(lot,::lots);}
setClient("А"); //закрыть лонг поменяв клиента А на В и обратно
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : 15.05.2012, 11:48:54 »

На первый взгляд все правильно. А ошибка точно связана с клиентами? Как вы отлаживались?
Записан
V6757ZHSERV
Newbie
*
Сообщений: 20


Просмотр профиля Email
« Ответ #2 : 15.05.2012, 16:50:48 »

То, что это связано с функциями getClient() и setClient() - это 100%

Если сделать вот так, то все работает.
if (условие and getSecBalance()==0)
{trade_action::buy(lot,::lots);} //открыть лонг
       
if (условие and getSecBalance()>0)
{trade_action::sell(lot,::lots);} //закрыть лонг

Если добавляем в скрипт функции  
getClient() и setClient() в окне целевой клиент ставим счет на ФОРТС, то при наступлении условия на ММВБ сделка просто не происходит, ни каких ошибок при этом транзак не выдает.
Может это связано с финамовской версией транзака или может надо ставить какой-то другой счет, а не тот который в окне целевой клиент, ведь в кабинете клиента у финама этим счетам присваиваются другие значения?Если это связано не с этим, приведите пожалуйста свой пример как переключаться на счет ММВБ работая на ФОРТС и после сделки переходить обратно автоматически.
« Последнее редактирование: 15.05.2012, 16:53:31 от V6757ZHSERV » Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Смена клиента « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!