전략 프레임워크 및 API 기능
그 전략에JavaScript
, Python
그리고cpp
, 그Sleep()
이 함수는 그 전략의 메인 루프에서 호출되어야 합니다. 그것은 역추적 속도를 제어하는 데 사용됩니다. 라이브 거래에서, 그것은 전략 투표 간격을 제어하는 데 사용됩니다. 또한 거래소의 API 인터페이스에 액세스하는 요청 주파수를 제어합니다.
function onTick(){
//Write strategy logic here, and it will be called constantly, such as printing ticker information
Log(exchange.GetTicker())
}
function main(){
while(true){
onTick()
// The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
Sleep(60000)
}
}
def onTick():
Log(exchange.GetTicker())
def main():
while True:
onTick()
Sleep(60000)
void onTick() {
Log(exchange.GetTicker());
}
void main() {
while(true) {
onTick();
Sleep(60000);
}
}
암호화폐 전략의 기본 프레임워크 예제:
function onTick(){
// It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
exchange.Buy(100, 1)
}
function main(){
while(true){
onTick()
// The pause period can be customized in millisecond (1 second = 1000 milliseconds)
Sleep(1000)
}
}
def onTick():
exchange.Buy(100, 1)
def main():
while True:
onTick()
Sleep(1000)
void onTick() {
exchange.Buy(100, 1);
}
void main() {
while(true) {
onTick();
Sleep(1000);
}
}
가장 간단한 예를 들어보죠. 만약 제가 매초 100의 가격과 1의 양으로 거래소에 구매 주문을 하고 싶다면 이렇게 쓸 수 있습니다.
다음은 전략 개발 및 설계에서 일반적으로 사용되는 API 기능을 보여줍니다. 더 자세한 API 설명은 참조하십시오:FMZ 양자 거래 플랫폼 API 설명서.
세계적 기능
함수 이름 |
간략 한 소개 |
버전 |
반환합니다 |
시스템의 현재 버전 번호 |
|
잠자리 |
수면 기능 |
매개 변수는 일시 중지하는 밀리 초의 값입니다. |
|
IsVirtual |
결정 |
실행 환경, 배트테스트를 표시하기 위해 true값을 반환
환경
자, 이제 시작해보죠.우편이메일 보내세요.
자, 이제 시작해보죠.메일_고시계성
에 대한Mail
함수
자, 이제 시작해보죠.설정 오류 필터♫ 필터 오류 ♫
로그, 매개 변수는 정규 표현식 문자열, 오류 로그
이 정규 표현식에 의해 일치하는 로깅에 업로드되지 않습니다
시스템.
자, 이제 시작해보죠.GetPid봇을 가져와
프로세스 ID
자, 이제 시작해보죠.GETLastError마지막을 가져오세요
오류 메시지
자, 이제 시작해보죠.GetCommand, 전략을 세워라.
상호 작용 명령어, 전략 상호 작용 제어 설정이 될 수 있습니다
[인터랙션 제어]
자, 이제 시작해보죠.GetMeta의 값을 얻으세요.
전략 등록 코드를 생성할 때 작성된 메타 코드입니다.
자, 이제 시작해보죠.다이얼자, 자, 자, 자.
소켓 접속
자, 이제 시작해보죠.HttpQueryHttp 요청을 보내세요.
자, 이제 시작해보죠.HttpQuery_Go시계성
에 대한HttpQuery
함수
자, 이제 시작해보죠.코딩데이터 암호화
함수
자, 이제 시작해보죠.유닉스나노자, 나노초를 얻으세요.
시간표
자, 이제 시작해보죠.유닉스두 번째 레벨로 들어가세요.
시간표
자, 이제 시작해보죠.GetOS시스템을 만드는 거죠.
정보
자, 이제 시작해보죠.MD5MD5를 계산하세요.
자, 이제 시작해보죠.DBExec데이터베이스
SQL 명령어를 실행하고 수행하는 데 사용할 수 있는 함수
데이터베이스 운영
자, 이제 시작해보죠.UUIDUUID를 생성합니다.
자, 이제 시작해보죠.이벤트 루프자, 이 모든 것들은
그리고 모든 웹소켓이 읽기 또는 같은 동시 작업 후에 반환exchange.Go
, HttpQuery_Go
, 등이 완료되면,이 기능은
라이브 트레이딩에서만 사용할 수 있습니다.
자, 이제 시작해보죠._G계속 데이터를 저장합니다.
이 함수는 저장 가능한 글로벌 사전 함수를 구현합니다.
구조는 도커의 로컬 데이터베이스에 저장된 KV 테이블입니다.
영구적으로 파일을
자, 이제 시작해보죠._D시간표호 관리자, 변환
시간 문자열에 있는 밀리초 시간표 또는 날짜 객체입니다.
자, 이제 시작해보죠._Nfloating point를 포맷합니다.
번호, 예를 들어_N(3.1415, 2)
3.1415의 값을 제거합니다
두 소수점, 그리고 함수는 3.14을 반환합니다.
자, 이제 시작해보죠._C다시 시도해 보세요
인터페이스 오류 허용. 예를 들어, 오류 허용
의exchange.GetTicker
함수는_C(exchange.GetTicker)
그리고_C(exchange.GetTicker())
|
| _십자횡단 판단 기능,_Cross()
함수의 반환 값은 긍정적 인 숫자를 나타냅니다
상향 침투 기간, 마이너스 숫자는
하향 침투 기간, 0은 현재 가격에 관한
같은 것입니다.
자, 이제 시작해보죠.JSONParseJSON을 분석합니다.
JSON 문자열을 올바르게 분석하면 더 큰 값을 분석합니다.
문자열 타입의 값.JSONParse()
기능이 지원되지 않습니다
백테스팅 시스템에서
로그 함수
함수 이름 |
간략 한 소개 |
로그 |
출력 로그, 로그 텍스트 색상 설정 지원, 푸시 설정 지원, Base64 인코딩 후 이미지를 인쇄 지원 |
로그프로프트 |
출력 P&L 데이터, 인쇄 P&L 값 및 P&L 값에 기초한 그래프 수익률 곡선 |
로그프로프트 리셋 |
공백LogProfit 함수 출력 모든 수익 로그, 수익 차트 |
로그 상태 |
상태 표시줄에서 출력 정보, 상태 표시줄에서 버튼 컨트롤 설계 지원, 양식 출력 지원 |
EnableLog |
주문 정보 로깅을 켜거나 비동하세요 |
차트 |
하이차트/하이스톡 차트 라이브러리를 기반으로 하는 차트 기능 |
KLineChart |
파인 언어 스타일 드로잉 함수, 이는 파인 같은 언어 스타일 드로잉을 사용하여 전략 실행 시간에 사용자 정의 드로잉을 위해 사용됩니다. |
로그리셋 |
로그를 닦고, 매개 변수 설정을 통해 최근 로그의 특정 수를 보존할 수 있는 지원 |
로그바큐움 |
SQLite에 의해 점유된 저장 공간을 복구 SQLite 리소스를 복구 로그를 닦은 후 데이터를 삭제 할 때LogReset() 기능 |
console.log |
라이브 거래 페이지의 디버그 정보 열에 있는 출력 디버깅 정보 |
console.error |
실전 거래 페이지의 디버그 정보 열에서 오류 정보가 출력됩니다. |
틱러 기능
거래 기능
미래 기능
네트워크 기능
자바스크립트 멀티 스레딩
FMZ 퀀트 트레이딩 플랫폼은 실제로JavaScript
언어 전략은 시스템 밑바닥에서 시작하여 다음과 같은 목표를 구현합니다.
물체 |
방향 |
언급 |
스레딩 |
멀티 스레드 글로벌 오브젝트 |
위원들의 역할:Thread , getThread , mainThread , 등등 |
스라인 |
스레드 객체 |
위원들의 역할:peekMessage , postMessage , join , 등등 |
스레드 잠금 |
스레드 잠금 객체 |
위원들의 역할:acquire , release 그들은 스레드 실행 함수의 매개 변수로 스레드 환경에 전달될 수 있습니다. |
스레드 이벤트 |
이벤트 객체 |
위원들의 역할:set , clear , wait , isSet 그들은 스레드 실행 함수의 매개 변수로 스레드 환경에 전달될 수 있습니다. |
스레드 조건 |
조건 객체 |
위원들의 역할:notify , notifyAll , wait , acquire , release 그들은 스레드 실행 함수의 매개 변수로 스레드 환경에 전달될 수 있습니다. |
ThreadDict |
사전 객체 |
위원들의 역할:get , set 그들은 스레드 실행 함수의 매개 변수로 스레드 환경에 전달될 수 있습니다. |
FMZ 양자 거래 플랫폼 문법 설명서:자바스크립트 멀티 스레딩
웹3
TA 지표 라이브러리
talib 지표 도서관
타리브 지표 라이브러리에는 수많은 거래 지표가 있습니다.talib.CDL2CROWS자세한 내용은 문법 매뉴얼을 참조하세요.
전략 입력 기능
템플릿 라이브러리