← 戻る

Как получить ответ после авторизации

Всем привет! Я новичек, только начал разбираться с стокшарпом... Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...


private void login_ok_Click(object sender, RoutedEventArgs e)
{
    if (!terminal.IsConnected)
    {
        terminal.Login(login.Text, password.Password);
    }
}

このトピックは参考になりましたか?

トピックを共有

コメント (23)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

COBRA
COBRA

dron3333: private void login_ok_Click(object sender, RoutedEventArgs e) { if (!terminal.IsConnected) { terminal.Login(login.Text, password.Password); } }

)

дальше пишеш

if (terminal.IsConnected) {  message.box ЗАЛОГИНИЛСЯ УСПЕШНО}

или

 while (!terminal.IsConnected){  Thread.Sleep(50); }  message.box ЗАЛОГИНИЛСЯ УСПЕШНО
dron3333
dron3333 著者
 while (!terminal.IsConnected){  Thread.Sleep(50); }  message.box ЗАЛОГИНИЛСЯ УСПЕШНО

я так примерно и сделал. Но если пароль введен неправильно, то идет цацикливание. Хотелось бы как-то или получать сообщения самого квика об успешной или неуспешной авторизации или еще может как-то....

COBRA
COBRA

dron3333: ...

я так примерно и сделал. Но если пароль введен неправильно, то идет цацикливание. Хотелось бы как-то или получать сообщения самого квика об успешной или неуспешной авторизации или еще может как-то....

сообщения самого квика тебе никогда не придет потому-что ты не залогинился. жди 2-3 сек если не залогинился значит не тот пароль и выводи другое окно. В квике есть окно сообщений там будет написано что пароль не правильный

dron3333
dron3333 著者

COBRA:

dron3333: ...

я так примерно и сделал. Но если пароль введен неправильно, то идет цацикливание. Хотелось бы как-то или получать сообщения самого квика об успешной или неуспешной авторизации или еще может как-то....

сообщения самого квика тебе никогда не придет потому-что ты не залогинился. жди 2-3 сек если не залогинился значит не тот пароль и выводи другое окно. В квике есть окно сообщений там будет написано что пароль не правильный

а вот еще такой код проверил(ссылался на это http://stocksharp.com/doc/html/M_StockSharp_Quik_QuikTerminal_GetMessages.htm):


foreach (string element in terminal.GetMessages())
                    {
                        System.Console.WriteLine(element);
                    }

и получаю вот такой вывод: MN W D H4 H2 M60 M30 M20 M15 M10 M6 M5 M4 M3 M2 M1 Tick

Откуда здесь период графиков вообще не понял. Может как-то через это terminal.GetMessages() можно получить ответ, нет?

COBRA
COBRA

идея хорошая, но я даже и не пробовал. Многое что написано не работает. Стокшарп пишут много людей в этом его недостаток.

dron3333
dron3333 著者

COBRA: идея хорошая, но я даже и не пробовал. Многое что написано не работает. Стокшарп пишут много людей в этом его недостаток.

жаль, жаль... Вот еще вопрос terminal.Login(login, password, ipEndPoint); ipEndPoint - его как записывать надо не могу понять? как строку не прокатывает terminal.Login(login.Text, password.Password, "91.209.122.220:15100");

Примерчик можно?

COBRA
COBRA

https://github.com/StockSharp/StockSharp/blob/master/Samples/Quik/Sample/MainWindow.xaml.cs#L134

велосипед не изобретай скачай sample

orphan
orphan

dron3333: Всем привет! Я новичек, только начал разбираться с стокшарпом... Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

private void login_ok_Click(object sender, RoutedEventArgs e) { if (!terminal.IsConnected) { terminal.Login(login.Text, password.Password); } }


Почему бы не использовать событие Connected?

IConnector:
/// Событие успешного подключения.
event Action Connected;
dron3333
dron3333 著者

orphan:

dron3333: Всем привет! Я новичек, только начал разбираться с стокшарпом... Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

private void login_ok_Click(object sender, RoutedEventArgs e) { if (!terminal.IsConnected) { terminal.Login(login.Text, password.Password); } }

> 
> Почему бы не использовать событие Connected?
> 
> IConnector:
> /// Событие успешного подключения.
> event Action Connected;


О! Подойдет! а Можно маленький пример, самый простой.... пару строк
orphan
orphan

dron3333:

orphan:

dron3333: Всем привет! Я новичек, только начал разбираться с стокшарпом... Вот такая ситуация: в форме вводятся логин и пароль и потом нажимается "Ок" - попытка залогиниться. Но как мне получить ответ залогинился или нет? Пароль и/или логин может быть неправильным...

private void login_ok_Click(object sender, RoutedEventArgs e) { if (!terminal.IsConnected) { terminal.Login(login.Text, password.Password); } }

> >
> > Почему бы не использовать событие Connected?
> >
> > IConnector:
> > /// Событие успешного подключения.
> > event Action Connected;
> 
> 
> О! Подойдет! а Можно маленький пример, самый простой.... пару строк

```csharp

trader = new QuikTrader();
trader.Connected += Connected;
trader.Connect();

................

public void Connected()
{
    if (!trader.IsExportStarted)
        trader.StartExport();
}


COBRA
COBRA

orphan: public void Connected() { if (!trader.IsExportStarted) trader.StartExport(); }

StartExport() ОТМЕНИЛИ !!! запускать не надо!!

orphan
orphan

COBRA:

orphan: public void Connected() { if (!trader.IsExportStarted) trader.StartExport(); }

StartExport() ОТМЕНИЛИ !!! запускать не надо!!

Сори, новый не пробовал :) А по поводу "ждать", как-то никогда с этим вопросов не возникало, даже и не знаю, зачем ждать то... )) Есть ReсonnectionManager, пусть он и ждет, если оно нужно.

COBRA
COBRA

orphan:

COBRA:

orphan: public void Connected() { if (!trader.IsExportStarted) trader.StartExport(); }

StartExport() ОТМЕНИЛИ !!! запускать не надо!!

Сори, новый не пробовал :) А по поводу "ждать", как-то никогда с этим вопросов не возникало, даже и не знаю, зачем ждать то... )) Есть ReсonnectionManager, пусть он и ждет, если оно нужно.

ждать для того чтобы понять что соединение не получилось и перезапустить QUIK

ReсonnectionManager что будет делать если соединение не удалось? Будет тыкаться бесполезно. Надо перезапускать QUIK

orphan
orphan

COBRA:

orphan:

COBRA:

orphan: public void Connected() { if (!trader.IsExportStarted) trader.StartExport(); }

StartExport() ОТМЕНИЛИ !!! запускать не надо!!

Сори, новый не пробовал :) А по поводу "ждать", как-то никогда с этим вопросов не возникало, даже и не знаю, зачем ждать то... )) Есть ReсonnectionManager, пусть он и ждет, если оно нужно.

ждать для того чтобы понять что соединение не получилось и перезапустить QUIK

ReсonnectionManager что будет делать если соединение не удалось? Будет тыкаться бесполезно. Надо перезапускать QUIK

А что часто надобится перезагружать квик?

titan
titan

COBRA:

orphan: public void Connected() { if (!trader.IsExportStarted) trader.StartExport(); }

StartExport() ОТМЕНИЛИ !!! запускать не надо!!

😳 не так уж прям отменили, а убили метод без параметров...теперь этот метод требует параметра типа DdeCustomTable....а вот как сконструировать объект такого типа..вопрос...пока не получается, разбираемся😊

Mikhail Sukhov
Mikhail Sukhov

titan: не так уж прям отменили, а убили метод без параметров

выше было написано правильно.

COBRA
COBRA

у меня бывает событие Connected не приходит, а terminal.IsConnected==true почему так происходит не понятно, я перезапускаю QUIK снова делаю коннект, тогда событие Connected приходит.

COBRA
COBRA

если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/StockSharp/StockSharp/blob/master/Samples/Quik/SampleFewQuiks/Program.cs#L90

orphan
orphan

COBRA: если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/StockSharp/StockSharp/blob/master/Samples/Quik/SampleFewQuiks/Program.cs#L90

А зачем "ждать"? :) Как только законнектился, включил экспорт и тд и тп

COBRA
COBRA

orphan:

COBRA: если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/StockSharp/StockSharp/blob/master/Samples/Quik/SampleFewQuiks/Program.cs#L90

А зачем "ждать"? :) Как только законнектился, включил экспорт и тд и тп

а если не законнектился, что делать? остается ждать. может есть какое-нибудь событие ERRORconnect тогда можно и не ждать

dron3333
dron3333 著者

COBRA:

orphan:

COBRA: если не сконнектишся то события не будет, все равно ждать 2-3 сек

https://github.com/StockSharp/StockSharp/blob/master/Samples/Quik/SampleFewQuiks/Program.cs#L90

А зачем "ждать"? :) Как только законнектился, включил экспорт и тд и тп

а если не законнектился, что делать? остается ждать. может есть какое-нибудь событие ERRORconnect тогда можно и не ждать

вот такое есть http://stocksharp.com/doc/html/E_StockSharp_Algo_Connector_ConnectionError.htm . Оно, нет?

COBRA
COBRA

попробуй, у меня оно никогда не приходило, даже во время выключения QUIK( оно по идее должно приходить) подпишись на событие а то забудеш

COBRA
COBRA

Иногда бывает