Алексей Айсберг
Алексей Айсберг личный блог
27 января 2014, 13:41

ohlcv из графика ---> ohlcv таблица

Добрый день. 
Как сделать так, чтобы вместо графика квик выводил ohlcv последних 100 свечек в виде таблицы?
это можно сделать где-то в настройках? или робота писать надо?
3 Комментария
  • kochevnik
    27 января 2014, 13:49
    робота, и довольно таки муторный скрип (если в qpl)
  • Sergey F
    27 января 2014, 15:19
    PORTFOLIO_EX RiCandles;
    DESCRIPTION RiCandles;
    CLIENTS_LIST ALL_CLIENTS;
    FIRMS_LIST ALL_FIRMS;

    PROGRAM

    secClass = «SPBFUT»
    secCode = «RIH4»
    timeFrame = 5
    candleMaxCount = 2000

    DELETE_ALL_ITEMS()

    dateTime = GET_DATETIME()
    yearPart = GET_VALUE(dateTime, «YEAR»)
    monthPart = GET_VALUE(dateTime, «MONTH»)
    dayPart = GET_VALUE(dateTime, «DAY»)
    hourPart = GET_VALUE(dateTime, «HOUR»)
    minutePart = GET_VALUE(dateTime, «MIN»)

    minutePart = timeFrame * FLOOR(minutePart / timeFrame)

    for i from 1 to candleMaxCount
    dateString = GetDataString(yearPart, monthPart, dayPart)
    timeString = GetTimeString(hourPart, minutePart)
    candle = GET_CANDLE(secClass, secCode, "", timeFrame, «PRICE», dateString, timeString)
    open = GET_VALUE(candle, «Open») + 0
    if (open = 0)
    candleMaxCount = candleMaxCount + 1
    end if

    if (open > 0)
    high = GET_VALUE(Candle, «High»)
    low = GET_VALUE(Candle, «Low»)
    close = GET_VALUE(Candle, «Close»)
    volume = GET_VALUE(candle, «Volume»)
    output = CREATE_MAP()
    output = SET_VALUE(output, «Date», dateString)
    output = SET_VALUE(output, «Time», timeString)
    output = SET_VALUE(output, «OpenPrice», open)
    output = SET_VALUE(output, «HighPrice», high)
    output = SET_VALUE(output, «LowPrice», low)
    output = SET_VALUE(output, «ClosePrice», close)
    output = SET_VALUE(output, «Volume», volume)
    ADD_ITEM(i, output)
    end if
    minutePart = minutePart — timeFrame
    if minutePart < 0
    minutePart = 60 — timeFrame
    hourPart = hourPart — 1
    if hourPart < 0
    hourPart = 23
    dayPart = dayPart — 1
    if dayPart < 1
    dayPart = 31
    monthPart = monthPart — 1
    if monthPart < 1
    monthPart = 12
    yearPart = yearPart — 1
    end if
    end if
    end if
    end if
    end for

    func GetDataString(year, month, day)
    if (LEN(month) < 2)
    month = «0» & month
    end if
    if (LEN(day) < 2)
    day = «0» & day
    end if
    result = year & month & day
    end func

    func GetTimeString(hour, min)
    if (LEN(hour) < 2)
    hour = «0» & hour
    end if
    if (LEN(min) < 2)
    min = «0» & min
    end if
    result = hour & min & «00»
    end func

    END_PROGRAM

    PARAMETER Date;
    PARAMETER_TITLE Дата;
    PARAMETER_DESCRIPTION Дата cвечки;
    PARAMETER_TYPE STRING(30);
    END

    PARAMETER Time;
    PARAMETER_TITLE Время;
    PARAMETER_DESCRIPTION Время cвечки;
    PARAMETER_TYPE STRING(30);
    END

    PARAMETER OpenPrice;
    PARAMETER_TITLE Цена открытия;
    PARAMETER_DESCRIPTION Цена открытия свечки;
    PARAMETER_TYPE NUMERIC(10,2);
    END

    PARAMETER HighPrice;
    PARAMETER_TITLE Максимальная цена;
    PARAMETER_DESCRIPTION Максимальная цена свечки;
    PARAMETER_TYPE NUMERIC(10,2);
    END

    PARAMETER LowPrice;
    PARAMETER_TITLE Минимальная цена;
    PARAMETER_DESCRIPTION Минимальная цена свечки;
    PARAMETER_TYPE NUMERIC(10,2);
    END

    PARAMETER ClosePrice;
    PARAMETER_TITLE Цена закрытия;
    PARAMETER_DESCRIPTION Цена закрытия свечки;
    PARAMETER_TYPE NUMERIC(10,2);
    END

    PARAMETER Volume;
    PARAMETER_TITLE Объем;
    PARAMETER_DESCRIPTION Объем сделок в свечке;
    PARAMETER_TYPE NUMERIC(10,0);
    END

    END_PORTFOLIO_EX

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн