Данный электронный учебник позволит пользователю представить пользователю презентации о трейдинге, которые можно просмотреть внутри программы, словарь трейдера, где с помощью поиска и удобного интерфейса можно узнать значение того или иного термина, а также в программе представлен симулятор трейдера
Суть работы симулятора:
- В начале у вас есть 500 денежных единиц ($) и 0 единиц акций (у.е)
- После открытия симулятора цена на у.е начинает в рандомных значениях расти или падать
- Цена на у.е отображается на графике
- У пользователя есть две кнопки "Купить" и "Продать"
- При нажатии на кнопку "Купить", если баланс пользователя больше или равен стоимости у.е, то из значения $ вычисляется стоимость у.е и к значению количества у.е прибавляется один
- При нажатии на кнопку "Продать", если значение количества у.е больше нуля, то к значения $ прибавляется стоимость у.е и у значения количества у.е отнимается один
- Если цена упадет до 0, то симулятор останавливается
Основные элементы программы, представлены на видеозаписи. Кроме того, весь код прокомментирован. База данных с терминами лежит по пути /Trading/bin/Debug/Dictionary.mdb
Пример кода:
Блок кода вызываемся при тике таймера в Симуляторе
private void Game_Tick(object sender, EventArgs e) { //задание случайной величины изменения курса moneyLine.StrokeThickness = 4; int diff = rnd.Next(-12, 13); CurrentY += (diff); //создание новой линии курса на canvas _canGame.Children.Remove(moneyLine); listPointMoney.Add(new Point(CurrentX += Offset, CurrentY)); moneyLine.Points = dt.ParseToPoint(listPointMoney); _canGame.Children.Add(moneyLine); dt.SetCourse(diff); //проверка на то, чтобы курс был больше нуля if (dt.GetCourse() > 0) { _lCourse.Content = "Текущий курс - 1 y.e = " + dt.GetCourse().ToString("0.00") + " $"; } else { _TradeSimulator.Stop(); MessageBox.Show("Курс обвалился"); } //проверка на то чтобы линия графика не вышел за пределы сетки //если линия графика подходит к концу //то старая линия удаляется и рисуется новая сначала if (listPointMoney.Count >= 60) { listPointMoney.Clear(); CurrentX = 0; listPointMoney.Add(new Point(CurrentX, CurrentY)); } if (CurrentY <= 0 || CurrentY >= 230) { listPointMoney.Clear(); CurrentY = 115; CurrentX = 0; listPointMoney.Add(new Point(CurrentX, CurrentY)); } }
Содержание архива
- исходный код на C# для Visual Studio (WPF)
antistrela