
Inventor Quantitative Trading Platform에서 개발하는 친구들은 종종 다음과 같은 요구 사항을 가질 수 있습니다.
렌털 전략을 개발할 때 전략에 대해 다른 자금 제한을 설정하거나, 전략 렌털에 대해 다른 교환 제한을 설정(전략 운영의 교환 제한)하거나, 전략 렌털에 대해 교환 계좌 구성에 대한 제한을 설정하려고 합니다. (이 전략은 사전에 합의된 계정에서만 사용할 수 있습니다. 전략 사용자가 다른 계정을 사용하는 경우 전략이 실행되지 않으며 더 이상 거래를 수행하지 않습니다.)
이것들은 분명히 코드에 하드코딩될 수 없습니다. 왜냐하면 이것들이 코드에 하드코딩되어 있다면, 모든 사용자는 이러한 제한을 받으며, 다른 사용자 그룹에 대해 다른 사용 권한을 통제하는 것은 불가능할 것입니다.
위의 수요 시나리오를 기반으로 Inventor Quantitative Trading Platform은 새로운 기능을 확장했습니다.정책 임대 등록 코드 메타데이터 설정
등록 코드를 생성할 때 메타데이터를 지정할 수 있습니다.Meta, 데이터는 문자열입니다. 참고: 등록 코드를 생성할 때 Meta 길이는 190자를 초과할 수 없습니다.
예를 들어, 저는 전략 개발자입니다. 저는 현물 거래 쌍 BTC_USDT에 대한 전략을 개발했습니다. 전략은 롱만(처음에는 인용 통화만)입니다.QuoteCurrency즉, USDT입니다. 일단 구매하면 거래 통화가 생깁니다.BaseCurrency이 전략을 임대하고 싶은데, 전략 이름은test1。
전략적 제약의 설계는 전략의 구체적인 상황과 결합하여 구체적으로 설계되어야 함을 알 수 있습니다. 이 예는 현물 전략의 데모입니다. 전략이 선물 전략이라면 어떨까요? 그런 다음 GetPosition에서 반환된 포지션 데이터를 기반으로 선물 포지션 정보를 제한해야 합니다. 전략에서 포지션이 한도를 초과한 것을 발견하면, 주문 개시 로직은 더 이상 실행되지 않습니다(포지션 마감 등 다른 로직은 정상적으로 실행되어야 함).
따라서 이러한 디자인은 전략 자체와 결합하여 구체적이어야 합니다. 이 예는 단순한 설명적 예일 뿐이며 실제적 가치가 없을 수 있습니다.
전략 소스 코드:
function main() {
// 策略允许的计价币最大资产数值
var maxBaseCurrency = null
// 获取创建注册码时的元数据
var level = GetMeta()
// 检测Meta对应的条件
if (level == "level1") {
// -1为不限制
maxBaseCurrency = -1
} else if (level == "level2") {
maxBaseCurrency = 10
} else if (level == "level3") {
maxBaseCurrency = 1
} else {
maxBaseCurrency = 0.5
}
while(1) {
Sleep(1000)
var ticker = exchange.GetTicker()
// 检测资产数值
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// 停止执行策略交易逻辑
LogStatus(_D(), "持仓超过注册码的使用限定,不再执行策略交易逻辑!")
continue
}
// 其它交易逻辑
// 正常输出状态栏信息
LogStatus(_D(), "策略正常运行!ticker数据:\n", ticker)
}
}
등록 코드를 생성할 때 정책 라이브러리에서 test1 정책을 찾아 클릭하세요.작업 항목, 클릭팔다。

딸깍 하는 소리내부 판매。

“작은 렌치”를 클릭하여 등록 코드 메타데이터를 설정하세요.

그런 다음 제한하려는 정보를 작성하세요.Meta이 예제에서 설계된 여러 전략과 같은 컨트롤은 다음과 같은 수준을 사용합니다.

우리는 먼저 Meta 컨트롤을 설정합니다level1, 생성된 등록 코드에 test1 전략이 포함되도록 합니다.level1등급.
등록 코드가 생성되었습니다:
购买地址: https://www.fmz.com/m/s/282900
注册码: 7af0c24404b268812c97b55d073c1867
전략 임대인은 이 등록 코드를 전략 임차인에게 보냅니다.
예를 들어, 현재 저는 다른 계정(전략 임차인)에서 이 등록 코드를 사용하여 test1 전략을 사용할 수 있는 권한을 얻고 있습니다.

전략 임차인, 실제 계정을 생성하고, test1을 전략으로 사용하고, WexApp 현물 거래 객체를 추가(WexApp은 FMZ 플랫폼의 시뮬레이션 계정)하고, 실제 계정을 실행합니다.

전략이 정상적으로 실행되고 있음을 확인할 수 있습니다.level1레벨은 보유 포지션 수(스팟 계좌에 보유하는 코인 수)를 제한하지 않습니다.
정책 등록 코드가 사용되었을 때, 정책 개발자가 발급된 등록 코드의 메타데이터를 조정해야 하는 경우 이를 수정할 수 있습니다.
전략 라이브러리에서 판매 기록을 확인하세요.

메타데이터를 수정할 수 있습니다.

이전 등록 코드 메타 데이터를 수정합니다.level3그러면 전략 사용자는 실시간 테스트를 다시 시작합니다.

위의 그림에서 보시는 것처럼,level3최대 보유 레벨 한도는 1코인입니다.
다양한 사용자 그룹 및 지불 수준에 따라 정책을 임대하는 경우 계층적 정책 제어를 구현하기 위해 특정 메타 메타데이터가 구성됩니다.
물론 위에 나열한 내용은 가장 일반적인 제한 및 제어 요구 사항만 나열한 것입니다. 이 기능을 사용하면 다양한 유사한 요구 사항을 달성할 수 있습니다.