Советник

Страницы: 1
RSS
Советник
 
Здравствуйте.
Я хочу создать советника на Qlua, который на графике цены будет проставлять метки в зависимости от условий в скрипте.И у меня, как у новичка, есть несколько вопросов:
1.Нужно ли создавать отдельную область, где будет график цены, или можно будет как-то добавить свой скрипт как индикатор в Quik к штатному графику Price и получать на нем соответствующие метки?
2.Есть набор стандартных индикаторов в Qlua, они в папке INDICATORS. Обязательно ли вызывать стандартный индикатор строкой
dofile ("C:\INDICATORS\MACD.lua"), или если индикатор стандартный, то можно его и так вызвать MACD ( параметр1, параметр2,...параметрN)?
3. Есть ли у кого-то шаблон такого советника, с которого можно было-бы начать?
 
Добрый день!
Я просмотрел примеры на форуме. Прошу посмотреть и подсказать. Правильно ли я иду в направлении создания советника на MACD?

function OnInit()
       -- Рисуем сам график MACD
        func = MACD()
        return #Settings.line
        -- Получает доступ к свечам графика
       local Error = '';
       DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL);
       -- Проверка
       if DS == nil then
       message('ОШИБКА получения доступа к свечам! '..Error);
       -- Завершает выполнение скрипта
       IsRun = false;
       return;
       end;
end;

function main()
  while IsRun do
   if DS:Size() > LastOpenBarIndex then
           -- Если быстрая пересекла медленную СНИЗУ ВВЕРХ
           if Fast_MA(DS:Size()-1) <= Slow_MA(DS:Size()-1) and Fast_MA() > Slow_MA() then
              -- Ставим метку о покупке
              label_params['IMAGE_PATH'] = getScriptPath()..'\\Метки\\Метка_о_покупке.bmp';
             -- Если быстрая пересекла медленную СВЕРХУ ВНИЗ
             elseif Fast_MA(DS:Size()-1) >= Slow_MA(DS:Size()-1) and Fast_MA() < Slow_MA() then
              label_params['IMAGE_PATH'] = getScriptPath()..'\\Метки\\Метка_о_продаже.bmp';
              end;
           end;

  sleep(1);
  end;
end;

function OnStop()
  IsRun = false;
end;  
 
Цитата
Роман Родников написал:
Добрый день!
Я просмотрел примеры на форуме. Прошу посмотреть и подсказать. Правильно ли я иду в направлении создания советника на MACD?
Добрый день.

Если у Вас скрипт не работает или возникают ошибки, то озвучьте их, постараемся помочь.
В разработке логики написания скриптов рекомендаций и проверок, к сожалению, не даем.  
 
Спасибо, Егор!
У меня как раз по написанию скрипта вопросы.

Есть в моем черновике строка:

if Fast_MA(DS:Size()-1) <= Slow_MA(DS:Size()-1) and Fast_MA() > Slow_MA() then

В ней есть "Fast_MA(DS:Size()-1)"
Вопросs такие:
1. DS - это datasource на сколько я вижу. Аббревиатура "DS" для Qlua уже является datasource или в OnInit()  необходимо прописывать строку:
DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL);

2. Обозначение "Fast_MA()" тоже понимается Qlua как медленная скользящая или ее в начале нужно обозначить как медленную скользящую, а потом с ней работать?
 
Цитата
Роман Родников написал:
Спасибо, Егор!
У меня как раз по написанию скрипта вопросы.

Есть в моем черновике строка:

if Fast_MA(DS:Size()-1) <= Slow_MA(DS:Size()-1) and Fast_MA() > Slow_MA() then

В ней есть "Fast_MA(DS:Size()-1)"
Вопросs такие:
1. DS - это datasource на сколько я вижу. Аббревиатура "DS" для Qlua уже является datasource или в OnInit()  необходимо прописывать строку:
DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL);

2. Обозначение "Fast_MA()" тоже понимается Qlua как медленная скользящая или ее в начале нужно обозначить как медленную скользящую, а потом с ней работать?
DS это переменная, которую Вы сами задаете. В QLUA имя переменной может быть каким угодно.
В Вашем примере выше, переменная DS задается в строке:
DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL).

Fast_MA это имя пользовательской функции, которую вы тоже должны создать перед ее использованием,
ее имя также может быть любым.
В Вашем примере выше, функция Fast_MA нигде не задается, а значит код
работать не будет.
 
Цитата
Роман Родников написал:
Здравствуйте.
Я хочу создать советника на Qlua, который на графике цены будет проставлять метки в зависимости от условий в скрипте.И у меня, как у новичка, есть несколько вопросов:
1.Нужно ли создавать отдельную область, где будет график цены, или можно будет как-то добавить свой скрипт как индикатор в Quik к штатному графику Price и получать на нем соответствующие метки?
2.Есть набор стандартных индикаторов в Qlua, они в папке INDICATORS. Обязательно ли вызывать стандартный индикатор строкой
dofile ("C:\INDICATORS\MACD.lua"), или если индикатор стандартный, то можно его и так вызвать MACD ( параметр1, параметр2,...параметрN)?
3. Есть ли у кого-то шаблон такого советника, с которого можно было-бы начать?
Попробую объяснить сущность QLUA.
QLUA - это библиотека функций обращения через терминал QUIK к брокеру, написанная для стандартной VM LUA.
--------------------------------
Чтобы написать советник надо.
----------------------
1) Изучить язык программирования луа. Это можно сделать без квика.
------------------------------
2) Изучить функции библиотеки QLUA.
---------------------------
3) Написать программу на луа с использованием библиотеки qLUA..
Страницы: 1
Читают тему
Наверх