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

Урок 4. Пишем простейшего робота (RSI, qpile, quik,trades,func)

 

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

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


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

...

...Теперь разберем его более подробно. В самом начале программы мы задаем параметры:

'параметры
pTop=60
pBottom=40
pTicker="LKOH" 'Инструмент
pClass="EQBR" 'Код класса
pAccount="L01-00000F00" 'клиентский счет
pClienCode="" 'код клиента
pCount=1 'количество акций
 

pTop и pBottom верхнее и нижнее значение RSI соответственно, эти параметры вам знакомы из урока 3. С остальными параметрами тоже, думаю, должно быть все ясно, их мы проходили на уроке 1 и уроке 2. В этой программе мы их собрали в самом начале текста, что бы можно было легко менять, если мы, захотим например, перенастроить робота для другой акции. Да, еще параметр pCount - вы наверное догадались, что в нем задается количество бумаг, которым будет торговать робот...

...

...Затем у нас идет функция, которая определяет тип сигнала...

...

...Она возвращает 1, если нам надо покупать, -1 если продавать и 0 если нет сигнала. В этой функции сначала вычисляется значение индикатора RSI, потом сравнивается с параметрами.

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

Поэтому, нам понадобиться еще одна функция...

...

...Сначала функция проверяет, выставлен ли ордер (робот запоминает номер выставленной заявки). Если нет - то можно смело совершать сделку по сигналу. Если заявка уже стоит, то ищем соответствующую ей сделку....

...

... Новое для вас разве слово message, оно просто выводит на экран сообщение вот в таком виде:

Урок 4. Пишем простейшего робота (RSI, qpile, quik,trades,func).

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

И, наконец, последняя функция - получить цену последней сделки (по ней мы будем торговать):

func GetCurrentPrice(aClass, aTicker)
result=GET_PARAM(aClass, aTicker, "last")
end func

Теперь переходим, собственно говоря, к самой программе...

...

...Вот какие сделки совершил робот при его тестировании на демо счете:


Урок 4. Пишем простейшего робота (RSI, qpile, quik,trades,func).

 

 

 

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