[TOC]
쉽게 볼 수 있도록 FAQ를 검색하세요. 게시물에 키워드를 검색하는 방법?
사용Ctrl + f
페이지를 열고 검색하려면 키워드를 입력합니다. 예를 들어:
현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
웨이
왜?한 가격에 사그리고한 대가로 팔아이산화탄소GetTicker
그리고GetDepth
서로 다르나요?
데이터GetTicker
그리고GetDepth
동시에 얻을 수 없습니다. 세트레인 시간 지연이 있기 때문에 데이터가 변경됩니다.GetTicker
데이터의 수를 더 빨리 얻을 수 있습니다GetDepth
.
exchang.GetOrders
완료되지 않은 명령을 받습니다. 실행된 명령을 어디서 얻을 수 있을까요?
명령어들을 검색하는 다른 API가 있습니다.exchange.GetOrder
모든 종류의 주문을 검색합니다.ID
순서를 입력하세요ID
따라서, 실행 명령을 얻기 위해, 당신은 플랫폼이 이러한 종류의 인터페이스를 제공하는지 확인해야합니다; 각 플랫폼에서 제공되는 인터페이스는 상당히 다릅니다.
들어와JavaScript
전략, 시간 문자열의 결과 시간표로 변환하는 것은 잘못되었습니다.
시스템 시간 설정에서 시간대를 고려해야 합니다.
제가 인쇄한 오픈 가격과 클로즈 가격은 왜 같을까요?
1.당신이 인쇄했을 때 플랫폼에서 거래가 실제로 없었을 수도 있습니다. 그래서 BAR의 오픈, 클로즈, 최고 및 최저 가격은 항상 동일합니다. 2.당신이 관찰한 BAR가 마지막 BAR인지 확인해야 합니다. 마지막 BAR의 오픈, 클로즈, 최고 및 최저가격이 같기 때문입니다.
서버와 시간을 확인하는 오류,Signature not valid:Invalid submission time or incorrect time format
이 오류는 오래된 운영 체제의 문제입니다windows2000/2003/XP
, 다음을 참조하십시오:
우리는 당신이 사용하는 것을 제안Linux
서버, 또는 당신은이 시간 동기화 소프트웨어를 설치할 수 있습니다windows
오류가 발생하는 시스템에서 높은 주파수로 시간을 동기화하고 시간 확인 오류가 발생하지 않도록 합니다.
ATR
(TR
미랑게이지의 수와TA
/talib
도서관?그 이유는 Mylanguage 지표의 계산 방법이 기본 알고리즘과 일치하지 않기 때문입니다TA
/talib
둘 다 맞지만 알고리즘은 다릅니다.MACD
, 어떤 사람들은 하나를 사용합니다DIF-DEA
, 그리고 어떤 사람들은 두 번 사용DIF-DEA
, 둘 다 맞습니다.
만약 플랫폼 이름이Futures_Esunny
?
그것은 교환의 대상을 나타냅니다에스exchange.GetName()
- 그래요
현재 FMZ 국제 방송국은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 사업은 FMZ 국내 방송국에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
#EXPORTTEST...#END
여러 기간 코드 블록 참조에 변수를 선언합니다.REF
전략에서 참조할 때 사용되면, 데이터가 현재 기간에 따라 참조됩니다. 예상과는 다릅니다.당신이 필요로 하는 다중 기간 데이터는#EXPORTTEST...#END
, 그래서 당신은 직접 외부에서 사용할 수 있습니다.
FMZ API 문서를 찾을 수 없습니다.
페이지 주소를 직접 입력할 수 있습니다.https://www.fmz.com/api, 또는 아래 그림과 같은 링크를 클릭하세요:
왜?MACD
FMZ가 계산하는 것은 플랫폼이 계산하는 것과 다르나요?
비교할 때, K선 기간이 같는지,MACD
지표 매개 변수는 동일하고, 시간 기간은 동일하며, 기호도 동일합니다.MACD
어떤 것들은DIF-DEA
, 그리고 일부는2*(DIF-DEA)
; DIF
그리고DEA
일관성이 있어야 합니다.
역사 K-라인 데이터가 얻을 때 얻은 K-라인 번호에 연결되는 것은 무엇입니까?
접속할 때exchange.GetRecords
K-라인 데이터를 얻기 위해 K-라인 인터페이스를 사용하면 특정 인터페이스가 반환하는 K-라인의 수가 플랫폼에 의해 결정됩니다. 각 플랫폼이 반환하는 K-라인의 수가 불일치 할 수 있습니다. (어떤 플랫폼에서도 K-라인 인터페이스를 제공하지 않습니다. 이 경우 도커는 플랫폼 역사 거래 데이터를 얻기 위해 인터페이스를 호출 할 것입니다. 전략 호출 때exchange.GetRecords
데이터 인터페이스는 거래 역사에 따라 K 라인을 합성합니다.) 도커에 의해 수신되는 K 라인은 지속적으로 함께 축적되며,exchange.GetRecords
특정 주파수와 인터페이스, 그렇지 않으면 데이터의 연속성이 영향을받을 수 있습니다.
함수를 호출하는exchange.Buy
단지 반환ID
API 문헌에서, 하지만 왜 내가 작동 할 때 너무 많은 정보를 반환?
FMZ API 함수에서 로그 수출을 생성할 수 있는 함수, 예를 들어Log
, exchange.Buy
, exchange.CancelOrder
, 등, 모든 필요한 매개 변수 후에 몇 가지 추가 매개 변수와 함께 할 수 있습니다. 예를 들어:exchange.CancelOrder(orders[i].Id, orders[j])
추가로 취소 할 때 주문 정보를 수출orders[j]
.
봇에서 WeChat Push 메시지를 수행하는 방법?
WeChat 푸쉬는 봇에서만 유효합니다. 추가합니다.'@'
그 후Log
기능, 그리고 그 다음 인쇄 된 정보Log
눌러질 수 있습니다. 자세한 내용은 API 문서에서 찾을 수 있습니다.https://www.fmz.com/api#Log현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn- 그래요
웨이
재화 선물은 주요 연속 계약과 지수 계약을 사용할 수 있습니까?
주요 연속계약과 코스닥 선물의 지수계약을 지원합니다. 현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
var records = exchange.GetRecords(PERIOD_D1)
일일 K- 라인을 얻는 것입니다. 그래서 만약 제가 봇에서 미래에셋을 운영한다면, 얻을 수 있는 계약의 일일 K- 라인은 무엇입니까?
당신은 설정해야 합니다계약 코드TAQ를 얻기 전에 (프로그램 시작 이후 적어도 한 번 계약 코드를 설정).SetContractType("rb1805")
, 현재 운영 계약에 설정rb1805
TAQ를 얻는 API로 다시 전화하면 rb1805 계약의 TAQ 데이터를 얻을 수 있습니다.
현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
재화 선물 계약 코드를 어떻게 작성해야 할까요?
FMZ API 문서를 참조하세요. 현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
윌exchange.GetAccount
네트워크 및 기타 문제로 인해 정보를 얻을 수 없으며 FMZ 시스템의 하층이 이미 장애를 처리 했습니까? 또는 사용자가 요청의 실패를 스스로 처리해야합니까? FMZ 공무원이 왜 처리하지 않습니까? 사용자가 이렇게 사용하는 것이 더 편리하지 않습니까?
사용자가 오류 용인성을 수행해야하는 오류가 발생할 것입니다. FMZ의 하층은 데이터를 처리하지 않으며 사용자에게 반환되는 데이터는 처리되지 않은 데이터입니다. 특정 오류 용인 방법 또는 논리는 특정 전략에 의해 구성이됩니다. 처리되면 사용자 결정에 영향을 줄 수 있기 때문에 결정은 전략에 의해 처리 될 것입니다.필터링 오류 정보또는다시 시도그리고 다른 처리 방법.
OKEX 계약의 주문 부피의 단위는 무엇입니까? 동전 금액 또는 계약 금액입니까?
OKEX 계약의 주문 양은 계약 금액으로 계산됩니다. 예를 들어,exchange.Buy(1000,1)
계약 금액이 1인 1000의 가격에 주문을 하는 것을 의미합니다.
내가 전화할 때 제한 명령을 내리는 것을 의미합니까?exchange.Sell
그리고exchange.Buy
FMZ에서?
세부 사항에 대해, 당신은 첫 번째 매개 변수를 통과 (첫 번째 매개 변수 주문 가격입니다) 를 볼 필요가 있습니다. 일부 플랫폼은 시장 주문을 지원합니다.-1
시장 주문을 할 수 있습니다. 구매량과 판매량의 의미는 어떻게든 다릅니다 (제2 매개 변수)-1
대부분의 스팟 플랫폼 주문 인터페이스에서 시장 구매 주문의 주문 부피는자산 금액아니동전 금액암호화폐 선물 플랫폼의 주문 인터페이스에서 주문 양은 일반적으로 계약 금액의 정수입니다.
명령어 인터페이스를 확인하세요:https://www.fmz.com/api#exchange.buyprice-amount https://www.fmz.com/api#exchange.sellprice-amount
메일 기능
Mail("smtp.qq.com", "xxxx@qq.com", "xxx", "xxx@qq.com", "test title", "test body")
QQ
파인 언어, Mylanguage의 템플릿 매개 변수: 변수의 최대 기간 수가 지표 계산에 영향을 미칩니다.
기본적으로, 변수 최대 기간
전략 코드 편집 영역에서 오류 표시가 있는지 확인하십시오. 변수를 선언할 때 변수 이름이 없는지 확인합니다. 예를 들어 이름을
BITMEX
429 오류,{"error":{"message":"Rate limit exceeded retry in 1seconds……"}}
에러 429가 나타나면 플랫폼에 접속하는 빈도가 너무 높다는 뜻입니다.
Only support CTP
오류
그건 당신이상품 선물 CTP인터페이스 또는 라이브러리암호화폐 전략- 그래요 현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
Bittrex
보트 오류:{"success":false,"message":"NOT_ALLOWED","result":null}
그것은 플랫폼 권한 제한을 나타냅니다. 당신은 웹 사이트에 로그인 할 수 있습니다Bittrex
, 그리고 사용자 계약 같은 정보를 확인 할 필요가 있는지 확인하십시오.
봇 동작 오류:TypeError:value has no property at
백테스트와 봇에서 보고된 오류가 다르기 때문에, 이 오류는 백테스트 중에 감지될 수 없습니다.
unable to open database
오류
만약 시스템이Mac OS
시스템, 주의를 기울여 확인 여부를 확인 하는
또는, 장치의 하드 드라이브의 전체 공간으로 인한 오류가 로봇 데이터베이스 파일의 생성을 비활성화 할 수 있습니다.
오류:do not support the function
이것은 백테스트 중에 추가된 교환 객체가 암호화폐 스팟 플랫폼이지만 선물 API 함수가 코드에서 호출되는 상황을 의미합니다.
오류:in SetCurrency OSError: exception: access violation reading 0x000000FCF25F0000
암호화폐 선물Python
전략, 백테스트 시스템은 프라이빗 도커를 사용하고 거래 쌍은 코드에서 전환되어 오류가 보고됩니다.
이유는 백테스트 시스템이 거래 쌍을 전환하는 암호화폐 선물 백테스트를 지원하지 않기 때문입니다.
오류
Python
로컬 백테스트 엔진 보고서EOFerror
.
EOF
오류는 백테스트의 끝에서 오류입니다. 예외를 잡는 것은 충분하고 어디서나 호출 할 수 있습니다Python
지원됩니다.
# encoding: utf-8
'''backtest
start: 2021-08-30 00:00:00
end: 2022-09-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
from fmz import *
task = VCtx(__doc__) # initialize backtest engine from __doc__
def main():
while not exchange.IO("status"):
Sleep(1000)
exchange.SetContractType("swap")
while True:
bars_1min = _C(exchange.GetRecords, PERIOD_M1) # Get 1min K-line
print(len(bars_1min))
_CDelay(2000)
# Calling the main function
try:
main()
except:
print(task.Join(False))
Mylanguage는 기간 계산의 매우 숨겨진 오류를 포함하고 계산 값은 N/A일 수 있습니다. 예를 들어 다음 예시와 같이:
그 이유는 계산 기간 매개 변수가 데이터 범위를 초과하기 때문에 N/A 값이 계산됩니다. 처리 방법:
Mylanguage에서 오류가 발생했습니다: 분석 오류, 전략은 간단한 코드만 포함하고, 오류 줄의 수가 매우 길고, 오류 원인은 찾을 수 없습니다.
초기 Mylanguage 템플릿의 문제로 인한 오류일 수 있습니다. 솔루션: 1. xml 파일로 전략을 내보냅니다. 2. 새로운 빈 Mylanguage 전략을 생성합니다. 3. 새로 만들어진 빈 전략에 xml 파일을 가져옵니다. 4. 테스트를 위해 봇을 추가합니다.
오류:fatal error:unexpected signal during runtime execution...go routine 11[syscall,locked to thread]
전략이 작성되었는지 확인C++
null pointer를 사용해서, 고장 견딜 수 있는 모드 백테스트를 사용해서
전화 오류exchange.SetMarginLevel(10)
: Futures_OP 0:403:{"error":{"message":"Access Denied","name":"HTTPError"}}
관련 권한이 있는지 확인API KEY
플랫폼에 적용된
백테스트 오류:symbol not set
그것은 당신이 선물 플랫폼의 백테스트 동안 코드에 계약을 설정하지 않았기 때문입니다.exchange.SetContractType
API 문서에 있는 기능
오류ERR_INVALID_POSITION
백테스트 시스템이 오류를 보고하면 일반적으로 전략 작성 오류로 인한 오류입니다. 포지션이 없거나 포지션 수가 충분하지 않은 상태에서 포지션을 닫을 명령을 시도하면 오류가 보고됩니다. 완료되지 않은 주문으로 인한 포지션 동결이 있는지 확인하십시오.
오류ERR_INVALID_ORDER
백테스트 시스템이 오류를 보고하면 일반적으로 전략 작성 오류로 인한 오류입니다. 주문 가격을 확인하는 것을 유의해야합니다 (백테스트 시스템에서 암호화폐 선물은 일시적으로 시장 주문을 지원하지 않습니다), 주문 부피가 0인지 음수인지 소수점인지 (미래 계약의 주문 부피는 계약 금액으로 계산되며 정수입니다).
오류ERR_INSUFFICIENT_ASSET
만약 백테스트에서 오류가 보고되면, 일반적으로 사용 가능한 자산 금액이 현재 주문을 하기에는 충분하지 않다는 것을 나타냅니다. 간단히 말해서, 그것은 주문을 하기 위한 자산이 없다는 것을 의미합니다.
Binding Error:Cannot passnon-string to std::string
오류 정보
전략 코드에서 오류는 일반적으로 속성 이름의 잘못된 수에 의해 발생합니다.
오류{"status":6004,"msg":"timestamp is out of range"}
오류는 서버의 시간표가 범위를 벗어났다는 것을 의미합니다. 그리고 당신은 서버의 시간을 업데이트해야 합니다. 큰 오차 없이요.
오류timeout
이 오류는 타임아웃 오류로, 플랫폼 인터페이스에 액세스 한 후 일정 기간 동안 플랫폼 인터페이스에서 응답 데이터를 얻지 못하여 보고 된 오류를 나타냅니다. 일반적으로, 도커가 위치한 시스템의 네트워크 액세스 문제 (많은 문제가 벽에 의해 발생합니다.) 또는 플랫폼 인터페이스의 문제입니다. 일반적인 해결책: 도커를 실행하기 위해 해외 서버를 사용하십시오.
전략 작성 후 실행 bot에서 오류:syntax error invalid label
오류 출처:
function main(){
if(1){
continue
}
}
//That will cause the error during operation
continue
문장은 루프에서 사용되어야 합니다!
오류:(CTP_T@9999)Error:140CTP:change the password when first log in, and please log in again after changing
어떤 비밀번호가 변경되었나요?
여기에 변경 표시simnow
계정 비밀번호; 특정 선물 회사 계정을 사용하여 로그인 할 때 첫 로그인 비밀번호를 수정해야합니다 (새 계정에는 초기 비밀번호가 있으며 초기 비밀번호를 수정하지 않고 계정을 사용할 수 없습니다).
현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
오류:400:{"error":{"message":"Nonce is not increasing.This nonce:1523891993165,last nonce:1523891993165","name":"HTTPError"}}
그것은nonce
확인 오류 및 관련 오류 정보nonce
일반적으로 타임 스탬프 검증의 실패입니다. bot 도커가 위치한 시스템의 시간을 동기화하려고 시도 할 수 있습니다.
오류Secretkey decrypt failed
오류는 해독 실패를 나타냅니다API KEY
. FMZ 계정 암호를 수정한지 확인합니다.API KEY
설정해 보세요API KEY
FMZ의
상품 선물 오픈 포지션 오류:CTP: only close position
그 기록이can only close position
. 계정이 동결 된 경우도 있습니다. (장시간, 1 년 이상 사용되지 않았습니다.) 또는 잘못된 채널에 로그인 된 경우도 있습니다. (CTP는 많은 좌석이 있습니다.)
현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
어떤 이유가 있을 수 있을까요?GetOrder(455284455):Error:invalid order id or order canceled.
내가 전화할 때 항상 올라갑니다.exchange.Getorder
?
문자적 의미: 주문이 취소되었거나 주문 ID가 유효하지 않습니다. 이유: 일부 플랫폼에서 주문을 취소하면 주문 정보는 유지되지 않으며 삭제됩니다. 따라서 주문을 검색 할 때exchange.GetOrder
, 오류가 보고될 것입니다. 또는 당신이 검색한 주문 ID가 원래 잘못되었습니다.
오류: 한도 제한, 429 너무 많은 요청
rate limit, 429 Too Many Requests
플랫폼 인터페이스에 접근하는 빈도가 너무 높다는 것을 나타냅니다. 그래서 플랫폼 인터페이스에 접근하는 빈도를 줄여야 합니다.
늘 올릴게요Invalid order price/amount
보트와 백테스트에서
이러한 종류의 오류는 오더 함수를 호출 할 때 잘못된 가격과 주문 부피로 인해 발생합니다.exchange.Buy
또는exchange.Sell
.마이너스 주문 부피, 0다른 오류 탐지 방법:Log
주문하기 전에 전달해야 하는 가격 매개 변수 또는 부피 매개 변수를exchange.Buy
또는exchange.Sell
, 문제를 결정하기 위해.
어떤 종류의 오류가GetOrders:400:{"code":-1121,"msg":"Invalid symbol."}
?
오류는 다음을 의미합니다.유효하지 않은 거래 쌍트레이딩 페어 설정이 잘못되었는지 확인해야 합니다.
보트 로그에서 오류가 보고될 때 오류 코드가 나타나면 무슨 뜻일까요?
다른 플랫폼 인터페이스에서 반환되는 오류 코드 설명은 해당 플랫폼의 API 문서에서 볼 수 있습니다.
파인 언어와 밀랭게의 실제 시장 수익곡선의 인쇄 시간 파인 언어/밀어 언어 템플릿 파라미터의 설정에 따라 정기적으로 인쇄하고 전략이 완전히 닫힌 후에 인쇄합니다.
Mylanguage 봇은 신호 트리거 라인의 수를 인쇄하지만 명령 작업은 없습니다.
Mylanguage 템플릿의 매개 변수 설정이 정확성, 최소 주문 부피 및 기타 매개 변수와 같이 부적절할 수 있습니다. 이유는 신호 트리거 계층이 성공적으로 판단되었고 거래 실행 계층에서는 매개 변수와 관련된 문제로 인해 주문을 할 수 없다고 판단되어 실제로 주문이 이루어지지 않았습니다. Mylanaguage 관련 게시물을 참조할 수 있습니다:https://www.fmz.com/bbs-topic/9788 https://www.fmz.com/bbs-topic/9791
왜 봇이 요청 신호를 수신할 수 없는 걸까요? 이미 트레이딩뷰에 웹후크 url 알림을 설정했거든요.
webhook url 주소에서 API KEY가 맞는지 확인하십시오. 여기서 API KEY는 FMZ의 확장 API KEY를 의미합니다. FMZ의 오른쪽 상단쪽의 계정 설정에서 설정됩니다. webhook url의 bot ID가 올바르게 입력되었는지 확인하십시오. FMZ의 확장 API KEY 권한이 올바르게 부여되었는지 확인하십시오. 권한은 영어로 koma로 분리됩니다. 기본값은 *, 즉 모든 권한입니다. *. 직후에 권한과 함께 함수 이름을 쓰지 마십시오.
왜 통화 쌍의 기호가 플랫폼 거래 쌍 구성에 제한되어 있습니다? 내가 아는 한, 실제로 플랫폼은 여러 거래 쌍을 지원합니다.
당신은 다음과 같이 거래 쌍의 사용자 정의 제어 설정할 수 있습니다. (그것은 단지 봇에서 설정할 수 있습니다. 백테스트 데이터 센터에 있는 기호는 제한되어 있습니다. 그것은 백테스트에서 설정할 수 없습니다.)
서버에서 FutuOpenD를 실행할 때 왜 틱어가 나오지 않는가? 그리고 로컬 디바이스에서 틱어가 나오지 않는가?
서버의 IP 주소가 해외에 있는지 확인해야 합니다. FutuOpenD는 해외 IP 주소에 제한을 두고 있습니다. 현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
Mylanguage 전략이 실행될 때 아무런 조치도 취하지 않고, 처음에는 TAQ만 업데이트합니다. 문제는 무엇입니까?
당신은 전략 Mylanguage 템플릿 매개 변수에서 확인할 수 있는 폐쇄 가격 모델을 사용했는지 확인합니다.
재화 선물
CTP에서는 상하이 선물 거래소만 오늘 포지션과 어제 포지션을 닫을 수 있습니다.
백테스트는 구별하지 않습니다오늘 위치에서어제 포지션, 그래서 오늘 포지션이나 어제 포지션을 닫는 것을 지정할 수 없습니다.
로봇의 일부 기호들,IF
이 경우, 당신은 지정할 수 없습니다, 당신은 단지 오늘 포지션을 먼저 닫을 수 있습니다. 따라서, 오늘 포지션과 어제 포지션의 포지션 정보는 하나로 합쳐집니다.
현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
왜 바의 시간표가BITMEX
다른 플랫폼의 K-라인 데이터에서 같은 위치보다 한 개의 더 많은 기간이 있습니까?
그 이유는BITMEX
현재 바의 종료 시간을 K-라인 타임 스탬프로 (일부 K-라인 기간은BITMEX
인터페이스, 그래서 그 기간의 시간표는 바의 시작 시간에 의해 생성됩니다.) 예를 들어 오른쪽 그림:
재화 선물 전략에서는Profit
함수에서 반환된 데이터에서exchange.GetPosition
계산된 변동 수익과 손실과 다르나요?
API 문서를 참조하십시오:https://www.fmz.com/api#exchange.getposition. Profit
안쪽CTP protocol
정의는시가총액 기준의 이익과 손해, 이는 이전 거래일의 결제 가격에 대한 현재 포지션의 이익과 손실을 나타냅니다.
현재 FMZ 국제 스테이션은 암호화폐 사업을 지원합니다. 상품 선물, 증권 및 기타 비즈니스는 FMZ 국내 스테이션에서 지원됩니다. 로그인 할 수 있습니다:https://www.fmz.cn.
Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.
사용자 지정 데이터 소스 기능이 사용되고 사용자 지정 데이터 소스 서비스가 제공하는 데이터가 정확하는지 확인하십시오. 이 오류의 이유는 비정상적인 백테스팅 시장 데이터일 수 있습니다.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-02-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var t = exchange.GetTicker()
exchange.Buy(t.Last - 10, 100/(t.Last - 10))
while(1){
t = exchange.GetTicker()
Sleep(1000)
}
}
바이낸스 선물과BITMEX
, 투자율은 백테스트 시스템에서 생성되는 이익과 손실 곡선으로 계산되는가?
투자율은 백테스트 시스템에서 생성된 이익과 손실 곡선으로 계산됩니다.
프록시가 활성화되어 있는지 확인해야 합니다. 이것은
이 지역에서는진짜 틱백테스트, 왜 50MB가 한정된 걸까요?
실제 시장 수준 백테스트는 실제 틱에서 TAQ가 실제로 초당 기록된다는 것을 나타냅니다. 또한 시장 스냅샷과 주문 흐름 데이터가 있으며, 대용량이기 때문에 데이터 볼륨의 50MB만이 지원됩니다. 즉, 실제 시장 수준 시간 범위의 최대 범위는 몇 시간이며 백테스트 시간은 연장 할 수 없습니다. 실제 틱 백테스트는 주로 고주파 전략을 테스트하는 데 사용됩니다.
왜 백테스트 시스템에서 수수료 매개 변수를 수정했을 때 작동하지 않았을까요?
백테스트 시스템에서 수수료 매개 변수를 재설정하면 오래된 플랫폼-거래 쌍을 삭제하고 플랫폼-거래 쌍을 다시 추가 한 후에 유효합니다. 이전에 추가 된 플랫폼-거래 쌍은 페이지의 컨트롤에 의해 수정 될 수 없습니다.
어떻게 백테스트 사용자 정의 도면을 더 많은 데이터를 표시 할 수 있습니까?
사용자 정의 차트를 그리면Chart
함수), 백테스트에서 표시되는 도면 데이터 볼륨은차트매개 변수는 배트 테스트 설정에서, 매개 변수는 차트의 최대 바 번호를 제어합니다.chart.reset
이 함수는 오래된 데이터의 일부를 삭제하는 데 사용됩니다.
C++
백테스트는 아무 것도 표시하지 않았습니다. 보고된 오류도 없었고 로그도 없었고, 버튼을 누르면 페이지의 변화가 없었습니다.
일부 오류C++
예를 들어, 표시자 계산에서 K 라인의 수가 충분하지 않아서NAN
그리고 번호의 종류NAN
컴퓨터가 계산되면 프로그램 충돌을 일으킬 것입니다.
python
백테스트가 막혔어!
함수를 쓸 수 없습니다.Sleep
에try
오류 탐지, 그리고 이미지의 글씨가 혼잡을 일으킬 것입니다.
백테스트에서 왜 플랫폼에 대한 옵션이 몇 개 밖에 없고 거래 쌍의 기호도 제한되는 걸까요?
플랫폼에는 너무 많은 거래 쌍이 있으므로 백테스트 시스템에서 테스트를 위해 몇 개의 대표적인 거래 쌍만 선택되었습니다.관세 관리이 플랫폼에서 지원하는 거래 쌍을 봇으로 설정하기 위해서요.
왜 백테스트가 더 많은 거래 쌍을 지원하지 않는 걸까요?
백테스트 시스템은 현재는 일부 비교적 큰 플랫폼의 주류 화폐만을 지원하고 있으며 일부 화폐는 아직 지원되지 않습니다. 전략을 테스트해야 할 경우 백테스트에서 다른 유사한 화폐로 화폐를 대체할 수 있습니다. 실제로 시장 코팅이 영향을 받을 수 있는 경우를 제외하고는 전략을 백테스트하기 위해 다른 유사한 암호화폐를 사용하는 것이 좋습니다. 간단히 말해서, 백테스트 시스템은 주류 거래 쌍을 지원하려고 노력하고 있으며, 백테스트는 특정 기호와 일치해서는 안됩니다. 즉, 전략이 효과적이라면, 거래 규칙과 함께 무작위로 생성된 시장 코팅 변화 또는 다른 통화 시장 코팅의 일련이더라도 기본적으로 긍정적 인 이익이 있어야합니다. 이것이 전략의 보편성입니다. 특정 기간의 역사 또는 특정 데이터에 잘 대응 할 수 있다면이 전략은 실제로 잠재적인 위험이나 결함을 가지고 있습니다.
백트테스트 시스템에서:종결 수익 및 손실, 지분 P&L, 마진, 예상 수익, 현재 사용 가능한 USDT
종료 P&L: 현재 위치 이전에 개설 및 종료된 모든 거래의 누적 이익과 손실입니다. 보유 P&L: 현재 위치의 이익과 손실입니다. 현재 위치가 보유되지 않으면 0입니다. 마진 (Margin): 현재 포지션이 차지하는 마진 금액. 예상 수익: 현재 포지션을 현재 가격 (가상적) 으로 종료함으로써 발생하는 이익과 손실은 예상 수익을 계산하기 위해 폐쇄된 포지션의 누적 이익과 손실에 추가됩니다. 현재 사용 가능한 USDT: 포지션을 개설할 수 있는 현재 사용 가능한 USDT 금액.
백테스트 시스템에서의 승률 계산
for (var i = 0; i < profits.length; i++) {
if (i == 0) {
if (profits[i][1] > 0) {
winningResult++
}
} else {
if (profits[i][1] > profits[i - 1][1]) {
winningResult++
}
}
if ((profits[i][1] + totalAssets) > maxAssets) {
maxAssets = profits[i][1] + totalAssets
maxAssetsTime = profits[i][0]
}
if (maxAssets > 0) {
var drawDown = 1 - (profits[i][1] + totalAssets) / maxAssets
if (drawDown > maxDrawdown) {
maxDrawdown = drawDown
maxDrawdownTime = profits[i][0]
maxDrawdownStartTime = maxAssetsTime
}
}
}
위의 것은 승률 알고리즘입니다. 백테스트 시스템은 부동의 이익과 손실을 정기적으로 계산한 후, 부동의 이익과 손실 곡선이 계산됩니다. 다음 점과 비교하기 위해 첫 번째 지점에서 시작하십시오. 더 높으면 승리로 기록되며, 더 낮으면 손실로 기록됩니다. 다음 지점과 비교를 계속하십시오.
배포하는 교육 비디오는 어디에Linux
도커?
빌리빌리:https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web
내가 도커를 업데이트 할 때 오래된 하나를 중지하고 삭제하는 것이 필요합니까robot
프로그램, 그리고 다시 실행?
당신은 바로 오래된 삭제할 수 있습니다robot
도커를 멈추지 않고 프로그램 파일을, 다음 새로운 압축 패키지를 다운로드, 새로운 압축을 해제robot
이 때, 도커는 업데이트 되지만 실행 중인 봇은 여전히 메모리에 오래된 버전을 사용하고, bot이 다시 시작될 때만 최신 버전을 사용할 것입니다.
도커 배포Linux
서버
도커를 설치하기 위한 단계Linux
: https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web
사용 시screen
도커 프로그램을 실행하기 위해robot
, -bash:screen:command not found
발생하면, 도커가 실행되지 않습니다.
Linux
시스템이 설치되지 않습니다screen
소프트웨어, 그리고 일반적인 설치가 충분합니다.CentOS
시스템 설치 명령어:yum install screen
.
현재 도커는 이미 지원합니다SSH
백그라운드에서 실행하기 위해 전환을 단속하기 위해.screen
, 당신은 직접 명령어를 사용할 수 있습니다robot
도커 프로그램의 디렉토리:./robot -s node.fmz.com/xxxxxxx
, 그리고 FMZ 계정 암호를 입력;Login OK
표시되면 배포가 성공했다는 것을 의미합니다../robot -s node.fmz.com/xxxxxxx
각 FMZ 계정의 고유 식별 코드입니다, 그리고 그냥 자신의 입력 (계정 로그인 후, 도커 페이지로 뛰어, 클릭 xxxxxxx
.
닷커가 봇을 실행할 때 봇 로그는 어디에 있을까요?
이 지역에서는DB3
데이터베이스 파일logs
도커 프로그램이 있는 디렉토리, 데이터베이스 파일 이름은id
bot의, 그리고 확장자는db3
.
들어와Linux
시스템 사용./robot -l
도커가 지원하는 플랫폼의 이름을 보려면exchange
이름들 중 하나?
교환 대상은이름이exchange
해당 플랫폼을 가리킨다.일반 프로토콜일반 프로토콜의 세부 사항:https://www.fmz.com/api#通用协议
도커 페이지는 목록 형식으로 도커를 표시하지 않습니다.
5 개 이상의 도커가 추가되면 목록 형식으로 표시하는 컨트롤이 표시됩니다.
보트를 만들 때 도커 매개 변수의 콤보 상자에서 내가 직접 배포하지 않은 도커가 있는 것이 정상인가요?
FMZ에서 제공하는 퍼블릭 도커는 초보자를 위한 추가 빠른 시작 도구로, 사용자들은 학습할 때 도커를 배포할 필요가 없으며 초보자들이 쉽게 시작할 수 있다. 그러나 실제 봇 테스트를 위해 개인 도커를 사용하는 것이 좋습니다. 결국, 퍼블릭 도커의 하드웨어 자원과 네트워크는 공유되며, 플랫폼은 이러한 퍼블릭 도커를 때때로 유지보수할 것이다.
주소 문자열 (./robot -s node.fmz.com/1234567
내나 다른 사람에게 독점적으로?
이 주소는 각 사용자의 자신의 주소 식별자이며,/1234567
각 사용자의 일부가 사용자 식별을 위해 고유합니다. 도커를 배포할 때,대시보드-> 클릭도커를 추가->도커 페이지를 추가, 그리고 이 주소를 볼 수 있습니다. 직접 복사하고 붙여서 사용할 수 있습니다.
도커가 있는 시스템의 환경 변수가 추가되었습니다.python2.7
, 하지만 왜 여전히 환경 변수를 찾을 수 없다는 것을 요청?
언제?windows
시스템 처음 설치python
, 환경 변수를 설정하고 다시 시작해야 합니다.
EOF 오류
파이썬 백테스트는 EOF 예외로 종료됩니다. (때로는 전략이 무한 루프가 될 수 있기 때문에). 따라서 EOF를 요청하는 것이 정상입니다.
도커가 몇 개의 봇을 구동할 수 있을까요?
서버 구성 및 전략의 복잡성에 따라 숫자에 제한이 없습니다. 구체적으로, 이러한 여러 봇이 동일한 플랫폼 인터페이스에 액세스하는지 여부를 고려해야합니다 (더 많은 봇이 더 높은 주파수를 의미하기 때문에 인터페이스 호출의 주파수를 고려하십시오); 일반적으로 5 ~ 6 개의 봇이 좋습니다.
도커, 봇 및 기타 기본 개념 설명
봇과 도커 페이지의 내용이 모두 사라진 경우, 봇과 도커가 모두 서버에서 정상적으로 실행되면 브라우저의 오류 보고 메시지를 읽어야 하며, 브라우저에 플러그인이 설치되어 있는지 확인해야 글로벌 변수 오염 문제를 유발합니다. 해결책은 브라우저의 플러그인에 작성하거나 브라우저 플러그인이없는 브라우저를 사용하여 FMZ에 로그인하는 것입니다.
공식적인 임대 및 한 클릭으로 도커 서버를 임대하는 전략은 FMZ 계좌 잔액이 충분 한 한 수수료가 자동으로 갱신 될 것입니까?
임대된 전략은 자동으로 요금을 충당하지 않습니다. 한 번의 클릭으로 도커를 임대하면 자동으로 요금이 충당됩니다.
템플릿 함수는 어디에 있나요? 템플릿에 몇 가지 함수를 분리하고, 다른 전략도 사용할 수 있습니다.
그 설명은FMZ API
서류:https://www.fmz.com/api#模板类库
이럴까요?wexApp
FMZ의 시뮬레이션 플랫폼 시뮬레이션 봇만 제공BTC_USDT
어떻게 다른 거래 쌍을 사용자 정의 할 수 있습니까?
wexApp
시뮬레이션 봇은 현재 몇 개의 주류 거래 쌍만을 지원하고 있으며 모든 거래 쌍이 시뮬레이션되지 않습니다.
확장 API에 동시 호출의 문제가 있습니다. 즉, 동시 호출 중에 항상
당신은 여러 FMZ 플랫폼을 확장 만들 수 있습니다API KEY
s는 동시에 요청하는 경우입니다.
도커에서 생성된 디버그 스레드는 디버그 툴을 사용할 때 로그 상태를 기록할 수 있나요?
디버그 툴이 실행되면, 두 번째 변경이 없다면, 이전에 생성된 교환 객체는 유지되고 풀리지 않습니다. 따라서, 교환 객체가 현재통화 모드또는레버리지 모드.
왜 내가 등록했을 때wexApp
시뮬레이션 플랫폼으로 로그인해서 지갑과 통화 부문 모두에 자금이 없었어요?
등록 후 계정을 활성화하려면 이메일 확인을 해야 합니다. 개인 센터에서 계정을 활성화할 수 있습니다.
로그 정보는 비교적 길고 잘라놓았는데, 결국에는"...라고 나타났습니다. 하지만 데이터의 구조를 볼 필요가 있습니다. 어떻게 해야 할까요?
그 해결책은디버그 도구에대시보드, 그리고return
디버깅 툴에서 표시되는 컨텐츠를 반환하고, 컨텐츠 디스플레이는 단축되지 않습니다.
어떻게 함수들은 시작되는지$.
에JavaScript
전략이란 무엇인가요?
시작과 함께 함수$.
템플릿의 엑스포트 함수입니다. 모듈의 인터페이스 함수와 비슷합니다. API 문서의 설명 참조:https://www.fmz.com/api#模板类库
수출 기능python
전략은ext.
시작부터
백테스트 결과의 시장 차트에 직선을 그리는 방법?
백테스트에서 최종적으로 표시되는 차트에는 두 가지 유형이 있습니다. 하나는 시스템에서 생성되며 전략이 제어 할 수 없습니다. 다른 하나는Chart
전략 코드에서 FMZ API 인터페이스의 기능. 참조:https://www.fmz.com/api#chart...
저는 실수로 휴대폰에서 구글 검증기를 삭제했습니다. 구글 검증기를 리셋하는 방법은? 플랫폼의 계정 설정 페이지에서 이메일로 리셋하는 장소를 찾을 수 없었습니다.
다른 브라우저로 FMZ 플랫폼에 로그인할 수 있고, 구글 인증 코드를 입력해야 할 때,
플랫폼API KEY
보안 관리
이API KEY
FMZ는 사용자의 플랫폼 계정의 일반 텍스트 정보를 저장하지 않으며,Https
protocol.
전략 보안 문제
이 경우, 당신은 참조할 수 있습니다:https://www.fmz.com/bbs-topic/1657.
FMZ 청구 시스템
라이브 거래에 대한 청구 기준:
언급된 청구 시간 은 청구 작업에 필요한 처리 시간 을 가리킨다. 이러한 처리 작업에 필요한 시간 에 따라 감축 시간 이 지연 될 수 있다. 예를 들어, 현재 청구 시간 이 9:00 이면, 이 청구 작업 의 처리 시간 이 9:02 이 될 수 있다. 다음 청구 작업 도중 이 점 이 조정 될 것 이다. 다음 감축 시간 은 10:00 이 될 것 이다. 사전 청구 는 아니다.
탈리브 도서관은 제한된 정확도로 데이터를 처리합니다.
데이터가 아주 작다면 줄여서 0으로 표시됩니다. 참고:https://github.com/TA-Lib/ta-lib-python/issues/157