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

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

Страницы: Пред. 1 2 3 4 5 6 7 8
подписаться на 2 таймфрейма
 
ds это зарезирвированное имя или можно какие угодно брать литеры?
подписаться на 2 таймфрейма
 
Подскажите как грамотно подписаться в одном скрипте на два таймфрейма?

Код
rsi_tf=INTERVAL_M5
mov_tf=INTERVAL_M1
Код
function main()
for key,sec in pairs(fut_list) do
    DataSource(class,sec,rsi_tf)    
    DataSource(class,sec,mov_tf)    
    
end
end
Код
function mycallbackforallstocks(class,sec,index)         

end

 function DataSource(class,sec,interval)
   ds[sec] = CreateDataSource(class,sec,interval)
   ds[sec]:SetUpdateCallback(function(...) mycallbackforallstocks(class,sec,...) end)
   return ds[sec]
end
надо ли заводить вторую таблицу типа ds?
Спасибо
Неверный код клиента
 
проблема решена
теперь надо задавать код клиента, а раньше можно было обойтись без этого
Неверный код клиента
 
Добрый день.
Брокер Открытие. Торгует робот на споте. Завёл себе ещё один счёт на ММВБ (второй), брокер добавил его в КВИК. Старый робот начал глючить, хотя в нём не вносились никакие изменения. Ошибка Неверный код клиента.
Сломал голову. Прошу подсказать что случилось
Вот строка отправки заявок:
conditions=="LONG"
Цитата
send_limit_buy_in, reply=sendLimit(class_code[sec],sec,"B",buy_price,buy_lots,account,"", conditions)
Вот функция
Код
function sendLimit(class,security,direction,price,volume,account,client_code,comment,execution_condition,expire_date,market_maker)
    if string_find(FUT_OPT_CLASSES,class)~=nil then
        return sendLimitFO(class,security,direction,price,volume,account,comment,execution_condition,expire_date,market_maker)
    else
        return sendLimitSpot(class,security,direction,price,volume,account,client_code,comment,market_maker)
    end
end
Код
function sendLimitSpot(class,security,direction,price,volume,account,client_code,comment,market_maker)
    -- отправка лимитированной заявки
    -- все параметры кроме кода клиента и коментария должны быть не нил
    -- ВАЖНО! цена должна быть стрингом с количеством знаков после точки для данной бумаги
    -- если код клиента нил - подлставляем счет
    -- market_maker - признак заявки маркет-мейкера. true\false
    -- Данная функция возвращает 2 параметра
    --     1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик
    --     2. Ответное сообщение сервера Квик либо строку с параметрами транзакции
    if (class==nil or security==nil or direction==nil or price==nil or volume==nil or account==nil) then
        return nil,"QL.sendLimitSpot(): Can`t send order. Nil parameters."
    end

    local trans_id=random_max()        
    local transaction={
        ["TRANS_ID"]=tostring(trans_id),
        ["ACTION"]="NEW_ORDER",
        ["CLASSCODE"]=class,
        ["SECCODE"]=security,
        ["OPERATION"]=direction,

        ["QUANTITY"]=string_format("%d",tostring(volume)),
        ["PRICE"]=toPrice(security,price,class),
        ["ACCOUNT"]=tostring(account)
    }
    if client_code==nil then
        transaction.client_code=tostring(account)
    else
        transaction.client_code=tostring(client_code)
    end
    if comment~=nil then
        transaction.client_code=string_sub(transaction.client_code..'/'..tostring(comment),0,20)
    else
        transaction.client_code=string_sub(transaction.client_code..'/QL',0,20)
    end
    if market_maker~=nil and market_maker then
        transaction['MARKET_MAKER_ORDER']='YES'
    end
    local res=sendTransaction(transaction)
    if res~="" then
        return nil, "QL.sendLimitSpot():"..res
    else
        return trans_id, "QL.sendLimitSpot(): Limit order sended sucesfully. Class="..class.." Sec="..security.." Dir="..direction.." Price="..price.." Vol="..volume.." Acc="..account.." Trans_id="..trans_id
    end
end
Найти ближайший фьючерс
 
Прошу помочь с задачей, казалось бы лёгкой, но не для моих слабых навыков.

Нужно найти ближайший фьючерс из всех имеющихся фьючерсов для данного актива.
Например акция Газпрома.
Нужно найти ближайший фьючерс на Газпром по критерию: минимальное количество дней до экспирации.

Вот что я уже умею:
Количество дней до экспирации: days_till_exp=getParamEx("SPBFUT",fut_code,"DAYS_TO_MAT_DATE").param_value    
Вытянуть базовый актив из фьючерса: ba=getParamEx("SPBFUT",fut_code,"OPTIONBASE").param_image
Базовый актив будет одинаковый у фьючерсов на одинаковый инструмент.
А вот как перебирать поля Текущей таблицы я так и не придумал.
Заранее спасибо за подсказки.
Страницы: Пред. 1 2 3 4 5 6 7 8
Наверх