Beginner (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Добавление флагов в скрипт
 
Цитата
nikolz написал:
у вас flag всегда ноль.
а как правильно нужно?  
Добавление флагов в скрипт
 

Решил сделать несложный торговый скрипт с использованием флагов:

  • если на последней закрытой свече close>open, то происходит buy
  • если на последней закрытой свече close<open, то происходит sell
Чтобы скрипт на тренде не совершал новых сделок, то я решил добавить флаги по логике: flag=0 - исходное значение flag=1 - присваивается после buy flag=0 - присваивается после sell
И по описанной логике код работает все время до отключения.

Все это включено в код ниже, но он работает только если flag отключены.

Если flag активны, то в таблице даже цены не появляются.

В чем моя ошибка? Как правильно прописывать флаги?

Код
------------------------------------------
local SecCode="MMM3"  --код тикера

local Depo="XXXX" --счет-депо

------------------------------------------
--условие остановки скрипта

local stopped = false
local T  = {}
function OnStop()
    stopped = true
    return 2000
end

--основной блок

function main()

    local Table = AllocTable()

        --создаем таблицу

        AddColumn(Table, 1,"Тикер", true, QTABLE_STRING_TYPE, 13)
        AddColumn(Table, 2,"Close", true, QTABLE_DOUBLE_TYPE, 13)
        AddColumn(Table, 3,"Open", true, QTABLE_DOUBLE_TYPE, 13)


        CreateWindow(Table)
        SetWindowCaption(Table, "Test")
        SetWindowPos(Table, 0, 10, 390, 90)
        InsertRow(Table, -1)

    while stopped==false do

        --получаем количество свечей
        local N = getNumCandles("Price")
        
        --получаем данные по идентификаторам на графике
        local Price, N, Name = getCandlesByIndex("Price", 0, N-2,1) --идентификатор цены на графике - Price
        
        flag=0 --ИСХОДНОЕ ЗНАЧЕНИЕ ФЛАГА
        
            --заполняем таблицу данными

            SetCell(Table, 1, 1, tostring("IMOEX"))
            SetCell(Table, 1, 2, tostring(Close))
            SetCell(Table, 1, 3, tostring(Open))
            --------------------------------------------------------------------------------------------------------------
            --отправка заявки на покупку при срабатывании условия
            if Close>Open and flag==0 then --ИДЕТ ПРОВЕРКА ЗНАЧЕНИЯ ФЛАГА
                local ID_B_Order=10

                local Order = {
                            ["ACTION"]="NEW_ORDER",
                            ["ACCOUNT"]= Depo,
                            ["OPERATION"] = "B",
                            ["CLASSCODE"]="SPBFUT",
                            ["SECCODE"] = SecCode,
                            ["PRICE"] = "0",
                            ["QUANTITY"] = tostring(1),
                            ["TRANS_ID"] = tostring(ID_B_Order),
                            ["TYPE"] = "M",
                            }
                local Err_Order = sendTransaction(Order)
                message(Err_Order)
                flag=1 --ФЛАГ МЕНЯЕТ ЗНАЧЕНИЕ НА 1 ПОСЛЕ СДЕЛКИ


            elseif Close<Open and flag==1 then --ИДЕТ ПРОВЕРКА ЗНАЧЕНИЯ ФЛАГА

                local ID_S_Order=1
                local Order = {
                            ["ACTION"]="NEW_ORDER",
                            ["ACCOUNT"]= Depo,
                            ["OPERATION"] = "S",
                            ["CLASSCODE"]="SPBFUT",
                            ["SECCODE"] = SecCode,
                            ["PRICE"] = "0",
                            ["QUANTITY"] = tostring(1),
                            ["TRANS_ID"] = tostring(ID_S_Order),
                            ["TYPE"] = "M",
                            }
                local Err_Order = sendTransaction(Order)
                message(Err_Order)
                flag=0 --ФЛАГ МЕНЯЕТ ЗНАЧЕНИЕ НА ИСХОДНОЕ (0)
        
            end
        end
        sleep(1000)
    end

end
Не могу найти "Количество открытых позиций"
 
Всем привет.

В квике 10.0.1.18 не могу найти "Количество открытых позиций" - есть только "Открытый интерес".
Это синонимы?
Quik и Raspberry Pi, Работа на Линухе
 
Здравствуйте!

Возможна ли установка Квика на Raspberry Pi (ОС Raspbian) и, если да, то будут ли в этой среде работать скрипты на Lua?

Где можно найти версию для установки в указанную ОС?
Как окрасить отдельные клетки в заданный цвет?, Окрашивание клеток средствами Луа
 
Вопрос решился. Всем спасибо
Как окрасить отдельные клетки в заданный цвет?, Окрашивание клеток средствами Луа
 
Цитата
Владимир написал:
Beginner, Индекс ЧЕГО?
Мне нужно, чтобы 2 клетка сверху и 3 снизу были окрашены  RGB(255,0,0).
Все остальное остается серым.
Как это прописать?
Как окрасить отдельные клетки в заданный цвет?, Окрашивание клеток средствами Луа
 
Цитата
Владимир написал:
Beginner, Ответы:
0) Нет, и быть не может никакой таблицы, все ряды которой закрашены серым цветом. Её нужно а) создать и б) покрасить все её ячейки в серый цвет
1) Таблица прорисовывается в текстовом режиме, а линии рисуются в графическом, поэтому нарисовать черную горизонтальную линию между 1 и 2 рядом невозможно - можно только эмулировать её отдельной строкой таблицы.
2) Воспользоваться функцией SetColor.
Владимир, а как в setcolor  индекс прописать? В этом и есть основной вопрос
Как окрасить отдельные клетки в заданный цвет?, Окрашивание клеток средствами Луа
 
Есть таблица, все ряды которой закрашены серым цветом.
Вопросы:
1) как нарисовать черную горизонтальную линию между 1 и 2 рядом?
2) как покрасить ячейки с индексами 1,2 и 2,3 в цвет RGB(255,0,0)?

Заранее спасибо!
Код
local Table = AllocTable()
AddColumn(Table, 1,"X", true, QTABLE_STRING_TYPE, 16)
AddColumn(Table, 2,"Y", true, QTABLE_DOUBLE_TYPE, 16)
AddColumn(Table, 3,"Z", true, QTABLE_DOUBLE_TYPE, 16)


CreateWindow(Table)
SetWindowCaption(Table, "Info")
SetWindowPos(Table, 0, 10, 800, 150)
InsertRow(Table, -1)
InsertRow(Table, -2)

SetColor(Table,1,QTABLE_NO_INDEX, RGB (255,250,250), RGB (0,0,0), RGB (255,250,250), RGB (0,0,0))
SetColor(Table,2,QTABLE_NO_INDEX, RGB (255,250,250), RGB (0,0,0), RGB (255,250,250), RGB (0,0,0))
Страницы: 1
Наверх