.
Пишем биржевого робота на C#. Урок 10. Вставляем в нейросеть биржевой график
Автор megabax   
22.04.2012 г.
Структура программы на примере простейшей программы

  Пишем биржевого робота на C#. Урок 10. Вставляем в нейросеть биржевой график

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Исходники к уроку можно скачать в платном разделе.

 

Сегодня мы вставим в ранее разработанную нейросеть биржевой график (см. урок 5, где мы соединяли ее с биржевым симулятором):

 

Пишем биржевого робота на C#. Урок 10. Вставляем в нейросеть биржевой график

 

Вообще, прежде чем описывать подключения графиков, обращу ваше внимание вот на что: после урока 5  нейросеть еще дорабатывалась, туда был вставлен генетический алгоритм, исходники смотри в платном разделе.

 

И так, начнем с меню. В меню "Рассчитать" добавлен пункт "Построить график":

Пишем биржевого робота на C#. Урок 10. Вставляем в нейросеть биржевой график

 

 

Вот как он реализован

        private void makeGraphicToolStripMenuItem_Click(object sender, EventArgs e)

        {

            GraphicParams form = new GraphicParams();

            NeuroExit ind = new NeuroExit();

            if (form.ShowDialog() == DialogResult.OK)

            {

                int NetNumber = Convert.ToInt32(form.tbNetNumber.Text);

                int LayerNumber = Convert.ToInt32(form.tbLayerNumber.Text);

                int NeuronNumber = Convert.ToInt32(form.tbNeuronNumber.Text);

                ind.setSource(_source);

                ind.neuralNet = _set.GetNetwork(NetNumber);

                ind.neuron = ind.neuralNet.GetLayer(LayerNumber).Entities[NeuronNumber] as Neuron;

                GraphicsForm gf = new GraphicsForm();

                gf._begBar = Convert.ToInt32(form.tbBegBar.Text);

                gf.open(_source, ind);

            }

        }

 

Класс GraphicParam представляет собой форму для ввода параметров графика:

Пишем биржевого робота на C#. Урок 10. Вставляем в нейросеть биржевой график

 

Сам график строиться на GraphicsForm, на нем отображаются котировки и состояния любого произвольно заданного нейрона для каждой свечи графика котировок, то есть, своеобразный индикатор:

Пишем биржевого робота на C#. Урок 10. Вставляем в нейросеть биржевой график

 

В данном уроке в качестве примера взят индикатор "Уровень поддержки" и "Уровень сопротивления", см Шаг 28 проекта "Генетический алгоритм". Набор нейросетей с данным примером можно скачать в платном разделе.

 

Для отображения графика на форме используем метод open класса GraphicsForm, вот как он реализован...

 

...

 

За отображение графика отвечает класс StockGraphics, подробнее об этом классе и истории его создания и доработке см. урок 7, урок 8 и урок 9. Сам этот класс создается в конструкторе класса формы:

 

        public GraphicsForm()

        {

            InitializeComponent();

            pbGraphics.Image = new Bitmap(pbGraphics.Width, pbGraphics.Height);

            _stockGraphics = new StockGraphics(Graphics.FromImage(pbGraphics.Image));

        }

 

Класс GraphPrices отвечает за отображение котировок в виде японский свечей, подробности так же см. урок 7, урок 8 и урок 9. А вот GraphIndiсator  - это уже новый класс. В проекте данного урока он объявлен в модуле StockGraphics.cs. Этот класс отвечает за отображение любых индикаторов, которые реализует интерфейс IIndicator. Сам этот интерфейс объявлен в модуле Indicators.cs. Там же реализован класс индикатора  NeuroExit, благодаря которому мы и можем отобразить значения на выходе нейронов в виде биржевого индикатора на графике котировок.

Вот как реализован алгоритм расчета этого индикатора...

 

...

 

... Ну все, думаю, теперь у вас достаточно информации, что бы разрабатывать собственные индикаторы или внести изменения в существующий проект нейронной сети, касающийся графического отображения данных.

Последнее обновление ( 31.12.2012 г. )