Скрипт выводит в таблицу QLua баланс покупок/продаж последних 5-ти 1-минутных свечей

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 5, среднее: 5,00 из 5)
Загрузка...

Скрипт-баланс-покупок-продаж

Код скрипта QLua
Скачать скрипт
Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

Добавить комментарий

Скрипт выводит в таблицу QLua баланс покупок/продаж последних 5-ти 1-минутных свечей: 131 комментарий

  1. Спасибо, сделал. Получилось, что он отрабатывает 15 минутки с момента своего запуска. А это не совсем то , что нужно. Надо, чтобы скрипт обрабатывал 15 TF , как на графике в квике - сменилась свечка, начался новый счет. Для часовика я сам сделал, а для 15 минутки наверно ума не хватает)))

      1. Именно с момента запуска, а хотелось бы чтобы после запуска скрипт отрабатывал до начала новой квиковой 15-минутки и начинал отсчет по новой. Если это нельзя сделать, что ж, буду использовать на часовых свечках, там все работает так как надо. Просто параметр LastBarSeconds я заменил на LastBarMinutes

  2. Не нашел в руководстве и на сайте. Подскажите, а возможно вставлять строки не в конец таблицы, а в начало?
    Как нибудь так:

    1
    2
    
     rows,col = GetTableSize(t_id)
    InsertRow(t_id, (rows*-1)-1)

    или так

    1
    
     InsertRow(t_id, 1)
    1. В руководстве как раз есть:
      3.15.7 InsertRow
      Функция добавляет строку с ключом «key» в таблицу с идентификатором «t_id».
      Формат вызова:
      NUMBER InsertRow(NUMBER t_id, NUMBER key)
      При добавлении данных в новую таблицу в первую очередь выполните
      данную функцию с параметром «key» равным «-1». При этом строка
      добавится в конец таблицы.
      Функция возвращает номер добавленной строки при успешном выполнении, иначе – «-1».
      При вызове функции с параметром «key» большим, чем текущее количество строк, строка
      добавляется в конец таблицы.
      Так что ответ - Да, возможно.

        1. Если key=1, то это и будет в начало, исключение, когда в таблице пусто и надо присваивать key=-1
          Иначе зачем этот key вообще нужен. В руководстве достаточно однозначно написано.

  3. Добрый день, уважаемая команда!
    Спасибо за отличный код, особенно с функцией выбора TF.
    Разрешите выразить пожелание по развитию данного скрипта: с точки зрения визуализации удобно было бы, чтобы по завершении бара установленного TF скрипт выводил на график метку со значением дельты, рассчитанной для данного завершенного бара.
    Данную функцию можно сделать опциональной: выводить или нет определяет пользователь в настройках в начале скрипта.
    Первой строкой можно сделать сделать время окончания "отчетного" бара - чтобы глазами было легче искать (можно также опционально если кому надо/не надо).

    Спасибо огромное за скрипт и если найдется возможность реализовать данные пожелания!!!!

    1. Здравствуйте!
      Он везде работает, возможно у Вас просто таблица не перерисовывается из-за частого вызова OnQuote, попробуйте по ней мышкой понажимать, подвигать ее, появятся изменения? Если нет, то возможно ошибка в логике кода.

          1. is_run=true
             
            p_classcode="QJSIM" --Код класса
             
            p_seccode="SBER" --Код инструмента
             
            function main()
             
            CreateTable();
             
               while is_run do
             
                   sleep(2000)
             
            end
            end
             
            function CreateTable()
             
            local T=0; 
            t_id = AllocTable();	
            AddColumn(t_id, T, "Оповещение", true, QTABLE_INT_TYPE, 15); T=T+1; 
             t = CreateWindow(t_id); 
            SetWindowCaption(t_id, "Таблица оповещения"); 
             
            for i=0, 10, 1 do 
            InsertRow(t_id, -1); 
             
            end; 
            end
             
            function OnQuote(class_code, sec_code)
                    if class_code==p_classcode and sec_code==p_seccode then
             
            SetCell(t_id, 1, 0, "Проверка работы Setcell");
             
            end
            end
             
            function OnStop() 
            DestroyTable(t_id); 
            Is_Run = false; 
            end;
                1. Все я нашел проблему ))))))
                  Смешно, вчера когда я запускал этот код, в созданную таблицу в указанную строку должен был добавить текст. Таблица создавалась, но текст не добавлялся, а не добавлялся он потому что, стакан не обновлялся 🙂 Я ждал секунд 10 ничего не появлялось и я думал, что ничего не работает, а сегодня с утра стакан активно обновляется и все работает 🙂

      1. в приведенном примере ma.lua - там где одна линия. есть ошибка синтаксис. И невозможно запустить индикатор. Они специально делают ошибки, чтобы примеры нельзя было проверить и применить и использовать знания? Часто такое встречаю во многих учебниках. Преднамеренно - делают.

        1. Здравствуйте. Да, квик не славится подробностью описания функционала касающегося QLua. Ошибку синтаксиса можно найти запустив индикатор, как скрипт, из окна "Доступные скрипты" и найдете строку с ошибкой.

  4. Попробовал скрипт -всё работает отлично, но у меня всегда появляется перед колонкой со знаком "1" ещё одна, типа счётчика строк. У вас на скрине её нет, я каждый раз убираю вручную. Как спрятать эту колонку? И ещё, у меня не распознаёт русский шрифт. в Чём может быть проблема?