Скачал 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#!
Kommentare (4)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Смотрю сейчас видео первого семинара по S#, пытаюсь делать всё что там показано, но такая-же проблема.QuikTerminal.GetDefaultPath() - находит путь к включенному квику, программа проходит _trader.Connect(); но событие соединения не происходит. Настроено все как в семинаре, только версия библиотеки свежая. Подскажите в чем проблема. Студия 2010 русская, нетфреймворк4.
Обратитесь в чат техподдержки. Что касается первого сообщения то это пример как не надо писать код. Удивительно что оно вообще работает.
Михаил, если Вы насчёт 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(); }
}
Всё равно строка "Подключение было произведено успешно." не появляется. Кстати verifier, при подключении без галочки "на старое подключение" выдаёт сообщение, где ошибка: "Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение 127.0.0.1:5001" (я понимаю что это локальное подключение, но это мне не помогло) и ещё 5 ошибок. А на чате посылают обратно в форум.
Видимо причина в том, что нет лицензии. И в связи с этим ещё вопрос: "Как получить лицензию у брокера "Инвестиционная палата"?" С этим, как я понимаю, тоже нужно обращаться на форум.