// 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 ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDL3BLACKCROWS | 검은 까마귀 세 마리 |
CDL3BLACKCROWS ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDL3INSIDE | 3 내부 위/아래 |
CDL3INSIDE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDL3LINESTRIKE | 3선 공격 |
CDL3LINESTRIKE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDL3외면 | 3 위/아래 |
CDL3OUTSIDE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDL3STARSINSOUTH | 남쪽 에서 3 개의 별 |
CDL3STARSINSOUTH ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDL3 백병자 | 3 명 의 백인 군인 들 이 진격 |
CDL3WHITESOLDIERS ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLABANDONEDBABY | 버려진 아기 |
CDLABANDONEDBABY ((기록[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger) ] | |
CDLADVANCEBLOCK | 사전 차단 |
CDLADVANCEBLOCK ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLBELTHOLD | 벨트 잡기 |
CDLBELTHOLD ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLB레이크아웨이 | 탈퇴 |
CDLBREAKAWAY ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLCLOSING 마루보즈 | 마루보즈 |
CDLCLOSINGMARUBOZU ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLCONCEALBABYSWALL | 아기 나비 를 숨기는 것 |
CDLCONCEALBABYSWALL ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDL반격 | 반격 |
CDLCOUNTERATTACK ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDDARKCLOUDCOVER | 어두운 구름 덮개 |
CDLDARKCLOUDCOVER ((기록[Open,High,Low,Close],Penetration = 0.5) = Array ((outInteger) ] | |
CDLDOJI | 도지 |
CDLDOJI ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLDOJISTAR | 도지 스타 |
CDLDOJISTAR ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
드래곤 플라이도지 | 드래곤플라이 도지 |
CDLDRAGONFLYDOJI ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLENGULFING | 삼키는 패턴 |
CDLENGULFING ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLEVENINGDOJISTAR | 저녁 도지 별 |
CDLEVENINGDOJISTAR ((기록[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger) ] | |
CDLEVENINGSTAR | 저녁 별 |
CDLEVENINGSTAR ((기록[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger) ] | |
CDLGAPSIDESIDEWHITE 이 있습니다. | 위/아래 간격 옆 하얀 선 |
CDLGAPSIDESIDESWHITE ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLGRAVESTONEDOJI | 무덤 도지 |
CDLGRAVESTONEDOJI ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLHAMMER | 망치 |
CDLHAMMER ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLHANGINGMAN | 교수형 |
CDLHANGINGMAN ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLHARAMI | 하라미 패턴 |
CDLHARAMI ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLHARAMICROSS | 하라미 십자 패턴 |
CDLHARAMICROSS ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDHIGHWAVE | 높은 파동 촛불 |
CDLHIGHWAVE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLHIKKAKE | 히카케 패턴 |
CDLHIKKAKE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLHIKKAKEMOD | 수정 된 히카케 패턴 |
CDLHIKKAKEMOD ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLHOMINGPIGEON | 호밍 비둘기 |
CDLHOMINGPIGEON ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLIDENTICAL3CROWS | 동일 한 세 마리의 까마귀 |
CDLIDENTICAL3CROWS ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLINNECK | 목 안의 패턴 |
CDLINNECK ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLINVERTEDHAMMER | 뒤집은 망치 |
CDLINVERTEDHAMMER ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLKICK | |
CDLKICKING ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLKICKINGBYLENGTH | |
CDLKICKINGBYLENGTH ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLLADDERBOTTOM | 사다리 바닥 |
CDLLADDERBOTTOM ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLLONGLEGGEDDOJI | 긴 다리 도즈 |
CDLLONGLEGGEDDOJI ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLLONGLINE | 장선 촛불 |
CDLLONGLINE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLMARUBOZU | 마루보즈 |
CDLMARUBOZU ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLMATCHINGLOW | 적당한 수준 |
CDLMMATCHINGLOW ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLMATHOLD | 매트 홀드 |
CDLMATHOLD ((기록[Open,High,Low,Close],Penetration = 0.5) = Array ((outInteger) ] | |
CDMORNINGDOJISTAR | 아침 도지 별 |
CDLMORNINGDOJISTAR ((기록[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger) ] | |
CDLMORNINGSTAR | 아침 별 |
CDLMORNINGSTAR ((기록[Open,High,Low,Close],Penetration = 0.3) = Array ((outInteger) ] | |
CDLONNECK | 목 모양 |
CDLONNECK ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLPIERCING | 뚫어지는 패턴 |
CDLPIERCING ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLRICKSHAWMAN | 릭샤맨 |
CDLRICKSHAWMAN ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLRISEFALL3 방법 | 상승/하락 세 가지 방법 |
CDLRISEFALL3METHODS ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLS분립선 | 분단선 |
CDLSEPARATINGLINES ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLSHOOTINGSTAR | 쏘닝 스타 |
CDLSHOOTINGSTAR ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLS코르트라인 | 짧은 선 촛불 |
CDLSSORTLINE ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLSPINNINGTOP | 스핀 톱 |
CDLSPINNINGTOP ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLSTALLEDPATTERN | 정지된 패턴 |
CDLSTALLEDPATTERN ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLSTICKSANDWICH | 스틱 샌드위치 |
CDLSTICKSANDWICH ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLTAKURI | 타쿠리 (드래곤플라이 도지) |
CDLTAKURI ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLTASUKIGAP | 타스키 간격 |
CDLTASUKIGAP ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLTHRUSTING | 밀어주는 패턴 |
CDLTHRUSTING ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLTRISTAR | 트리스타 패턴 |
CDLTRISTAR ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLUNIQUE3RIVER | 유니크 3 강 |
CDLUNIQUE3RIVER ((기록[Open,High,Low,Close]) = 배열 (outInteger) | |
CDLUPSIDEGAP2CROWS | 상향 격차 두 까마귀 |
CDLUPSIDEGAP2CROWS ((기록[Open,High,Low,Close]) = Array ((outInteger) | |
CDLXSIDEGAP3방법 | 상향/하향 격차 세 가지 방법 |
CDLXSIDEGAP3METHODS ((기록[Open,High,Low,Close]) = Array ((outInteger) |
Volume Indicators
:
지표 | 설명 |
---|---|
AD | Chaikin A/D 라인 |
AD ((기록[높은, 낮은, 가까운, 볼륨]) = 배열 (outReal) | |
ADOSC | Chaikin A/D 오시레이터 |
ADOSC ((기록[최고,최하,최근,용량],빠른 기간 = 3, 느린 기간 = 10) = 배열 ((outReal) | |
OBV | 부산량에 대해 |
OBV ((기록[Close],기록[Volume]) = 배열 (outReal) |
Math Transform
:
지표 | 설명 |
---|---|
ACOS | 벡터 삼각형 ACos |
ACOS ((기록[Close]) = 배열 (outReal) | |
ASIN | 벡터 삼각형 ASin |
ASIN ((Records[Close]) = 배열 (outReal) | |
ATAN | 벡터 삼각형 ATan |
ATAN ((기록[Close]) = 배열 (outReal) | |
CEIL | 벡터 천장 |
CEIL ((기록[Close]) = 배열 ((outReal) | |
COS | 벡터 삼각형 Cos |
COS ((Records[Close]) = 배열 (outReal) | |
COSH | 벡터 삼각법 코쉬 |
COSH ((Records[Close]) = 배열 (outReal) | |
EXP | 벡터 수학적 Exp |
EXP ((Records[Close]) = 배열 (outReal) | |
바닥 | 벡터 바닥 |
FLOOR ((기록[Close]) = 배열 (outReal) | |
LN | 벡터 로그 자연 |
LN ((Records[Close]) = 배열 ((outReal) | |
LOG10 | 벡터 로그10 |
LOG10 ((기록[Close]) = 배열 (outReal) | |
SIN | 벡터 삼각법적 음수 |
SIN ((Records[Close]) = 배열 ((outReal) | |
SINH | 벡터 삼각법성 |
SINH ((Records[Close]) = 배열 (outReal) | |
SQRT | 벡터 제곱근 |
SQRT ((Records[Close]) = 배열 (outReal) | |
TAN | 벡터 삼각형 |
TAN ((기록[Close]) = 배열 (outReal) | |
TANH | 벡터 삼각법 Tanh |
TANH ((Records[Close]) = 배열 (outReal) |
Math Operators
:
지표 | 설명 |
---|---|
최대 | 특정 기간 동안 가장 높은 값 |
MAX ((Records[Close],Time Period = 30) = 배열 (outReal) | |
MAXINDEX | 특정 기간 동안 가장 높은 값의 지수 |
MAXINDEX ((Records[Close],Time Period = 30) = 배열 (outInteger) | |
미니 | 특정 기간 중 가장 낮은 값 |
MIN ((Records[Close],Time Period = 30) = 배열 (outReal) | |
MININDEX | 특정 기간 동안 가장 낮은 값의 지수 |
MININDEX ((Records[Close],Time Period = 30) = 배열 (outInteger) | |
MINMAX | 정해진 기간 동안 가장 낮은 값과 가장 높은 값 |
MINMAX ((Records[Close],Time Period = 30) = [Array ((outMin),Array ((outMax) ] | |
MINMAXINDEX | 특정 기간 동안 가장 낮은 값과 가장 높은 값의 지수 |
MINMAXINDEX ((Records[Close],Time Period = 30) = [Array ((outMinIdx),Array ((outMaxIdx) ] | |
합계 | 요약 |
SUM ((Records[Close],Time Period = 30) = 배열 (outReal) |
Cycle Indicators
:
지표 | 설명 |
---|---|
HT_DCPERIOD | 힐베르트 변환 - 지배적 순환 기간 |
HT_DCPERIOD ((기록[Close]) = 배열 (outReal) | |
HT_DCPHASE | 힐베르트 변환 - 주류주기 단계 |
HT_DCPHASE ((기록[Close]) = 배열 (outReal) | |
HT_PHASOR | 힐베르트 변환 - 파소어 구성요소 |
HT_PHASOR ((기록[Close]) = [Array ((outInPhase),Array ((outQuadrature) ] | |
HT_SINE | 힐베르트 변환 - 시네오 웨브 |
HT_SINE ((Records[Close]) = [Array ((outSine),Array ((outLeadSine) ] | |
HT_TRENDMODE | 힐베르트 변환 - 트렌드 대 사이클 모드 |
HT_TRENDMODE ((기록들[Close]) = 배열 (outInteger) |
Volatility Indicators
:
지표 | 설명 |
---|---|
ATR | 평균 실제 범위 |
ATR ((기록[High,Low,Close],Time Period = 14) = Array ((outReal) | |
NATR | 정규화 된 평균 실제 범위 |
NATR (NATR) 레코드 (High,Low,Close), 시간 기간 = 14) = 배열 (Array) | |
TRANGE | 실제 범위 |
TRANGE ((Records[High,Low,Close]) = 배열 (outReal) |
Overlap Studies
:
지표 | 설명 |
---|---|
BBBAND | 볼링거 밴드 |
BBANDS ((기록[ 닫기],시간 기간 = 5,상향 오차 = 2,하향 오차 = 2,MA 타입 = 0) = [어레이 (아웃리얼UpperBand),어레이 (아웃리얼MiddleBand),어레이 (아웃리얼LowerBand) ] | |
DEMA | 이중 기하급수적 이동 평균 |
DEMA ((기록[ 닫기],시간 기간 = 30) = 배열 ((outReal) | |
EMA | 기하급수적인 이동 평균 |
EMA (기록[ 닫기]), 시간 기간 = 30) = 배열 (outReal) | |
HT_TRENDLINE | 힐베르트 변환 - 순간적인 경향선 |
HT_TRENDLINE ((기록[Close]) = 배열 (outReal) | |
카마 | 카우프만 적응 이동 평균 |
KAMA ((기록[Close],Time Period = 30) = 배열 (outReal) | |
MA | 이동 평균 |
MA ((기록[ 닫기],시간 기간 = 30, MA 타입 = 0) = 배열 ((outReal) | |
엄마 | MESA 적응 이동 평균 |
MAMA ((기록[Close],Fast Limit = 0.5,Slow Limit = 0.05) = [Array ((outMAMA),Array ((outFAMA) ] | |
중간점 | 기간 중점 |
MIDPOINT ((기록[Close],Time Period = 14) = Array ((outReal) | |
중간 가격 | 중점 가격 기간 |
MIDPRICE ((기록[최고, 최하위],시간 기간 = 14) = 배열 (outReal) | |
SAR | 파라볼 SAR |
SAR ((기록[고, 낮은],가속 요인 = 0.02,AF 최대 = 0.2) = 배열 (outReal) | |
SAREXT | 파라볼리 SAR - 확장 |
SAREXT ((기록[High,Low],start Value = 0,Offset on Reverse = 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) = Array ((outReal) | |
SMA | 단순 이동 평균 |
SMA ((기록[ 닫기],시간 기간 = 30) = 배열 ((outReal) | |
T3 | 삼배 지수적 이동 평균 (T3) |
T3 ((Records[Close],Time Period = 5,Volume Factor = 0.7) = Array ((outReal) | |
테마 | 삼배 지수적 이동 평균 |
TEMA ((Records[Close],Time Period = 30) = 배열 (outReal) | |
TRIMA | 삼각형 이동 평균 |
TRIMA ((기록들[Close],시간 기간 = 30) = 배열 (outReal) | |
WMA | 가중화 이동 평균 |
WMA ((기록[Close],시간 기간 = 30) = 배열 (outReal) |
Statistic Functions
:
지표 | 설명 |
---|---|
LINEARREG | 선형 회귀 |
LINEARREG ((Records[Close],Time Period = 14) = 배열 (outReal) | |
LINEARREG_ANGLE | 선형 회귀 각 |
LINEARREG_ANGLE ((Records[Close],Time Period = 14) = 배열 (outReal) | |
LINEARREG_INTERCEPT | 선형 회귀 차단 |
LINEARREG_INTERCEPT ((Records[Close],Time Period = 14) = 배열 (outReal) | |
LINEARREG_SLOPE | 선형 회귀 기울기 |
LINEARREG_SLOPE ((기록[Close],Time Period = 14) = Array ((outReal) | |
STDDEV | 표준편차 |
STDDEV ((Records[Close],Time Period = 5,Deviations = 1) = Array ((outReal) ] | |
TSF | 시간 시리즈 예측 |
TSF ((Records[Close],Time Period = 14) = 배열 (outReal) | |
VAR | 변동성 |
VAR ((Records[Close],Time Period = 5,Deviations = 1) = Array ((outReal) |
Momentum Indicators
:
지표 | 설명 |
---|---|
ADX | 평균 방향 운동 지수 |
ADX ((기록[High,Low,Close],Time Period = 14) = Array ((outReal) ] | |
ADXR | 평균 방향 움직임 지수 등급 |
ADXR ((기록[최고,하위,접근],시간 기간 = 14) = 배열 (outReal) | |
APO | 절대 가격 오시레이터 |
APO ((기록[ 닫기]],빠른 기간 = 12, 느린 기간 = 26, MA 타입 = 0) = 배열 ((outReal) | |
아론 | 아론 |
AROON ((기록[High,Low],Time Period = 14) = [Array ((outAroonDown),Array ((outAroonUp) ] | |
AROONOSC | 아론 오시레이터 |
AROONOSC ((기록[고등,하위],시간 기간 = 14) = 배열 (outReal) | |
BOP | 힘 의 균형 |
BOP ((기록[Open,High,Low,Close]) = 배열 (outReal) | |
CCI | 상품 채널 지수 |
CCI ((기록[최고,최하,최근],시간 기간 = 14) = 배열 (outReal) | |
CMO | |
CMO ((기록[ 닫기],시간 기간 = 14) = 배열 ((outReal) | |
DX | 방향 운동 지수 |
DX ((기록[높음, 낮음, 근],시간 기간 = 14) = Array ((outReal) | |
MACD | 이동 평균 컨버전스/디버전스 |
MACD ((기록[ 닫기],빠른 기간 = 12, 느린 기간 = 26, 신호 기간 = 9) = [열 (outMACD),열 (outMACDSignal),열 (outMACDHist) ] | |
MACDEXT | 제어 가능한 MA 타입의 MACD |
MACDEXT ((기록[ 닫기],빠른 기간 = 12,빠른 MA = 0, 느린 기간 = 26, 느린 MA = 0, 신호 기간 = 9, 신호 MA = 0) = [열 (outMACD),열 (outMACDSignal),열 (outMACDHist) ] | |
MACDFIX | 이동평균 컨버전스/디버전스 수정 12/26 |
MACDFIX ((기록[닫기],신호 기간 = 9) = [열 (outMACD),열 (outMACDSignal),열 (outMACDHist) ] | |
MFI | 현금 흐름 지수 |
MFI ((기록[최고,최하,최근,용량],시간 기간 = 14) = Array ((outReal) | |
MINUS_DI | 마이너스 방향 지표 |
MINUS_DI ((기록[최고,최하,최근],시간 기간 = 14) = Array ((outReal) | |
MINUS_DM | - 방향 이동 |
MINUS_DM ((Records[High,Low],Time Period = 14) = 배열 (outReal) | |
엄마 | 추진력 |
MOM ((기록[Close],Time Period = 10) = Array ((outReal) | |
PLUS_DI | + 방향 지표 |
PLUS_DI ((기록[최고,최하,최근],시간 기간 = 14) = 배열 (outReal) | |
PLUS_DM | + 방향 이동 |
PLUS_DM ((Records[High,Low],Time Period = 14) = 배열 (outReal) | |
PPO | % 가격 오시레이터 |
PPO ((기록[ 닫기]],빠른 기간 = 12, 느린 기간 = 26, MA 타입 = 0) = 배열 ((outReal) | |
ROC | 변화율: ((가격/전시 가격) -1) * 100 |
ROC ((Records[Close],Time Period = 10) = 배열 (outReal) | |
ROCP | 변화율 %: (가격-prevPrice) /prevPrice |
ROCP ((Records[Close],Time Period = 10) = 배열 (outReal) | |
ROCR | 변화율 비율: (가격/예전 가격) |
ROCR ((기록[ 닫기],시간 기간 = 10) = 배열 ((outReal) | |
ROCR100 | 변화율 비율 100 스칼라: (가격/예전 가격) *100 |
ROCR100 ((Records[Close],Time Period = 10) = 배열 (outReal) | |
RSI | 상대적 강도 지수 |
RSI ((기록[닫기],시간 기간 = 14) = 배열 (outReal) | |
스톡 | 스토카스틱 |
STOCH ((기록[High,Low,Close],Fast-K Period = 5,Slow-K Period = 3,Slow-K MA = 0,Slow-D Period = 3,Slow-D MA = 0) = [Array(outSlowK),Array(outSlowD] | |
스톡 | 스토카스틱 패스트 |
STOCHF ((기록[고등, 낮은, 가까운],Fast-K 기간 = 5,Fast-D 기간 = 3,Fast-D MA = 0) = [수열 (outFastK),Array ((outFastD) ] | |
STOCHRSI | 스토카스틱 상대적 강도 지수 |
STOCHRSI ((기록들[Close],Time Period = 14,Fast-K Period = 5,Fast-D Period = 3,Fast-D MA = 0) = [Array(outFastK),Array(outFastD] | |
TRIX | 트리플 슬림 EMA의 1일 변화율 (ROC) |
TRIX ((기록들[Close],시간 기간 = 30) = 배열 (outReal) | |
ULTOSC | 최후 오시레이터 |
ULTOSC (기록) [최고, 최하위, 최후] 첫 번째 기간 = 7, 두 번째 기간 = 14, 세 번째 기간 = 28) = 배열 (outReal) | |
WILLR | 윌리엄스 %R |
WILLR ((Records[High,Low,Close],Time Period = 14) = Array ((outReal) ] |
Price Transform
:
지표 | 설명 |
---|---|
AVGPRICE | 평균 가격 |
AVGPRICE ((Records[Open,High,Low,Close]) = Array ((outReal) | |
MEDPRICE | 중간 가격 |
MEDPRICE ((기록[최고,최하]) = 배열 (outReal) | |
종류 가격 | 전형적 가격 |
TYPPRICE ((기록[높은, 낮은, 가까운]) = Array ((outReal) | |
WCLPRICE | 가중화 된 폐쇄 가격 |
WCLPRICE ((기록[최고,최하,최근]) = 배열 (outReal) |
FMZ 퀀트 트레이딩 플랫폼은 봇에서 다양한 기본 데이터를 백테스팅하고 검색하는 것을 지원합니다. FMZ 퀀트 트레이딩 플랫폼 데이터 센터에 의해 기본 데이터가 실시간으로 제공되며 데이터 센터는 다양한 기본 데이터를 수집하고 요약 할 것입니다.
사용exchange.GetData(Source)
기본 데이터를 얻기 위한 기능입니다.
암호화폐의 기본 데이터는 일시적으로 수집되지 않았습니다.
암호화폐의 기본 데이터는 일시적으로 수집되지 않았습니다.
FMZ 퀀트 트레이딩 플랫폼은 플랫폼의 다양한 기능의 프로그래밍 호출을 지원하며 확장 된 API를 개방했습니다.
그것은 그림에서 보여지는 API 권한 관리 확장 프로그램을 지원합니다:
새로 추가된API KEY
모든 권한이 있어야 합니다.*
API 권한 입력 상자에 모든 인터페이스 권한을 열기 위해 특정 인터페이스 권한을 지정하고 해당 확장된 API 함수 이름을 입력합니다.GetRobotDetail, DeleteRobot
, 즉, 이것을 줘API KEY
허가보트 인터페이스의 자세한 정보를 얻으십시오그리고봇 인터페이스를 삭제.
설명 | 코드 |
---|---|
성공적 실행 | 0 |
잘못된 API 키 | 1 |
잘못된 서명 | 2 |
논스 오류 | 3 |
잘못된 방법 | 4 |
잘못된 매개 변수 | 5 |
내부 알 수 없는 오류 | 6 |
(정상적인 시작)
상태 | 코드 |
---|---|
비활성 | 0 |
운용 중 | 1 |
정지 | 2 |
출력 | 3 |
멈췄다 | 4 |
전략에는 오류가 있습니다. | 5 |
(비정상)
상태 | 코드 |
---|---|
전략은 만료되었습니다, 그리고 다시 구입하기 위해 작가에 연락하십시오 | -1 |
도커가 발견되지 않았습니다. | -2 |
전략 컴파일 오류 | -3 |
로봇이 이미 실행중입니다. | -4 |
불충분한 잔액 | -5 |
동시 전략의 수는 한계를 초과합니다. | -6 |
사용md5
검증하기 위한 암호화 방법.
파이썬, 골랑어 호출 예제:
#!/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 퀀트 트레이딩 플랫폼의
메시지 상자에서 설정 (보청된
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)
}
FMZ Quant의 확장 API를 사용하여
FMZ 퀀트 트레이딩 플랫폼의 확장 API
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()
FMZ 양 거래 플랫폼 계정의 도커 목록을 반환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()
FMZ 양자 거래 플랫폼 계정의 bot 그룹 목록을 반환API KEY
신청서에서
매개 변수 아무 것도 없습니다
반환 값
{
"code":0,
"data":{
"result":{
// All bot grouping information: group ID, group name
"items":[{"id":1122,"name":"test"}]
},
"error":null
}
}
GetPlatformList()
FMZ 양 거래 플랫폼 계정에 의해 추가 된 거래소의 목록을 반환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(offset, length, robotStatus, label)
FMZ 양 거래 플랫폼 계정의 로봇 목록을 반환API KEY
신청서에서
매개 변수offset
, length
그리고robotStatus
정수 타입이며,label
문자열 타입입니다.
offset
length
robotStatus
(label
(개인용 라벨; 라벨을 가진 모든 봇은 플리트 할 수 있습니다)에 대해Python
코드 예제, 위의 참조확인 방법 - 토큰 확인그리고 다음은Python
호출 예제:print api('GetRobotList', 'member2')
사용자 지정 레이블로 모든 로봇의 정보를 인쇄member2
.
print api('GetRobotList', 0, 5, -1, 'member2')
0에서 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(RobotId, Cmd)
인터페이스는 상호 작용 명령어를 해당 로봇 (로봇) 에 전송합니다.ID
: RobotId
) 의API KEY
FMZ Quant 계정 요청 (인터랙티브 명령은GetCommand()
API는 전략을 호출하고 반환합니다.)
매개 변수RobotId
정수 타입입니다. bot 입니다.ID
; Cmd
문자열 형식으로 되어 있습니다. 이 문자열은 로봇에게 상호작용 명령을 보내죠.
RobotId
보트ID
, 수요자를 통해GetRobotList(...)
interface.Cmd
bot에 전송되는 인터랙티브 명령어입니다. 명령어는 함수에 의해 캡처됩니다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
}
}
StopRobot(RobotId)
지정된 ID (로봇) 로봇을 실행하지 않습니다ID
: RobotId
),API KEY
FMZ Quant 계정의 요청에
매개 변수RobotId
정수 타입입니다. bot 입니다.ID
,GetRobotList(...)
인터페이스StopRobot(RobotId)
인터페이스는 정지된 로봇의 상태 코드를 반환합니다.
반환 값
{
"code": 0,
"data": {
// 2 means stopping
"result": 2,
"error": null
}
}
RestartRobot(RobotId, Settings)
지정된 ID (로봇) 로 로봇을 다시 시작합니다.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가 데이터를 저장하지 않는다는 것을 알아야 합니다. 데이터는 직접 도커 프로그램에 전송됩니다. 그래서 이 정보는 bot이 생성되거나 다시 시작될 때마다 구성되어야 합니다.
플러그인을 사용하여 교환을 지원하는 봇을 다시 시작하려면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
}
}
GetRobotDetail(RobotId)
지정된 ID (로봇) 를 가진 로봇에 대한 자세한 정보를 얻습니다.ID
: RobotId
),API KEY
FMZ 퀀트 거래 플랫폼 계정의 요청에
매개 변수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
bot에 의해 설정된 기본 K-라인 기간은 1분, 즉 60초입니다.
[44314,42960,15445,14703]
교환 대상이 됩니다.eid
봇을 위해 구성된 것 (첨가 순서대로)[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]
bot에 의해 구성된 교환 객체에 대한 거래 쌍 세트입니다.eid
).
GetAccount()
회계 정보를 반환API KEY
FMZ 퀀트 거래 플랫폼 계정의 요청에
매개 변수 아무 것도 없습니다
반환 값
{
"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
}
}