FMZ 양자 거래 플랫폼에서 전략을 개발할 때 전략 매개 변수 및 전략 상호 작용을 설계하는 것이 필요합니다. FMZ 양자 거래 플랫폼은 사용하기 쉽고 강력한 양적 거래 도구를 제공하고 제품 설계 및 기능을 지속적으로 반복하도록 최선을 다하고 있습니다.
FMZ Quant의 전략 매개 변수 유형은 증가하지 않았으며 여전히 우리가 익숙한 다섯 가지 유형의 매개 변수입니다.
그렇다면 여러분은 저에게 어떤 콘텐츠가 이 플랫폼 업데이트에서 추가되고 최적화 되었는지 물어보실 겁니다.
이 업그레이드는 매개 변수 결합 컨트롤에 대한
우리는 전에
매개 변수가 대응하는 (결속되는) 제어의 여러 특성, 유형 및 규칙을 설정합니다. 숫자 매개 변수 (숫자 유형) 에 묶인 기본 컨트롤은 입력 상자입니다. 입력 상자에 의해 수신되는 데이터에 대한 규칙을 설정할 수 있습니다. 즉, 설정하는 그림에서
최소 값 및 최대 값 컨트롤을 사용합니다.
기본 입력 박스 제어 기능 외에도 플랫폼은 다음과 같은 기능을 추가했습니다.
부엘 매개 변수는 오직 하나의 대응 컨트롤, 즉 기본 스위치 컨트롤이 있다는 점에서 특별합니다. 그리고 매개 변수 기본 값도 필요합니다.
볼 값은 true 또는 false이기 때문에, 이진 옵션입니다. 따라서, 이 매개 변수 유형에 대응하는 스위치 컨트롤을 사용하는 것이 매우 적절합니다.
일반적으로, 부올 타입 매개 변수는 플랫폼에서 특정 전략 기능이 활성화되었는지 여부를 제어하는 데 사용됩니다.
기본 입력 박스 제어 기능 외에도 플랫폼은 다음과 같은 기능을 추가했습니다.
텍스트
시간 선택기
드롭다운 박스 매개 변수의 기본 대응 컨트롤은 드롭다운 박스이지만 이번에는 이전 간단한 단일 선택 드롭다운 박스에 많은 업그레이드가되었습니다.
기본 드롭다운 박스 컨트롤 외에도 이번에는 플랫폼이 추가합니다.
암호화된 문자열 매개 변수 또한 매우 특별하며, 그에 대응하는 컨트롤은 하나만 있고, 이는 기본 암호화된 입력 박스 컨트롤입니다.
플랫폼에서 암호화된 문자열 타입 컨트롤은 일반적으로 비밀 키, 비밀번호 등과 같은 민감한 정보를 설정하는 데 사용됩니다. 이러한 입력 매개 변수 값은 전송 전에 로컬로 암호화됩니다.
인터페이스 파라미터의 변수 값은: 문자열입니다.
위의 모든 유형의 전략 인터페이스 매개 변수에 대해, 이 업그레이드는 이전
Filter format: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b
여기서 a와 b는 모두 전략 인터페이스 매개 변수를 나타냅니다.
위의 설명이 약간 직관적이지 않다면, 그것들을 이해하는 가장 좋은 방법은 실제로 이러한 매개 변수 함수를 사용하고 테스트하는 것입니다.
자바스크립트 언어 전략을 예로 들어보죠.
function main() {
Log("---------------------------Start testing numeric type parameters---------------------------")
Log("Variable pNum1:", pNum1, ", Variable value type:", typeof(pNum1))
Log("Variable pNum2:", pNum2, ", Variable value type:", typeof(pNum2))
Log("Variable pNum3:", pNum3, ", Variable value type:", typeof(pNum3))
Log("Variable pNum4:", pNum4, ", Variable value type:", typeof(pNum4))
Log("---------------------------Start testing Boolean type parameters---------------------------")
Log("Variable pBool1:", pBool1, ", Variable value type:", typeof(pBool1))
Log("Variable pBool2:", pBool2, ", Variable value type:", typeof(pBool2))
Log("---------------------------Start testing string type parameters---------------------------")
Log("Variable pStr1:", pStr1, ", Variable value type:", typeof(pStr1))
Log("Variable pStr2:", pStr2, ", Variable value type:", typeof(pStr2))
Log("Variable pStr3:", pStr3, ", Variable value type:", typeof(pStr3))
Log("Variable pStr4:", pStr4, ", Variable value type:", typeof(pStr4))
Log("---------------------------Start testing the drop-down box type parameters---------------------------")
Log("Variable pCombox1:", pCombox1, ", Variable value type:", typeof(pCombox1))
Log("Variable pCombox2:", pCombox2, ", Variable value type:", typeof(pCombox2))
Log("Variable pCombox3:", pCombox3, ", Variable value type:", typeof(pCombox3))
Log("---------------------------Start testing encryption string type parameters---------------------------")
Log("Variable pSecretStr1:", pSecretStr1, ", Variable value type:", typeof(pSecretStr1))
}
전체 매개 변수 테스트 전략https://www.fmz.com/strategy/455212
위의 매개 변수에 숨겨진 매개 변수 의존성 설계가 있습니다. 많은 전략은 특정 매개 변수에 기반한 일련의 설정을 활성화하는 요구 사항을 가지고 있습니다. 이러한 매개 변수 의존성으로 달성 할 수 있습니다.
FMZ 퀀트 트레이딩 플랫폼에는 또한 다섯 가지 유형의 전략 인터랙티브 컨트롤이 있으며, 이 경우 최적화 및 업그레이드되었습니다.
인터랙티브 컨트롤은 기본적으로 전략 인터페이스 매개 변수의
사용은 전략 인터페이스 매개 변수의 다양한 구성 요소 유형과 동일하므로 여기에서 반복되지 않습니다.
인터랙티브 컨트롤은 기본적으로 전략 인터페이스 매개 변수의
기본 입력 상자 제어 기능 외에도, 컴포넌트 타입은 다음을 지원합니다.
인터랙티브 컨트롤의 드롭다운 박스 또한 업그레이드되었습니다:
기본 드롭다운 박스 컴포넌트 외에도 다음을 추가합니다.
버튼 타입 인터랙티브 컨트롤에는 입력 항목이 없습니다. 트리거되면 전송된 인터랙티브 명령어는 버튼 컨트롤 이름만 포함합니다.
가장 좋은 방법은 수동으로 테스트하는 것입니다. 테스트 전략도 준비되었습니다.
인터랙티브 컨트롤은 백테스팅 시스템에서 테스트 할 수 없으며 라이브 테스트만 만들 수 있다는 점에 유의해야합니다.
function main() {
var lastCmd = ""
while (true) {
var cmd = GetCommand() // Receive messages generated by interactive controls
if (cmd) {
Log(cmd)
lastCmd = cmd
}
LogStatus(_D(), lastCmd)
Sleep(500)
}
}
어떤 무작위 정보를 입력하고, 몇 가지 옵션을 설정하고, 대화형 제어 버튼을 클릭하면 대화형 메시지를 생성합니다. 전략은 메시지를 캡처하고 인쇄합니다.
상호 작용 제어 테스트 전략 완료:https://www.fmz.com/strategy/455231
function main() {
Log("After parameter test1 is selected using currency controls, the value of test1 is:", test1)
Log("After parameter test2 is selected using trading pair controls, the value of test2 is:", test2)
}
After parameter test1 is selected using currency controls, the value of test1 is: BTC
After parameter test2 is selected using trading pair controls, the value of test2 is: ETH_USDT.next_quarter
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
test1:SOL
test2:XRP_USDT.swap