Architecture Net




Моделирование фондовой биржи


Для дальнейшего знакомства с использованием делегатов рассмотрим пример моделирования фондовой биржи, реализованный в папке stockMarket. Модель состоит из двух модулей:

  • Модуль Admin (Управляющий модуль) предоставляет пользовательский интерфейс для конфигурирования и запуска модели. Кроме того, в нем реализованы операции, вызываемые моделирующей машиной.
  • Модуль Engine (Машинный модуль) — это и есть моделирующая машина. В данном модуле есть внутренние часы; модуль случайным образом, в соответствии с параметрами конфигурации, генерирует информацию о совершаемых сделках.
  • На рис. 5.2 показана общая архитектура модели.

    Модель допускает выполнение следующих операций:

  • PrintTick: показывать ход часов (номер текущего шага);
  • PrintTrade: показывать все совершаемые сделки.
  • Модель содержит следующие параметры:

  • включить/выключить вывод информации о текущем шаге;
  • включить/выключить вывод информации о совершаемых сделках;
  • установить количество шагов моделирования.
  • 2.gif


    Рис. 5.2. Архитектура эмулятора фондовой биржи

    Запуск моделирования

    Скомпонуйте и запустите программу StockMarket. Начните с принятой по умолчанию конфигурации: информация о текущем шаге не выводится, информация о сделках выводится, количество шагов— 100. (Заметим, что в программе используется генератор случайных чисел, так что результаты будут разными при каждом запуске программы.)

    Ticks are OFF
    Trades are ON
    Run count = 100
    Enter command, quit to exit
    : run
    2 ACME 23 600
    27 MSFT 63 400
    27 IBM 114 600
    38 MSFT 69 400
    53 MSFT 75 900
    62 INTC 27 800
    64 MSFT 82 200
    68 MSFT 90 300
    81 MSFT 81 600
    83 INTC 30 800
    91 MSFT 73 700
    99 IBM 119 400

    Список доступных команд выводится по команде help (помощь). Вот что выводится по этой команде:

    count set run count
    ticks toggle ticks
    trades toggle trades
    config show configuration
    run run the simulation
    quit exit the program

    При выполнении программы выводится информация о шаге, акциях, цене и количестве проданных акций.

    Определение делегата

    В файле Engine . h объявлены два делегата.




    Содержание  Назад  Вперед