В процессе загрузки ресурсов... загрузка...

Инструкции по API FMZ

Автор:Нуль, Создано: 2020-04-20 10:19:00, Обновлено: 2023-04-12 14:44:56

// true    

}


[http://underscorejs.org/](http://underscorejs.org/)
```js
function main() {
    var sum = _.reduce([1, 2, 3], function(memo, num){return memo + num}, 0)
    Log(sum)
}
  • C++библиотекаhttps://nlohmann.github.io/json/
    void main() {
        json table = R"({"type": "table", "title": "Position Information", "cols": ["Column1", "Column2"], "rows": [["abc", "def"], ["ABC", "support color #ff0000"]]})"_json;
        LogStatus("`" + table.dump() + "`");
        LogStatus("Fist line message\n`" + table.dump() + "`\nThird line message");
        json arr = R"([])"_json;
        arr.push_back(table);
        arr.push_back(table);
        LogStatus("`" + arr.dump() + "`");
        
        table = R"({
            "type" : "table", 
            "title" : "Position Operation", 
            "cols" : ["Column1", "Column2", "Action"], 
            "rows" : [
                ["abc", "def", {"type": "button", "cmd": "coverAll", "name": "close position"}]
            ] 
        })"_json;
        LogStatus("`" + table.dump() + "`", "\n`" + R"({"type": "button", "cmd": "coverAll", "name": "close position"})"_json.dump() + "`");
    }
    

Показатели функции в библиотеке Талиба

Среди параметров следующих функций:Records[Close]представляет собой цену закрытия в поступающих данных k-линии,Array()представляет собой массив, иArray(outInteger)представляет собой возвращение массива целых данных.

Пример кода для вызоваCCIпоказатель:

function main() {
    var records = exchange.GetRecords()
    var cci = talib.CCI(records, 14)
    Log(cci)
}
import talib
def main():
    records = exchange.GetRecords()
    # the parameter "14" can be default 
    cci = talib.CCI(records.High, records.Low, records.Close, 14)   
    Log(cci)
void main() {
    auto records = exchange.GetRecords();
    auto cci = talib.CCI(records, 14);
    Log(cci);
}
  • Pattern Recognition:

    Показатель Описание
    CDL2CROWS Две вороны
    CDL2CROWS ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целого)
    CDL3ЧЕРНЫЕ КРОВЫ Три чёрных вороны
    CDL3BLACKCROWS ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDL3 Внутри Три внутри вверх/вниз
    CDL3INSIDE ((Записи[Open,High,Low,Close]) = Массив ((outInteger)
    CDL3LINESTRIKE Трехлинейный удар
    CDL3LINESTRIKE ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDL3ВНЗ Три снаружи вверх/вниз
    CDL3OUTSIDE ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDL3ЗвездаЮжный Три звезды на юге
    CDL3STARSINSOUTH ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDL3 белые солдаты Три белых солдата
    CDL3WHITESOLDIERS ((Записи [Открыть,высокий,низкий,близкий]) = Массив ((неполный)
    CDLABANDONEDBABY - "Оставленный ребенок" Заброшенный ребенок
    CDLABANDONEDBABY ((Рекорд[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger)
    CDLADVANCEBLOCK Предварительный блок
    CDLADVANCEBLOCK ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLBELTHOLD Держите ремень
    CDLBELTHOLD ((Записи[Открыть,высокий,низкий,закрыть]) = Массив ((выйти целый)
    CDLBRAKAWAY (отрыв) Отступление
    CDLBREAKAWAY ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLCLOSING Марубозу Закрытие Марубозу
    CDLCLOSINGMARUBOZU ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((выйтиInteger)
    CDLCONCEALBABYSWALL (Скрытый ребенок) Скрытие ласточки
    CDLCONCEALBABYSWALL ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLКонтрнаступление Контрнаступление.
    CDLCOUNTERATTACK ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLDARKCLOUDCOVER Темная облачная покровка
    CDLDARKCLOUDCOVER ((Записи [Открыть,высокий,низкий,близкий],проникновение = 0,5) = массив ((выйти целое число)
    CDLDOJI Додзи
    CDLDOJI ((Записи[Открыть,высокий,низкий,закрыть]) = Массив ((неполный)
    CDLDOJISTAR Звезда Додзи
    CDLDOJISTAR ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целый)
    CDLDRAGONFLYDOJI (Драконовый летящий) Додзи - воробьи
    CDLDRAGONFLYDOJI ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целый)
    СДЛЕНГУЛФИРОВАНИЕ Поглощающая модель
    CDLENGULFING ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    СДЛЕВЕНИНГДОЖИСТАР Вечерняя звезда Доджи
    CDLEVENINGDOJISTAR ((Записи [Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger)
    CDLEVENINGSTAR Вечерняя звезда
    CDLEVENINGSTAR ((Записи [Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger)
    CDLГАПСИДESIDEбелый Белые линии с разрывом вверх/вниз
    CDLGAPSIDESIDESWHITE ((Записи [Открыть,высокий,низкий,закрыть]) = Массив ((выйтиInteger)
    CDLGRAVESTONEDOJI Могильный камень Доджи
    CDLGRAVESTONEDOJI ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((выйтиInteger)
    CDLHAMMER Молот
    CDLHAMMER ((Рекорд[Open,High,Low,Close]) = Массив ((outInteger)
    Сидлхангингмен Повеситель
    CDLHANGINGMAN ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLHARAMI Харами-образ
    CDLHARAMI ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целых)
    CDLHARAMICROSS Харами кросс-паттерн
    CDLHARAMICROSS ((Рекорд[Open,High,Low,Close]) = Массив ((outInteger)
    CDHIGHWAVE Свеча с высокими волнами
    CDLHIGHWAVE ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    Сидлхиккаке Образец хиккаке
    CDLHIKKAKE ((Записи [Открыть, Высокий, Низкий, Закрыть]) = Массив ((из Целый)
    CDLHIKKAKEMOD (в переводе с английского) Модифицированный рисунок хиккаке
    CDLHIKKAKEMOD ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((outInteger)
    CDLHOMINGPIGEON Голубь-командир
    CDLHOMINGPIGEON ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLIDENTICAL3CROWS - это я. Одинаковые три вороны
    CDLIDENTICAL3CROWS ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLINNECK Узоры на шее
    CDLINNECK ((Записи[Open,High,Low,Close]) = Массив ((outInteger)
    CDLINVERTEDHAMMER Перекрученный молоток
    CDLINVERTEDHAMMER ((Рекордс[Open,High,Low,Close]) = Массив ((outInteger)
    CDLKICKING Пинает.
    CDLKICKING ((Рекорд[Open,High,Low,Close]) = Массив ((outInteger)
    CDLKICKKINGBYLENGTH (Должина клика) Удар - бык/медведь, определяемый более длинным марубозу
    CDLKICKINGBYLENGTH ((Записи [Открыть,высокий,низкий,близкий]) = Массив ((включительно)
    CDLLADERBOTTOM Нижняя часть лестницы
    CDLLADDERBOTTOM ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLLONGLEGGEDDOJI (в переводе с английского) Длинноногий додж
    CDLLONGLEGGEDDOJI ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целый)
    CDLLONGLINE Свеча длинной линии
    CDLLONGLINE ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLMARUBOZU Марубозу
    CDLMARUBOZU ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целых)
    CDLMATCHINGLOW Совпадение низкое
    CDLMATCHINGLOW ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целых)
    CDLMATHOLD Поддержка матки
    CDLMATHOLD ((Рекорд[Open,High,Low,Close],Penetration = 0.5) = Array ((outInteger)
    CDMORNINGDOJISTAR - " Утренняя звезда " Утренняя звезда Доджи
    CDLMORNINGDOJISTAR ((Записи [Открыть,высокий,низкий,близкий],проникновение = 0,3) = массив ((выход Целый)
    CDLMORNINGSTAR Утренняя звезда
    CDLMORNINGSTAR ((Рекорд[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger)
    CDLONNECK Узоры на шее
    CDLONNECK ((Рекорд[Open,High,Low,Close]) = Массив ((outInteger)
    ПРИЗНАНИЕ Пробивающий образец
    CDLPIERCING ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLRICKSHAWMAN (помощник по производству) Человек с рикшей
    CDLRICKSHAWMAN ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLRISEFALL3МЕТОДЫ Три метода повышения/снижения
    CDLRISEFALL3METHODS ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целого числа)
    Разделяющие линии Линии разделения
    CDLSEPARATINGLINES ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLSHOOTINGSTAR Спускающаяся звезда
    CDLSHOOTINGSTAR ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLSORTLINE Свеча короткой линии
    CDLSHORTLINE ((Записи[Open,High,Low,Close]) = Массив ((outInteger)
    CDLSPINNINGTOP Свинцовая вершина
    CDLSPINNINGTOP ((Рекорд[Открыть,высокий,низкий,закрыть]) = массив ((выполнители)
    CDLSTALLEDPATTERN Невыполненный процесс
    CDLSTALLEDPATTERN ((Рекорд[Open,High,Low,Close]) = Массив ((outInteger)
    CDLSTICKSANDWICH (Сандук с клетками) Сэндвич с палочкой
    CDLSTICKSANDWICH ((Рекорд[Open,High,Low,Close]) = Массив ((outInteger)
    CDLTAKURI Такури (Доджи-драконьица с очень длинной нижней тенью)
    CDLTAKURI ((Записи[Открыть,высокий,низкий,близкий]) = Массив ((неполный)
    CDLTASUKIGAP Разрыв Тасуки
    CDLTASUKIGAP ((Записи[Open,High,Low,Close]) = Массив ((outInteger)
    CDLTHRUSTING Зажигательный образ
    CDLTHRUSTING ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((outInteger)
    CDLTRISTAR Тристарный шаблон
    CDLTRISTAR ((Записи[Open,High,Low,Close]) = Массив ((outInteger)
    CDLUNIQUE3RIVER Уникальная река 3
    CDLUNIQUE3RIVER ((Записи [Open,High,Low,Close]) = Массив ((outInteger)
    CDLUPSIDEGAP2CROWS (включает в себя: Разрыв вверх два ворона
    CDLUPSIDEGAP2CROWS ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((из Целых)
    CDLXSIDEGAP3МЕТОДЫ Разрыв в цене вверх/вниз Три метода
    CDLXSIDEGAP3METHODS ((Записи [Открыть, Высокий, Нижний, Закрыть]) = Массив ((outInteger)
  • Volume Indicators:

    Показатель Описание
    AD Линия A/D Chaikin
    AD ((Записи[высокий, низкий, близкий, объем]) = Массив ((outReal)
    ADOSC Осиллятор Chaikin A/D
    ADOSC ((Рекорды[Высокий, низкий, близкий, объем],быстрый период = 3,медленный период = 10) = массив ((outReal)
    OBV По объему баланса
    OBV ((Записи[Close],Записи[Volume]) = Массив ((outReal)
  • Math Transform:

    Показатель Описание
    ACOS Векторный тригонометрический ACos
    ACOS ((Записи[Close]) = Массив ((outReal)
    АСИН Векторный тригонометрический ASin
    ASIN ((Записи[Close]) = Массив ((outReal)
    ATAN Векторный тригонометрический ATan
    ATAN(Записи[Close]) = Массив ((outReal)
    CEIL Векторный потолок
    CEIL ((Записи[Close]) = Массив ((outReal)
    COS Векторные тригонометрические Cos
    COS ((Записи[Close]) = Массив ((outReal)
    COSH Векторный тригонометрический Кош
    COSH ((Записи[Close]) = Массив ((outReal)
    Срок действия Векторная арифметика Exp
    EXP ((Записи[Close]) = Массив ((outReal)
    Полы Векторный пол
    FLOOR ((Records[Close]) = Массив ((outReal)
    LN Вектор логистический естественный
    LN ((Записи[Close]) = Массив ((outReal)
    LOG10 Вектор Log10
    LOG10 ((Записи[Close]) = Массив ((outReal)
    СИН Вектор тригонометрический Sin
    SIN ((Записи[Close]) = Массив ((outReal)
    СИНГ Векторный тригонометрический синтез
    SINH ((Записи[Close]) = Массив ((outReal)
    SQRT Вектор квадратный корень
    SQRT ((Записи[Close]) = Массив ((outReal)
    TAN Векторный тригонометрический Тан
    TAN ((Записи[Close]) = Массив ((outReal)
    ТАНХ Векторный тригонометрический танх
    TANH ((Записи[Close]) = Массив ((outReal)
  • Math Operators:

    Показатель Описание
    Максимум Наибольшее значение за определенный период
    MAX ((Записи[Close],Временный период = 30) = Массив ((outReal)
    MAXINDEX Индекс наивысшей стоимости за определенный период
    MAXINDEX ((Записи[Закрыть],Временный период = 30) = Массив ((outInteger)
    МН Наименьшее значение за определенный период
    MIN ((Записи[Close],Временный период = 30) = Массив ((outReal)
    MININDEX Индекс наименьшего значения за определенный период
    MININDEX ((Записи[Закрыть],Временный период = 30) = Массив ((outInteger)
    MINMAX Минимальные и максимальные значения за определенный период
    MINMAX ((Записи[Закрыть],Временный период = 30) = [Массив ((outMin),Массив ((outMax) ]
    MINMAXINDEX Индексы наименьших и наивысших значений за определенный период
    MINMAXINDEX ((Записи[Закрыть],Временный период = 30) = [Массив ((outMinIdx),Массив ((outMaxIdx) ]
    Сумма Подведение итогов
    SUM ((Записи[Закрыть],Временный период = 30) = Массив ((outReal)
  • Cycle Indicators:

    Показатель Описание
    HT_DCPERIOD Трансформа Хилберта - доминирующий период цикла
    HT_DCPERIOD ((Записи[Close]) = Массив ((outReal)
    HT_DCPHASE Трансформа Гилберта - доминирующая фаза цикла
    HT_DCPHASE ((Записи[Close]) = Массив ((outReal)
    HT_PHASOR Трансформа Хилберта - компоненты фазора
    HT_PHASOR ((Записи[Закрыть]) = [Массив ((выходInPhase),Массив ((выходQuadrature) ]
    HT_SINE Трансформа Гильберта - Синеволна
    HT_SINE ((Records[Close]) = [Array ((outSine),Array ((outLeadSine) ]
    HT_TRENDMODE Трансформа Гилберта - тренд против режима цикла
    HT_TRENDMODE ((Записи[Close]) = Массив ((outInteger)
  • Volatility Indicators:

    Показатель Описание
    ATR Средний истинный диапазон
    ATR ((Записи[Высокий, низкий, близкий], временной период = 14) = Массив ((outReal)
    NATR Нормированный средний истинный диапазон
    NATR ((Рекорд[высокий, низкий, близкий], временной период = 14) = массив ((outReal)
    ТРАНГЕ Истинный диапазон
    TRANGE ((Записи[высокий, низкий, близкий]) = массив ((outReal)
  • Overlap Studies:

    Показатель Описание
    ББАНДЫ Боллингерские полосы
    BBANDS ((Записи[Закрыть],Временный период = 5,Отклонения вверх = 2,Отклонения вниз = 2,МА Тип = 0) = [Массив ((из RealUpperBand),Массив ((из RealMiddleBand),Массив ((из RealLowerBand) ]
    ДЕМА Двойная экспоненциальная скользящая средняя
    DEMA ((Записи[Закрыть],Временный период = 30) = Массив ((outReal)
    ЕМА Экспоненциальная скользящая средняя
    EMA ((Рекорды[Закрыть],Временный период = 30) = Массив ((outReal)
    HT_TRENDLINE Трансформа Гилберта - мгновенная линия тренда
    HT_TRENDLINE ((Записи[Close]) = Массив ((outReal)
    Кама Кауфманская адаптивная скользящая средняя
    KAMA ((Записи[Close],Временный период = 30) = Массив ((outReal)
    М.А. Движущаяся средняя
    MA ((Записи[Close],Временный период = 30, MA Тип = 0) = Массив ((outReal)
    Мать MESA адаптивная скользящая средняя
    MAMA ((Записи[Закрыть],Быстрый лимит = 0,5,медленный лимит = 0,05) = [Аррей ((из MAMA),Аррей ((из FAMA) ]
    Средняя точка Средняя точка периода
    MIDPOINT ((Записи[Close],Временный период = 14) = Массив ((outReal)
    Средняя цена Цены средней точки за период
    MIDPRICE ((Рекорд[высокий, низкий], временной период = 14) = Массив ((outReal)
    SAR Параболический SAR
    SAR ((Записи[Высокий, низкий],Фактор ускорения = 0,02,AF Максимальный = 0,2) = Массив ((outReal)
    SAREXT Параболический SAR - расширенный
    SAREXT ((Записи[Высокий, низкий],Начальное значение = 0, Оффсет на обратном = 0,AF Init Long = 0.02,AF Long = 0.02,AF Max Long = 0.2,AF Init Short = 0.02,AF Short = 0.02,AF Max Short = 0.2) = Массив ((outReal)
    SMA Простая скользящая средняя
    SMA ((Записи[Close],Временный период = 30) = Массив ((outReal)
    Т3 Тройная экспоненциальная скользящая средняя (T3)
    T3 ((Записи[Close],Временный период = 5,Фактор объема = 0,7) = Массив ((outReal)
    ТЕМА Тройная экспоненциальная скользящая средняя
    TEMA ((Записи[Закрыть],Временный период = 30) = Массив ((outReal)
    ТРИМА Треугольная скользящая средняя
    TRIMA ((Записи[Close],Временный период = 30) = Массив ((outReal)
    WMA Взвешенная скользящая средняя
    WMA ((Records[Close],Time Period = 30) = Array ((outReal))
  • Statistic Functions:

    Показатель Описание
    LINEARREG Линейная регрессия
    LINEARREG ((Записи[Close],Временный период = 14) = Массив ((outReal)
    LINEARREG_ANGLE Угол линейной регрессии
    LINEARREG_ANGLE ((Записи[Close],Временный период = 14) = Массив ((outReal)
    LINEARREG_INTERCEPT Перехват линейной регрессии
    LINEARREG_INTERCEPT ((Записи[Close],Временный период = 14) = Массив ((outReal)
    LINEARREG_SLOPE Склон линейной регрессии
    LINEARREG_SLOPE ((Записи[Close],Временный период = 14) = Массив ((outReal)
    СТДДЕВ Стандартное отклонение
    STDDEV ((Записи[Закрыть],Временный период = 5,Отклонения = 1) = Массив ((outReal)
    ТСФ Прогноз по временным сериям
    TSF ((Записи[Закрыть],Временный период = 14) = Массив ((outReal)
    VAR Разница
    VAR ((Записи[Close],Временный период = 5,Отклонения = 1) = Массив ((outReal)
  • Momentum Indicators:

    Показатель Описание
    ADX Средний индекс направленного движения
    ADX ((Записи[Высокий, низкий, близкий], временной период = 14) = Массив ((outReal)
    ADXR Средний индекс направленного движения
    ADXR ((Записи[Высокий, низкий, близкий], временной период = 14) = Массив ((outReal)
    АПО Абсолютный ценовой осциллятор
    APO ((Записи[Закрыть],Быстрый период = 12,Медленный период = 26,MA Тип = 0) = Массив ((outReal)
    АРОН Арун.
    AROON ((Записи[Высокий, низкий, временной период = 14) = [Аррей ((выходAroonDown),Аррей ((выходAroonUp) ]
    AROONOSC Осиллятор Аруна
    AROONOSC ((Рекорд[высокий, низкий], временной период = 14) = массив ((outReal)
    БОП Равновесие сил
    BOP ((Рекордс[Open,High,Low,Close]) = Массив ((outReal)
    CCI Индекс товарного канала
    CCI ((Записи[Высокий, низкий, близкий], временной период = 14) = Массив ((outReal)
    ООП Осилятор импульса Чанде
    CMO ((Записи[Закрыть],Временный период = 14) = Массив ((outReal)
    DX Индекс направленного движения
    DX ((Записи[Высокий, низкий, близкий], временной период = 14) = Массив ((outReal)
    MACD Кользящая средняя конвергенция/дивергенция
    MACD ((Записи[Закрыть],Быстрый период = 12,Словый период = 26,Сигнальный период = 9) = [Массив ((outMACD),Массив ((outMACDSignal),Массив ((outMACDHist) ]
    MACDEXT MACD с управляемым типом MA
    MACDEXT ((Записи[Закрыть],Быстрый период = 12,Быстрый MA = 0,Беспорядочный период = 26,Беспорядочный MA = 0,Период сигнала = 9,Сигнал MA = 0) = [Массив ((outMACD),Массив ((outMACDSignal),Массив ((outMACDHist) ]
    MACDFIX Установка скользящей средней конвергенции/дивергенции 12/26
    MACDFIX ((Записи[Закрыть],Период сигнала = 9) = [Массив ((из MACD),Массив ((из MACDSignal),Массив ((из MACDHist) ]
    МФИ Индекс денежных потоков
    МФИ ((Записи[высокий, низкий, близкий, объем], временной период = 14) = массив ((outReal)
    MINUS_DI Минус указатель направления
    MINUS_DI ((Записи[Высокий, низкий, близкий], временной период = 14) = Массив ((outReal)
    MINUS_DM Минус направленное движение
    MINUS_DM ((Записи[высокий, низкий],временный период = 14) = Массив ((outReal)
    Мать. Импульс
    MOM ((Записи[Закрыть],Временный период = 10) = Массив ((outReal)
    PLUS_DI Плюс указатель направления
    PLUS_DI ((Записи[Высокий, низкий, близкий], Временный период = 14) = Массив ((outReal)
    PLUS_DM Плюс направленное движение
    PLUS_DM(Записи[высокий, низкий], временной период = 14) = Массив ((outReal)
    ППО Процентный осциллятор цен
    PPO ((Записи[Закрыть],Быстрый период = 12,Медленный период = 26,MA Тип = 0) = Массив ((outReal)
    ROC Коэффициент изменения: ((цена/предыдущая цена) -1) *100
    ROC ((Рекордс[Close],Time Period = 10) = Массив ((outReal)
    ROCP Коэффициент изменения Процент: (цена-предупреждение) /предупреждение
    ROCP ((Записи[Закрыть],Временный период = 10) = Массив ((outReal)
    ROCR Соотношение коэффициента изменения: (цена/prevPrice)
    ROCR ((Записи[Закрыть],Временный период = 10) = Массив ((outReal)
    ROCR100 Коэффициент изменения 100 шкала: (цена/prevPrice) * 100
    ROCR100 ((Записи[Закрыть],Временный период = 10) = Массив ((outReal)
    РСИ Индекс относительной силы
    RSI ((Рекорд[Close],Time Period = 14) = Массив ((outReal)
    СТОЧ Стохастический
    STOCH ((Записи[Высокий, низкий, близкий],быстрый период K = 5,медленный период K = 3,медленный период K MA = 0,медленный период D = 3,медленный период D MA = 0) = [Массив ((выходSlowK),Массив ((выходSlowD) ]
    STOCHF Стохастический быстрый
    STOCHF ((Записи[Высокий, низкий, близкий],быстрый период K = 5,быстрый период D = 3,быстрый период D MA = 0) = [Аррей ((выходFastK),Аррей ((выходFastD) ]
    STOCHRSI Индекс относительной силы
    STOCHRSI ((Записи[Закрыть],Временный период = 14,Быстрый-K период = 5,Быстрый-D период = 3,Быстрый-D MA = 0) = [Массив(выходFastK),Массив(выходFastD]
    ТРИКС 1-дневный коэффициент изменения (ROC) тройной плавной EMA
    TRIX(Записи[Закрыть],Временный период = 30) = Массив ((outReal)
    ULTOSC Окончательный осциллятор
    ULTOSC ((Рекорды[Высокий, низкий, близкий],Первый период = 7,Второй период = 14,Третий период = 28) = Массив ((outReal)
    Уиллер Уильямс %R
    WILLR ((Рекорд[высокий, низкий, близкий], временной период = 14) = массив ((outReal)
  • Price Transform:

    Показатель Описание
    AVGPRICE Средняя цена
    AVGPRICE ((Рекорды[Открыть,высокий,низкий,закрыть]) = Массив ((outReal)
    MEDPRICE Средняя цена
    MEDPRICE ((Рекорды[высокий, низкий]) = Массив ((outReal)
    Тип цены Типичная цена
    TYPPRICE ((Рекорд[высокий, низкий, близкий]) = Array ((outReal)
    WCLPRICE Взвешенная цена закрытия
    WCLPRICE ((Рекорды[высокий, низкий, близкий]) = Массив ((недействительный)

Основные данные

Платформа FMZ Quant Trading поддерживает обратное тестирование и запрос различных фундаментальных данных в боте.

Вызов данных

Использованиеexchange.GetData(Source)Функция получения основных данных. Фундаментальные данные криптовалюты временно не собирались.

Формат данных

Фундаментальные данные криптовалюты временно не собирались.

Расширение API платформы FMZ

Платформа FMZ Quant Trading поддерживает программирование различных функций платформы и открыла расширенный API.

Он поддерживает расширение управления полномочиями API, как показано на рисунке:

img

Это позволяет вновь добавленныеAPI KEYВы можете войти.*в поле ввода разрешений API для открытия всех разрешений интерфейса. Укажите конкретные разрешения интерфейса и введите соответствующие расширенные имена функций API, разделенные запятой, напримерGetRobotDetail, DeleteRobotЯ имею в виду, дайте этоAPI KEYразрешение наПолучить интерфейс бота подробную информациюиУдалить интерфейс бота.

Создать APIKey

img

Код возврата API

Описание Код
Успешное исполнение 0
Неправильный ключ API 1
Неправильная подпись. 2
Ошибка Nonce 3
Неправильный метод 4
Неправильный параметр 5
Внутренняя неизвестная ошибка 6

Статус бота

(Нормальный старт)

Статус Код
Недействительный 0
В эксплуатации 1
Прекращение 2
Выписано. 3
Прекращено. 4
В стратегии есть ошибки. 5

(необычно)

Статус Код
Стратегия истекла, и пожалуйста, свяжитесь с автором, чтобы купить его снова -1
Докер не найден -2
Ошибка компиляции стратегии -3
Робот уже работает. -4
Недостаточный баланс -5
Количество одновременных стратегий превышает предел -6

Способы проверки

Проверка токенов

Использованиеmd5метод шифрования для проверки.

Примеры вызовов на языке Python, Golang:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

try:
    import md5
    import urllib2
    from urllib import urlencode
except:
    import hashlib as md5
    import urllib.request as urllib2
    from urllib.parse import urlencode

accessKey = 'f27bfcXXXXXXXX013c62e98XXXXX817a'
secretKey = 'ffeXXXXXXXX085ff7269XXXXXXXX6f82'

def api(method, *args):
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
        }

    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    # Note: for the timeout problem of "urllib2.urlopen" function, you can set the timeout time; for example, urllib2.urlopen ('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8'), timeout = 10), that is, set timeout for 10 seconds
    return json.loads(urllib2.urlopen('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8')).read().decode('utf-8'))

# Return the docker list
print(api('GetNodeList'))
# Return the exchange list
print(api('GetPlatformList'))
# GetRobotList (offset, length, robotStatus, label); passing "-1" means obtaining all
print(api('GetRobotList', 0, 5, -1, 'member2'))
# CommandRobot(robotId, cmd) sends commands to the bot
print(api('CommandRobot', 123, 'ok'))
# StopRobot(robotId) returns the bot status code
print(api('StopRobot', 123))  
# RestartRobot(robotId) returns the bot status code
print(api('RestartRobot', 123))
# GetRobotDetail(robotId) returns detailed bot information
print(api('GetRobotDetail', 123))
package main

import (
    "fmt"
    "time"
    "encoding/json"
    "crypto/md5"
    "encoding/hex"
    "net/http"
    "io/ioutil"
    "strconv"
    "net/url"
)

// Fill in your own FMZ platform api key
var apiKey string = ""                                  
// Fill in your own FMZ platform secret key
var secretKey string = ""                               
var baseApi string = "https://www.fmz.com/api/v1"

func api(method string, args ... interface{}) (ret interface{}) {
    // Process args
    jsonStr, err := json.Marshal(args)
    if err != nil {
        panic(err)
    }

    params := map[string]string{
        "version" : "1.0", 
        "access_key" : apiKey,
        "method" : method,
        "args" : string(jsonStr),
        "nonce" : strconv.FormatInt(time.Now().UnixNano() / 1e6, 10),
    }    

    data := fmt.Sprintf("%s|%s|%s|%v|%s", params["version"], params["method"], params["args"], params["nonce"], secretKey)
    h := md5.New()
    h.Write([]byte(data))
    sign := h.Sum(nil)

    params["sign"] = hex.EncodeToString(sign)

    // http request 
    client := &http.Client{}

    // request 
    urlValue := url.Values{}
    for k, v := range params {
        urlValue.Add(k, v)
    }
    urlStr := urlValue.Encode()
    request, err := http.NewRequest("GET", baseApi + "?" + urlStr, nil)
    if err != nil {
        panic(err)
    }    

    resp, err := client.Do(request)
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    ret = string(b)
    return 
}

func main() {
    settings := map[string]interface{}{
        "name": "hedge test",
        "strategy": 104150,                      
        // K-line period parameter "60" means 60 seconds
        "period": 60,                           
        "node" : 73938,                         
        "appid": "member2",                
        "exchanges": []interface{}{
            map[string]interface{}{
                "eid": "Exchange", 
                "label" : "test_bjex", 
                "pair": "BTC_USDT", 
                "meta" : map[string]interface{}{
                    // Fill in the access key
                    "AccessKey": "",                                
                    // Fill in the secret key
                    "SecretKey": "",                                
                    "Front" : "http://127.0.0.1:6666/exchange",
                },
            },
        },
    }

    method := "RestartRobot"
    fmt.Println("Call interface:", method)
    ret := api(method, 124577, settings)
    fmt.Println("main ret:", ret)
}

Прямая проверка

Он поддерживает проверку безtoken(пропуск)secret_keyНапример, URL, который напрямую дает интерактивные инструкции боту, которые могут быть использованы дляTradingViewилиWebHookв других случаях. ДляCommandRobot(RobotId, Cmd)функция, параметрnonceне требует проверки, а частота доступа и время посещения интерфейса не ограничены.

https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"ok12345"]

При условии, что прямая проверка поддерживается, толькоCommandRobotинтерфейс поддерживается для полученияBodyНапример, настройки вWebHook URLизTradingView:

https://www.fmz.com/api/v1?access_key=fd3be82e9e6e6ed4439f2793a5e9ca&secret_key=520b9f10f3768e6ad1af59ff25184&method=CommandRobot&args=[130350,+""]

Обратите внимание на настройку в соответствии со следующим форматом:args=[130350,+""], в котором130350Это бот?IDплатформы FMZ Quant Trading.

Настройки в поле сообщения (запрошенные данные Body для отправки):

  • Формат JSON:

    {"close": {{close}}, "name": "aaa"}
    

    Робот сIDиз186515может получать интерактивную инструкцию:{"close": 39773.75, "name": "aaa"}.

  • Формат текста:

    BTCUSDTPERP Crossing 39700.00 close: {{close}}
    

    Робот сIDиз186515может получать интерактивную инструкцию:BTCUSDTPERP Crossing 39700.00 close: 39739.4.

ПримерыPython & Golangязыковые вызовы:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

try:
    import urllib2
except:
    import urllib.request as urllib2

accessKey = 'your accessKey'
secretKey = 'your secretKey'

def api(method, *args):
    return json.loads(urllib2.urlopen(('https://www.fmz.com/api/v1?access_key=%s&secret_key=%s&method=%s&args=%s' % (accessKey, secretKey, method, json.dumps(list(args)))).replace(' ', '')).read().decode('utf-8'))

# If APIKEY does not have the interface permission, the call to print(api('RestartRobot', 130350)) will fail, and the returned data is: {'code': 4, 'data': None}
# print(api('RestartRobot', 130350))

# Print bot details with ID 130350
print(api('GetRobotDetail', 130350))  
package main

import (
    "fmt"
    "encoding/json"
    "net/http"
    "io/ioutil"
    "net/url"
)

// Fill in your own FMZ platform api key
var apiKey string = "your access_key"                                  
// Fill in your own FMZ platform secret key
var secretKey string = "your secret_key"                               
var baseApi string = "https://www.fmz.com/api/v1"

func api(method string, args ... interface{}) (ret interface{}) {
    jsonStr, err := json.Marshal(args)
    if err != nil {
        panic(err)
    }
    
    params := map[string]string{
        "access_key" : apiKey,
        "secret_key" : secretKey,
        "method" : method,
        "args" : string(jsonStr),
    }    

    // http request 
    client := &http.Client{}

    // request 
    urlValue := url.Values{}
    for k, v := range params {
        urlValue.Add(k, v)
    }
    urlStr := urlValue.Encode()
    request, err := http.NewRequest("GET", baseApi + "?" + urlStr, nil)
    if err != nil {
        panic(err)
    }    

    resp, err := client.Do(request)
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    ret = string(b)
    return 
}

func main() {
    method := "GetRobotDetail"
    fmt.Println("Call interface:", method)
    ret := api(method, 130350)
    fmt.Println("main ret:", ret)
}

Используйте расширенный API на FMZ Quant для реализации TradingView трейдинга сигналов оповещения

Объяснение расширенного API

  • Расширенный API платформы FMZ Quant Trading

    https://www.fmz.com/api/v1?

    Вышеприведенный символ?За ней следуют параметры запроса.

    Параметры запроса, описанные вPythonязык:

    {
        'version'   : '1.0',
        # Access key, applied on the account management page
        'access_key': '8a1f6c3785fd78a1848320e0b19js99f',   
        # The specific method called
        'method'    : 'GetNodeList',                        
        # The parameter list of specific method algorithm
        'args'      : [],                                   
        # Timestamp, in the unit of millisecond, is allowed to have 1 hour of time error both before and after the standard timestamp;the nonce must be greater than the nonce value of the last access 
        'nonce'     : 1516292399361,                        
        # Signature
        'sign'      : '085b63456c93hfb243a757366600f9c2'    
    }
    

    Каждое имя параметра разделено символом&, а названия и значения параметров связаны с символом=. Полный URL запроса (принимаяmethod=GetNodeListв качестве примера):

    https://www.fmz.com/api/v1?
    access_key=8a1f6c3785fd78a1848320e0b19js99f&
    nonce=1516292399361&
    args=%5B%5D&
    sign=085b63456c93hfb243a757366600f9c2&
    version=1.0&
    method=GetNodeList
    

    Обратите внимание, что нетsecret_keyмежду параметрами запроса.

  • Метод подписи В параметрах запроса параметрsignявляется зашифрованной строкой, и метод шифрования следующий.

    Согласно формату:

    version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
    

    После соединения струн используйтеMD5алгоритм шифрования для шифрования строки и преобразования ее в шестнадцатизначное значение строки данных, обозначаемое значением параметраsign.

    СсылкаPythonкод части подписи:

    # parameter
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
    }
    
    # Calculate "sign" signature (encrypted)
    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    

GetNodeList (()

GetNodeList()возвращает докерский список счета платформы FMZ Quant Trading, соответствующийAPI KEYв запросе.

  • Параметр Никаких.

  • Возвратная стоимость

    {
        "code": 0,
        "data": {
            "result": {
                "nodes": [{
                    // Version number
                    "build": "3.3",                 
                    "date": "2018-01-19 10:35:24",
                    "id": 34500,
                    "ip": "126.28.21.120",
                    // Number of the bots running on this docker
                    "loaded": 1,                    
                    "name": "iZ9116xhkgtZ",
                    // Whether online
                    "online": true,                 
                    // Operation system
                    "os": "linux",                  
                    // Whether to enable offline alert
                    "wd": 0                         
                },
                ...
                ]
            },
            "error": null
        }
    }
    

GetRobotGroupList (()

GetRobotGroupList()возвращает список группировок ботов счета платформы FMZ Quant Trading, соответствующийAPI KEYв запросе.

  • Параметр Никаких.

  • Возвратная стоимость

    {
        "code":0,
        "data":{
            "result":{
                // All bot grouping information: group ID, group name 
                "items":[{"id":1122,"name":"test"}]
            },
            "error":null
        }
    }
    

GetPlatformList ((()

GetPlatformList()возвращает список бирж, которые были добавлены счетом платформы FMZ Quant Trading, соответствующимAPI KEYв запросе.

  • Параметр Никаких.

  • Возвратная стоимость

    {
        "code": 0,
        "data": {
            "result": {
                "platforms": [{
                    "eid": "Huobi",
                    "id": 12483,
                    // The label when adding a platform
                    "label": "huobi - test ETH/ETC",                            
                    "logo": "huobi.png",
                    "name": "huobi",
                    "stocks": ["LTC_BTC", "ETH_BTC", "ETC_BTC", "BCH_BTC"],
                    "website": "https://www.huobi.pro/"
                }, {
                    "eid": "AEX",
                    "id": 16345,
                    "label": "AEX",
                    "logo": "",
                    "name": "AEX",
                    "stocks": ["LTC_BTC", "ETH_BTC", "ETC_BTC", "BCC_BTC"],
                    "website": "https://www.aex.com/"
                },
                ...
                ]
            },
            "error": null
        }
    }
    

GetRobotList(...)

GetRobotList(offset, length, robotStatus, label)возвращает список роботов счета платформы FMZ Quant Trading, соответствующийAPI KEYв запросе.

  • Параметрoffset, lengthиrobotStatusимеют тип целых чисел, иlabelимеет тип струн.

    • offset
    • length
    • robotStatus(проход -1 означает получение всех)
    • label(настраиваемая маркировка; все боты с маркировкой могут флиртовать)

    ДляPythonПример кода, см. вышеметод проверки - проверка токенов, а далее -PythonПример вызова:print api('GetRobotList', 'member2')Напечатать информацию всех роботов с пользовательской этикеткойmember2. print api('GetRobotList', 0, 5, -1, 'member2')страницы от 0 до 5 и перечислить до 5 роботов, обозначенныхmember2.

  • Возвратная стоимость

    {
        "code": 0,
        "data": {
            "result": {
                "all": 53,
                "bots": [{
                    "date": "2017-12-25 09:29:27",
                    "end_time": "2017-12-28 17:44:21",
                    "id": 66054,
                    // If the value is 1, the bot is a virtual platform bot
                    "is_sandbox": 1,                                      
                    "name": "C++ test strategy",
                    "node_guid": "705d9aaaaaaaa93b49baaaaa787581cb087",
                    "profit": 0,
                    "public": 0,
                    "refresh": 151345645647000,
                    "start_time": "2017-12-28 17:44:15",
                    "status": 3,
                    "strategy_id": 65365,
                    "strategy_isowner": true,
                    "strategy_name": "C++  Version  Docker  API  Test Strategy(cryptocurrency futures and spot markets)",
                    "wd": 0
                }, ...
                ]
            },
            "error": null
        }
    }
    

CommandRobot (((...)

CommandRobot(RobotId, Cmd)интерфейс отправляет интерактивную команду соответствующему роботу (роботID: RobotId) отAPI KEYв запросе на счет FMZ Quant (интерактивная команда записываетсяGetCommand()API вызывает стратегию и возвращает).

  • ПараметрRobotIdимеет тип целого числа, а именно botID; Cmdимеет тип строки, которая отправляет интерактивные команды ботам.

    • RobotId, ботID, могут быть полученыGetRobotList(...) interface.
    • Cmdявляется интерактивной командой, отправленной боту; команда будет захвачена функциейGetCommand(), который запускает интерактивную логику в стратегии (для реализации интерактивной логики в стратегии обратитесь кGetCommand()функция в файле).
  • Возвратная стоимость

    {
        // The API request was successfully executed
        "code": 0,                 
        "data": {
            // However, sending a command to a bot that is not running returns failure
            "result": false,       
            "error": null
        }
    }
    

СтопРобот ((RobotId)

StopRobot(RobotId)прекращает запуск бота с указанным идентификатором (робот)ID: RobotId), что соответствуетAPI KEYв запросе счета FMZ Quant.

  • ПараметрRobotIdимеет тип целого числа, а именно botID, который может быть полученGetRobotList(...)интерфейс;StopRobot(RobotId)интерфейс возвращает код состояния остановившегося робота.

  • Возвратная стоимость

    {
        "code": 0,
        "data": {
            // 2 means stopping
            "result": 2,           
            "error": null
        }
    }
    

ПерезагрузитьRobot(...)

RestartRobot(RobotId, Settings)перезапускает робота с указанным идентификатором (роботID: RobotId), что соответствуетAPI KEYв запросе счета FMZ Quant.

Если робот создан расширенным API, расширенный APIRestartRobot (RobotId, Settings)должен быть использован для перезагрузки, иSettingsПараметр должен быть передан. Робот, созданный на странице платформы, может быть перезапущен через расширенный API или нажатием кнопки на странице.SettingsПараметр, или просто передатьRobotIdПараметр. Если вы только пройтиRobotIdПараметр, запустить бота согласно текущим настройкам бота.

  • Параметр

    • Без настройки бота, параметр стратегииSettings: RobotIdимеет тип целого числа; роботIDможет быть полученаGetRobotList(...).

    • При настройке бота, параметр стратегииSettings: RobotIdимеет тип целого числа; botIDможет быть полученаGetRobotList(...). SettingsявляетсяJSONтип объекта.

      SettingsФормат параметра следующий:

      Settings = {
          "name": "hedge test",
          // Strategy parameter
          "args": [["Interval", 500]],            
          // Strategy ID, which can be obtained with "GetStrategyList" method
          "strategy": 25189,                      
          // K-line period parameter "60" means 60 seconds
          "period": 60,                           
          // Specify on which docker to run; if the attribute is not written, it will be automatically assigned to run
          "node" : 51924,                         
          // Custom field
          "appid": "member2",                     
          "exchanges": [
              // ZB; "pid" can be obtained by "GetPlatformList" method
              {"pid": 15445, "pair": "ETH_BTC"},     
              // OKEX; 2 exchange objects are configured
              {"pid": 13802, "pair": "BCH_BTC"},     
              
              // In addition to the platforms ("pid" identification) configured by the FMZ dashboard, you can also set exchange configuration information that has not been configured to operate the bot
              {"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}},
              {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}}
          ]
      }
      

      Примечание: Когда вы используете конфиденциальную информацию, такую как платформаAPI KEY, в том числе"meta":{"AccessKey":"xxx","SecretKey":"yyy"}в конфигурацииeid, вы должны знать, что FMZ не хранит данные. Данные будут отправлены непосредственно в программу докера, поэтому эта информация должна быть настроена каждый раз, когда бот создается или перезапускается.

      Чтобы перезапустить бота, который использует плагин для поддержки обмена, при настройкеSettingsпараметр, вы должны сделать следующие настройки дляexchangesатрибут:

      {"eid": "Exchange", "label" : "testXXX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "1234", "Front" : "http://127.0.0.1:6666/XXX"}}
      

      labelатрибут - это установить этикетку для обмена объекта, доступ к которому имеет текущийОбщий протокол, которые могут быть полученыexchange.GetLabel()в стратегию.

  • Возвратная стоимость

    {
        "code": 0,
        "data": {
            // 1 means running
            "result": 1,          
            "error": null
        }
    }
    

ПолучитьRobotDetail ((RobotId))

GetRobotDetail(RobotId)получает подробную информацию о роботе с указанным идентификатором (роботID: RobotId), что соответствуетAPI KEYв запросе счета платформы торговли FMZ Quant.

  • ПараметрRobotIdимеет тип целого числа; роботIDможет быть полученаGetRobotList(...).

  • Возвратная стоимость

    {
        "code": 0,
        "data": {
            "result": {
                "robot": {
                    // Next payment time, namely the effective cut-off time after the current payment
                    "charge_time": 1561992608,                                                  
                    // Elapsed Time
                    "charged": 3600,                                                            
                    // Amount consumed (0.125 CNY = 12500000 / 1e8)
                    "consumed": 12500000,                                                       
                    "date": "2019-07-01 21:50:08",
                    "debug": "{\"Nano\":1561989722431145193,\"Stderr\":\"\",\"Stdout\":\"\"}",  
                    // Stop time
                    "end_time": "2019-07-01 22:02:02",                                          
                    // The docker ID assigned when the robot is running; if it is automatic, the value is -1
                    "fixed_id": 85960,                                                          
                    "id": 150288,
                    "is_deleted": 0,
                    // Whether it has the permission to manage the bot
                    "is_manager": true,                                                         
                    // Whether it is virtual exchange 
                    "is_sandbox": 0,                                                            
                    // Robot name
                    "name": "Spread monitoring2",                                                         
                    // Docker ID
                    "node_id": 85960,                                                           
                    // The exchange objects configured by the robot
                    "pexchanges": {                                                             
                        // 14703 is eid, and "GateIO" is exchange name
                        "14703": "GateIO",                                                      
                        "15445": "ZB",
                        "42960": "OKEX",
                        "44314": "Huobi"
                    },
                    // label information of the exchange object configured by the robot
                    "plabels": {                                                                
                        "14703": "Gate.IO (old name: BTER)",
                        "15445": "ZB",
                        "42960": "OKEX spot V3 test",
                        "44314": "Huobi - newest test"
                    },
                    "profit": 0,
                    // Whether to show public
                    "public": 0,                                                                
                    // Recent active time
                    "refresh": 1561989724000,                                                   
                    "robot_args": "[[\"TickInterval\",500],[\"StrOnePair\",\"spot:Huobi:spot;spot:OKEX:spot;false;60;5;0;0\"],[\"StrTwoPair\",\"spot:ZB:spot;spot:GateIO:spot;false;60;5;0;0\"],[\"StrThreePair\",\"null\"],[\"StrFourPair\",\"null\"],[\"StrSixPair\",\"null\"],[\"StrFivePair\",\"null\"],[\"ResetChart\",false]]",
                    "start_time": "2019-07-01 22:00:54",
                    // Robot status
                    "status": 4,                                                                
                    "strategy_args": "[[\"TickInterval\",\"Detection frequency (ms)\",\"This is millisecond. Don't set it too small.\",500],[\"StrOnePair\",\"Combination1\",\"Spread Combination\",\"spot:Huobi:spot;spot:OKCoin:spot;false;60;5;0;0\"],[\"StrTwoPair\",\"Combination2\",\"Spread Combination\",\"future:Futures_OKCoin:this_week;spot:OKCoin:spot;false;60;5;0;0\"],[\"StrThreePair\",\"Combination3\",\"Spread Combination\",\"future:Futures_OKCoin:this_week;future:Futures_OKCoin:quarter;true;60;5;0;0\"],[\"StrFourPair\",\"Combination4\",\"Spread Combination\",\"null\"],[\"StrSixPair\",\"Combination6\",\"Combination\",\"null\"],[\"StrFivePair\",\"Combination5\",\"Combination\",\"null\"],[\"ResetChart\",\"whether to clear the previous chart\",\"clear the previous chart\",false]]",
                    // Configured exchange objects, set trading pair information
                    "strategy_exchange_pairs": "[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]",
                    // Strategy ID
                    "strategy_id": 21337,                                                       
                    // Strategy's last modification time
                    "strategy_last_modified": "2018-11-29 12:07:58",                            
                    // Strategy name
                    "strategy_name": "Digital currency spread monitoring and analysis",                                       
                    "summary": "Polling time consuming: 500ms\n`[{\"type\":\"table\",\"title\":\"pair basic data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"UpdCycle\",\"isUSD\",\"Collect\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",60,false,\"612ms\"],[\"1 \",\"ZB/GateIO\",\"spot/spot\",60,false,\"501ms\"]]},{\"type\":\"table\",\"title\":\"pair market data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"A_Bids1\",\"B_Asks1\",\"Plus\",\"A_Asks1\",\"B_Bids1\",\"Minus\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",10518.02,10525.1,-7.08,10520,10523,-3],[\"1 \",\"ZB/GateIO\",\"spot/spot\",285.68,286,-0.32,285.8,285.85,-0.05]]},{\"type\":\"table\",\"title\":\"pair statistical data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"Maximum spread\",\"Minimum spread\",\"Mean positive premium\",\"Mean negative premium\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",0,-3,0,-1.47],[\"1 \",\"ZB/GateIO\",\"spot/spot\",0.03,-0.05,0.03,-0.05]]}]`\n",
                    // Whether to enable offline alert
                    "wd": 0                                                                      
                }
            },
            "error": null
        }
    }
    

    Вsummaryатрибут в возвращенных данных (информация на строке состояния бота; кэшированная в течение 10 секунд; не последние данные) в настоящее время имеет ограничение объема данных (кэшированные данные); ограничение объема данных составляет 200KB, и избыточные данные будут обрезаны. Если вам нужно больше данных информации строки состояния, вы можете использоватьGetRobotLogsинтерфейс для получения (когдаGetRobotLogsполучает информацию из строки состояния, поляsummaryявляется последними данными).

    Описание атрибутаstrategy_exchange_pairsВ качестве примера можно привести следующие данные:

    [60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]
    

    Первые данные60представляет собой период K-линии по умолчанию, установленный ботом - 1 минута, а именно 60 секунд.

    [44314,42960,15445,14703]является объектом обменаeidконфигурированы для бота (согласно порядку добавления).[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]является торговой парой, установленной для обменного объекта, сконфигурированного ботом (в порядке сложения и в одно-к-одному соответствии сeid).

Получить аккаунт ((()

GetAccount()возвращает информацию о счете, соответствующуюAPI KEYв запросе счета платформы торговли FMZ Quant.

  • Параметр Никаких.

  • Возвратная стоимость

    {
        "code": 0, 
        "data": {
            "result": {
                "username": "littlelittledream",
                "level": 0,
                "consumed": 3235500000,
                "invitation_code": "1545967",
                "points": 25,
                // The value here, due to precision control, is expressed in integer. To convert it to actual value, you need to divide it by 1e8 (i.e. 10 to the 8th power), and the actual result here is: 65.421
                "balance": 6542100000               
            },
            "error": None
        }
    }
    

Получайте


Больше