Данный электронный учебник позволит пользователю представить пользователю презентации о трейдинге, которые можно просмотреть внутри программы, словарь трейдера, где с помощью поиска и удобного интерфейса можно узнать значение того или иного термина, а также в программе представлен симулятор трейдера
Суть работы симулятора:
- В начале у вас есть 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)
Телеграм
-