이 모든 것은전략 광장그리고 그 때 디지털 화폐 거래소가 주로 사용되었던 많은 흥미로운 전략들이 있습니다.rest
많은 전략은rest
또한, 최근에는 몇몇 거래소들도 등장하고 있습니다.rest
인터페이스 장애로 인해 정책이 사용할 수 없는 경우. 정책 변경에 따라websocket
인터페이스 지원은 정책 코드에 약간의 변경을 요구하며 일반적으로 더 번거로울 수 있습니다. (정책 변경의 난이도는 다시 쓰는 것보다 훨씬 높습니다.)
어떻게 전략을 바꾸지 않고 사용할 수 있을까요?websocket
그리고 어떤 인터페이스가 있을까요?
이것은 발명가의 양적 거래 플랫폼의 강력한 유연성을 잘 보여줍니다.
exchange.GetTicker
하우크는 함수와 함수들의 수를 계산합니다.이 방법은, 하나의 줄의 코드를 변경하지 않고,websocket
이 경우, 데이터 드라이버가 작동합니다.
코드 작성 언어 사용JavaScript
언어는
예를 들어, 우리는 "아이스브레이커"라는 고전적인 전략을 바꾸려고 합니다.
먼저 전략 코드를 살펴보면, 이 전략은 틱 시장에 의해 주도되고, 주로ticker
데이터에서Buy
、Sell
、Last
이 두 가지 특징은ticker
FMZ 플랫폼의 API 함수:exchange.GetTicker
그리고 우리는 이 모든 것을 가지고 있습니다. 우리는 이 모든 것을 가지고 있습니다.exchange.GetTicker
함수Hook
다른 버전으로 다시 쓸 수 있습니다.
그러나 우리는 얼음 깰 전략에 대해 다시 쓸 수 없습니다. 그것은 전략에 영향을 미칠 것입니다. 우리는
init
함수의 협조우리는 "템플릿 클래스 라이브러리"를 만들었습니다.매듭 없는 CONWS, 공백 초기 코드.
그 다음매듭 없는 CONWS템플릿 2개 매개 변수를 설정합니다
사용 여부를 제어합니다.websocket
인터페이스 기능, 특정 산업 인터페이스가 열리는 것을 지정하는 제어.exchange.GetTicker
인터페이스는 hook 동작을 합니다. 그래서 매개 변수로는 열기만 합니다.GetTicker
인터페이스는 웹소켓 모드의 제어 매개 변수: Hook_GetTicker.
템플릿이 만들어지면, 템플릿에 특정 거래소를 입력할 수 있습니다.websocket
인터페이스, 특정 산업에 가입하고 거래소가 데이터를 밀어내는 것을 기다리는 이러한 기능 코드는 없습니다. 구체적인 코드는 더 이상 설명되지 않습니다. SeamlessConnWS 코드 (공개되었습니다) API 문서를 참조하십시오. 템플릿에 대한 내용을 살펴볼 필요가 있습니다.init
함수와 전체 변수_DictConnectCreater
、_ConnMap
:
코드:
var _DictConnectCreater = {
"Huobi" : WSConnecter_Huobi,
"Binance" : WSConnecter_Binance,
}
var _ConnMap = {}
function init () {
if (IsUsedWebSocket) {
var connectCreater = null
if (exchanges.length != 1) {
Log("切换为ws接口只针对 exchange 交易所对象(即第一个添加的交易所对象)")
}
var isFound = false
for (var name in _DictConnectCreater) {
if (exchange.GetName() == name) {
connectCreater = _DictConnectCreater[name]
isFound = true
}
}
if (!isFound) {
throw "没有找到实现"
}
if (Hook_GetTicker) {
var symbol = exchange.GetCurrency()
_ConnMap.GetTicker = connectCreater("GetTicker", symbol)
exchange.GetTicker = function () {
return _C(_ConnMap.GetTicker.Read)
}
}
// ...
}
}
이 템플릿은 단지 두 개의 거래소를 구현하는 것을 볼 수 있습니다websocket
이 지표는 동전 현금, 토큰 현금 등의 거래 인터페이스입니다.init
이 함수는 "아이스브레이커"라는 전략에서 인용할 수 있는 것입니다.매듭 없는 CONWS템플릿 다음, 실제 디스크가 실행되면 먼저 실행됩니다.init
이 함수들은 자동으로exchange.GetTicker
함수 컨텐츠를 사용으로 교체합니다websocket
인터페이스의 코드 구현, 이를 통해 원활한 연결을 구현websocket
아주 간단합니다.매듭 없는 CONWS템플릿이 자신의 정책 리포터에 복사된 후, "아이스브레이커" 전략 참조에만 사용할 수 있습니다.
이 문서는 다른 문장과 비교하여 매우 간단합니다.
"아이스 브레이커" 전략, 실제 로봇, 거래소가 바이안을 선택ᅳ 시작매듭 없는 CONWS템플릿의 제어 파라미터.
이 자료를 쉽게 볼 수 있도록, 저는 157줄의 코드와 함께 인쇄용 로그를 추가하여 거래소에서 전송된 자료를 출력했습니다.
로봇 로그에 표시된 것:
이 방법은 하나의 정책 코드 라인을 수정하지 않고 웹소켓 시장 인터페이스와 정책 원활한 연계를 구현합니다.
이 경우는 단지exchange.GetTicker
벡터 인터페이스 함수의 전략에 대한 설명, 다른 벡터 인터페이스에 대한 설명exchange.GetDepth
、exchange.GetTrades
、exchange.GetRecords
예를 들어, 예를 들어, 예를 들어, 예를 들어,매듭 없는 CONWS이 글은 이보다 더 많은 글을 올릴 수 있습니다.
템플릿의 특정 링크websocket
이 프로젝트의 실행, 사용Dial
함수 ((API 문서 다이얼 함수 참조), 필요에 따라 조정할 수 있습니다. 예를 들어,read()
함수 지정 변수-2
다시 돌아오는 것websocket
연결된 데이터 수신자 버퍼 영역에서 최신 데이터를 얻습니다.
감사합니다.
콩콩009
신부도 마찬가지입니다.좋은 것, 일찍 공유해야지.
발명가들의 수량화 - 작은 꿈좋은 것, 추천 감사합니다.