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

Создаем и тестируем механическую торговую систему. Часть 1. Генератор сигналов (new_global, qpile, quik, moving average).

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

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


На уроке 4 мы уже писали с вам простейшего робота. Он может покупать и продавать по сигналам простейшей МТС. Но, прежде чем начать запустить робота на реальном счете, вы хотите знать, принесет ли он вам прибыль, не правда ли? Можно погонять его на демо счете. Но, согласитесь, это длительный процесс, хотя, думаю, некоторое время все же имеет смысл протестировать программу на демо счете. Однако только проверка на истории даст какую то общую картину. Вот этим мы сейчас и займемся. Для начала напишем портфель (робота), который будет просто выводить сигналы во таблицу портфеля, которую мы сможем сохранить, например, в формате Excel.

Прежде всего, сформулируем правила нашей МТС-ки:

  • Если цена открытия текущей свечи выше линии "Moving average" то выставляем отложенную заявку на продажу на уроне MA. По мере изменения MA изменяем цену исполнения заявки.

  • Если цена открытия текущей свечи ниже линии "Moving average" то выставляем отложенную заявку на покупку на уроне MA. По мере изменения MA изменяем цену исполнения заявки.

Иными словами, мы продаем, когда котировки падают ниже линии MA и покупаем, когда пробивают ее вверх. При необходимости переворачиваем позицию.

Для этого написания генератора сигналов нам  потребуется библиотека "Работа с датой и временем" созданная на прошлых уроках, которую можно в исходниках платного раздела.

Начнем писать программу с создания еще одного библиотечного файла signaler.lib...

...

... И так, рассмотрим функцию GetSignal. У нее есть входные параметры:

  • aDate - дата в формате ассоциативного массива.

  • aTime - время в формате ассоциативного массива.

  • aClass - код класса ценной бумаги (для использования в стандартной функции Get_Candle_Ex

  • aMAName - наименование графика индикатора (см. урок "Отслеживаем сигналы торговой системы")

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

...

... Прежде чем запустить программу, проверьте, открыт ли соответствующий график и задан ли ему идентификатор (в данном тексте у нас pMaName="MA" и pCandleName="GD"):

Создаем и тестируем механическую торговую систему. Часть 1. Генератор сигналов (new_global, qpile, quik, moving average).

Запустив программу, вы увидите вот такую таблицу...

...

Ее можно выгрузить в Excel...

...

Создаем и тестируем механическую торговую систему. Часть 1. Генератор сигналов (new_global, qpile, quik, moving average).

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