← Atrás

Не срабатывает .Connected

Скачал S# версии 4.2, и .Net имеет версию 4.5 Написал следующий код:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using StockSharp.Quik; using StockSharp.BusinessEntities; using StockSharp.Messages; using StockSharp.Algo; using StockSharp.Logging; using Ecng.Xaml; using Ecng.Serialization; using Ecng.ComponentModel; using Ecng.Common;

namespace firstStep { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

    static AutoResetEvent waitHandle;
    private void btBegin_Click(object sender, EventArgs e)
    {
        var trader = new QuikTrader(QuikTerminal.GetDefaultPath());
        waitHandle = new AutoResetEvent(false);
        trader.Connected += () =>
        {
            tbMessage.Text="Подключение было произведено успешно.";
            //Console.WriteLine("Подключение было произведено успешно.");

            // извещаем об успешном соединении
            waitHandle.Set();
        };

        tbMessage.Text = "Производим подключение...";
        //Console.WriteLine("Производим подключение...");
        
        trader.Connect();

        // дожидаемся события об успешном соединении
        waitHandle.WaitOne();
    }
}

}

Сообщение "Производим подключение..." - срабатывает, а "Подключение было произведено успешно." - нет. Из дебагера видно, что программа даже не заходит в часть кода в фигурных скобках. Windows имеет версию 8 (64 - разряда), но в окне Debug->firstStep Properties->Build не удаётся установить полного сходства с картинкой из раздела справки "Создание первого робота", т. к. выпадающий список "Platform" не имеет свойства x86. Может в этом дело? Кстати Verifier хотя и не находит ошибок (хотя раньше, когда они были, находил), но и зелёный текст не выдаёт. Помогите мне, пожалуйста, с моей первой программой на S#!

¿Le resultó útil este tema?

Compartir tema

Comentarios (4)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Александр3012
Александр3012

Смотрю сейчас видео первого семинара по S#, пытаюсь делать всё что там показано, но такая-же проблема.QuikTerminal.GetDefaultPath() - находит путь к включенному квику, программа проходит _trader.Connect(); но событие соединения не происходит. Настроено все как в семинаре, только версия библиотеки свежая. Подскажите в чем проблема. Студия 2010 русская, нетфреймворк4.

Mikhail Sukhov
Mikhail Sukhov

Обратитесь в чат техподдержки. Что касается первого сообщения то это пример как не надо писать код. Удивительно что оно вообще работает.

semitr
semitr Autor

Михаил, если Вы насчёт WaitHandle, его вообще можно закомментировать примерно так: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using StockSharp.Quik; using StockSharp.BusinessEntities; using StockSharp.Messages; using StockSharp.Algo; using StockSharp.Logging; using Ecng.Xaml; using Ecng.Serialization; using Ecng.ComponentModel; using Ecng.Common;

namespace firstStep { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

    //static EventWaitHandle waitHandle = new AutoResetEvent(false);
    private void btBegin_Click(object sender, EventArgs e)
    {
        var trader = new QuikTrader(QuikTerminal.GetDefaultPath());
        trader.Connected += () =>
        {
            tbMessage.Text="Подключение было произведено успешно.";
            //waitHandle.Set();
        };

        tbMessage.Text = "Производим подключение...";
        trader.Connect();
        //waitHandle.WaitOne();
    }
}

}

Всё равно строка "Подключение было произведено успешно." не появляется. Кстати verifier, при подключении без галочки "на старое подключение" выдаёт сообщение, где ошибка: "Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение 127.0.0.1:5001" (я понимаю что это локальное подключение, но это мне не помогло) и ещё 5 ошибок. А на чате посылают обратно в форум.

semitr
semitr Autor

Видимо причина в том, что нет лицензии. И в связи с этим ещё вопрос: "Как получить лицензию у брокера "Инвестиционная палата"?" С этим, как я понимаю, тоже нужно обращаться на форум.