Торговый робот. Шаг за шагом. Шаг 6. / QUIK Profit
Главная Quikprofit twiiter Quikprofit Rss

Торговый робот. Шаг за шагом. Шаг 6.

Май 24, 2010 | 9 комментариев

Шаг 6. Информация на экране.

Журнал журналом, а информация на экране в режиме реального времени очень и очень полезная штука!

Предлагаю сегодняшний урок посвятить выводу информации на экран.

Частично эта тема уже была затронута в предыдущих статьях. Сегодня же мы разберем ее более детально.

Встроенный язык QPile не позволяет создать интерфейс для ввода информации. Однако позволяет выводить на экран таблицу сданными. А в последствии, работать с такой таблицей аналогично любым другим таблицам Quik (редактировать поля, копировать в буфер обмена, выводить через DDE сервер и т.д.) Обратимся ненадолго к руководству пользователя Quik

Руководство Quik сообщает нам следующее: «Для отображения в таблице вычисленных значений необходимо описать ее столбцы и формат соответствующих им ячеек таблицы. Для этого предназначен данный раздел файла.»

Каждый столбец выводимой на экран таблицы имеет 4 параметра и описывается соответствующими строками:

PARAMETER Название переменной в программе, значение которой будет отображаться в данном столбце
PARAMETER_TITLE Название столбца, отображаемое в таблице
PARAMETER_DESCRIPTION Расширенное описание параметра
PARAMETER_TYPE Формат данных в ячейках таблицы, относящихся к столбцу.

PARAMETER_TYPE предусматривает два типа данных:

NUMERIC (<размер_числа_в_символах>, <кол_во_знаков_после_запятой>) — двойные с плавающей точкой (double),
STRING (<длина_строки>) - строковые (string).

Как и в предыдущих уроках, возвращаемся в нашему техническому заданию.

Какая информация нам необходима на экране монитора.

  1. Значения индикаторов в момент расчета портфеля;
  2. Состояние позиции: вне позиции, длинная, короткая.

Значения индикаторов были выведены нами на экран в Шаге 3. Поэтому останавливаться на этом не будем.

Для вывода состояния позиции на экран создадим новую текстовую переменную State_Position со следующими значениями:

«Вне позиции» // «ЛОНГ» // «Шорт»

Для присвоения значения новой переменной вставим небольшой блок с условием.

1
2
3
4
5
6
7
8
9
10
11
State_Position = ""
 
if ToolQuantity == 0
	State_Position = "Вне позиции"
else
	if ToolQuantity > 0
		State_Position = "ЛОНГ"
	else
		State_Position = "Шорт"
	end if
end if

Далее введем строку о переменной в массив выводимых данных:

1
Massiv = SET_VALUE(Massiv,"State_Position", State_Position)

Ну и добавим описание столбца:

1
2
3
4
5
PARAMETER State_Position;
PARAMETER_TITLE Позиция;
PARAMETER_DESCRIPTION Состояние позиции;
PARAMETER_TYPE String(20);
END

На этом урок завершен.

Полный текст кода можно скачать Lesson6.

Понравилось? Следите за обновлениями по RSS! Также можете следить за обновлениями в Twitter.
          0 проголосовавших

Комментарии

9 ответов to “Торговый робот. Шаг за шагом. Шаг 6.”

  1. Рамиль
    Май 29th, 2010 @ 15:01

    здраствуйте
    «Y62-000098B01″ что означат этот кот
    почему программа квик выдает ошибку INCLUDE fGetMA.qpl, fGetAC.qpl, fDebugLog.qpl; что это написано не правилно
    если ответете буду признателен спасибо

  2. Ю.Р.
    Июнь 2nd, 2010 @ 17:16

    Уважаемый Рамиль. Ответы на Ваши вопросы находятся в предыдущих статьях из цикла «Торговый робот. Шаг за шагом», пожалуйста ознакомьтесь.

  3. Coyote
    Июнь 9th, 2010 @ 18:36

    Робот начинает работать сразу при включении квика или нет? И можно ли совершать собственные сделки, если робот работает?

  4. Ю.Р.
    Июнь 9th, 2010 @ 20:56

    Робот начинает работать при его загрузке в торговый терминал Quik, если робот был загружен ранее, то работать начинает с момента включения Quik.
    Конечно Вы можете самостоятельно совершать сделки, в том числе и по инструментам, указанным для робота. Однако стоит помнить, что данный робот реагирует на наличие/отсутствие открытых позиций. Поэтому если Вы самостоятельно откроете позицию, робот ее «подхватит» и дальше будет действовать согласно заложенному алгоритму. С «ручным» закрытием позиции аналогично.

  5. Константин
    Июнь 26th, 2010 @ 16:30

    Здравствуйте.
    Купил у вас код функии fGetMA.
    Утоните пожалуйта точное место её врезки в код робота и в случае если их будет несколько аналогичных. Предпологаю что это хорошая идея.

  6. Sergey
    Июнь 27th, 2010 @ 16:40

    Необходимо в заголовке программы написать:
    INCLUDE fGetMA;
    При этом файл fGetMa.qpl должен находится в одной папке, что и Ваш файл с кодом робота.
    Подробности про включение файлов: http://quikprofit.ru/torgovyjj-robot-shag-za-shagom-shag-3/

  7. Константин
    Июнь 28th, 2010 @ 10:20

    Извините,но ваша фраза » файл fGetMa.qpl должен находится в одной папке, что и Ваш файл с кодом робота» для меня оказалась слишком обширной. Вставил в код программы после оператора ( DELETE_ALL_ITEMS). Работает. Беру у вас следующий файл. Благодарю.

  8. konstnk
    Июль 2nd, 2010 @ 17:45

    Купил у вас несколько файлов,по шаговой инструкции составил робот загрузил в QUIK.Портфель был успешно задан,но при формировании пользователской таблици QUIK выдал ошибку в строке условий на покупку. Тогда я скопировал ваш робот из пошаговой инструкции. Аналогичный результат. Ошибка Unknown lexema трока If (ЕМА_1 > ЕМА_2) and (АС_С > 0) and (АС_С > АС_С_1) Поясните пожалуйста в чём может быть причина.

  9. «Unknown lexema» или «Первые результаты учебного курса» / QUIK Profit
    Июль 14th, 2010 @ 20:16

    [...] Полностью исправленную и проверенную на полевых испытаниях версию можно скачать Lesson6 или в Уроке 6. [...]

Оставить комментарий





Поля помеченные (*) обязательны к заполнению

Страница 1 из 11
  • Меню

  • Облако тегов

  • Рубрики

  • Для пользователя