Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Пишем биржевого робота на C# (платный раздел) arrow Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".
18.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип". Печать E-mail
Автор megabax   
03.08.2012 г.
Структура программы на примере простейшей программы

  Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".

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

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


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

 

На прошлом уроке мы разобрали вопрос, как нейросеть определяет стоп лосс. Теперь пришло время пойти дальше. Сегодня я опубликую описание промежуточного шага по созданию робота, он уже торгует на виртуальном счете бэктестинга, но есть еще некоторые шероховатости, устранению которых будут посвящены будущие уроки. Сначала опишу некоторые изменения в программе. В частности, в форме расчета пакета нейросетей, которая вызывается из меню "Рассчитать" -> "По всему источнику цен":

 

Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".

 

В ней появилась возможность указать начальную и конечную свечу, а так же файл лога, и флажок "Игнорировать сигналы если мы уже в позиции":

 

Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".

 

Естественно, пришлось слегка переписать процедуру, вызываемую по кнопочке "Рассчитать"...

 

...

 

... Обратите внимание вот на такой код:

                //удаляем лишние ордера если какой то уже исполнился

                if (_device.ignore_signal_if_in_position && lastCountOrders>account.ordersCount)

                {

                    int cn = account.ordersCount - 1;

                    for (int ii = 0; ii <= cn; ii++)

                    {

                        (_device.driver as IAddTerminalDriver).deleteOrder(ii.ToString());

                    }

                }

 

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

 

...

 

... С ячеек 104 и 106 сигналы идут до конца нейросети через передаточные нейроны с коэффициентом 1 (сначала на 114 и 115, затем дальше):

Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".

 

 

Как у нас вычисляются уровни стоп лосса и тэйк профита?  Во первых, тэйк профит у нас немного не доходит до противоположной границы канал. Здесь я задал уровень стоп лосса 90% от ширины канала. Это число, как входной параметр, указывается в ячейке 122 (только не в %, а в единицах, тоесть, 0.9):

 

 

Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".

 

В ячейке 123 вычисляется разница между уровнем поддержки и уровнем сопротивления (та самая ширина канала, нужная для определения тэйк профита)...

 

...

 

...После чего можно мы сможет посмотреть файл лога:

Пишем биржевого робота на C#. Урок 13. Торговля на виртуальном счете по системе "Шип".

 

...

 

 

Последнее обновление ( 05.01.2013 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги