지난 몇 편에서는 동전 회로의 개념, 프로그래밍, 양적 거래의 기본 개념을 많이 배웠습니다. 마침내 전략 자체에 대해 이야기 할 수 있습니다. 이 기사에서는 간단한 전략을 구현하는 법을 함께 배웠습니다.
이 시점에는 학생들 중 한 명이 이렇게 말할 수도 있습니다.
이 말은 사실 사실이다. 컴퓨터 소프트웨어 관련 전문직이 아닌, 프로그래밍 작업을 하지 않은 동료들에게도 완전한 거래 전략을 자체적으로 개발하는 것은 상당히 어렵습니다. 왜냐하면 당신은 짝짓기 거래소 인터페이스에서 일련의 전면 작업을 시작해야하기 때문입니다. (당신의 거래 논리 프로그램은 100줄이 될 수도 있지만, 다른 코딩 작업은 훨씬 더 많이 수행해야하며 거래 논리를 작성하는 것보다 더 어렵습니다.)
이 시점에는 만약 당신이 손쉽게 사용할 수 있는 도구를 가지고 있다면, 그것은 매우 간단합니다. 최소한 70%의 난이도가 감소합니다. 당신은 거래 논리 자체를 작성하는 것만으로도 다른 거래소 인터페이스 연결, 서명 검증, 프로파일, 운영 환경 구축, UI 작성, 인터랙션 작성 등의 기능들이 모두 준비되어 있는 것을 상상할 수 있습니다.
믿을 수 없나요? 이 모든 것이 우리 자신을 위한 것입니다.
우리가 사용하는 도구는: 발명가 양적 거래 플랫폼FMZ.COM) ; 그리드 전략의 설계의 핵심은 실제로 그리드 구매/판매의 논리이기 때문에, 이것은 전략 설계 전에 먼저 알아내야 할 것입니다. 우리의 목표는 전략 디자인을 간단하게 이해하기 쉽도록 만드는 것입니다. 따라서 파라미터가 적을수록, 논리가 더 간단하면 더 좋습니다.
이 전략의 기본 과정은 다음과 같습니다.
1 전략적 요구의 요약
간단히 말해서, 당신의 전략은 무엇을 해야 하는지, 어떻게 해야 하는지, 어떤 기능이 있는지 등등, 이 정보는 당신이 실제로 전략 코드를 작성하기 전에 문서에 작성될 수 있습니다. FMZ에서 전략을 개발하는 것은 매우 간단합니다. 플랫폼은 당신에게 이러한 요구 사항을 해결하는 방법을 준비하고 있습니다.
저장 정책을 기억하면 됩니다. 그리고 우리는 정책 요구 사항을 작성합니다. (정책 요구 사항도 변하지 않습니다. 개발 측면에서도 기록할 수 있습니다.)
XXX_USDT
예를 들어:BTC_USDT
。2, 그리드 데이터 구조를 구성합니다:
이 그림은 이 그림의 첫 번째 부분입니다.
초기 가격에서 기본점으로 다음 두 방향의 격자를 구성할 수 있다. 격자라고 불리는 것은 계층별로 구매 라인, 판매 라인이다. 그래프를 통해 우리는 각 라인에 두 가지 가능성이 있음을 알 수 있다. 1 차, 가격에 따라 착용합니다. 2 차원, 저렴한 가격에 착용합니다. 가격표는 가격이 상승해서 판매해야 하고, 가격이 하락할 때까지 기다리고, 수익을 내야 한다는 뜻이다. 가격 하락은 가격이 낮아지고 구매가 필요하다는 것을 나타냅니다. 따라서 각 그리드 라인은 두 가지 거래 방식이 있습니다: 구매, 판매. 그리고 각 그리드 라인은 또한 이 라인이 표시하는 가격이라는 고유한 속성을 가지고 있습니다. 예를 들어 그림에서 A/B/C/D를 나타냅니다. 전략은 우리가 무엇을 하고 싶은지 먼저 알고 있습니다.뭐죠?그리고 그 다음에는 손으로 할 수 있습니다.
그리드 데이터 구조를 구성하는 함수를 작성합니다.
function createNet(begin, diff) { // begin,diff是参数,begin是初始价格,diff是网格间距(等差网格的间距是价格)
var oneSideNums = 10 // 网格向上、向下一边生成10条线,上图是一边生成2条(AB一边,CD一边),生成10条的自行脑补画面
var up = [] // 用来储存向上的“网格线”数据结构
var down = [] // 用来储存向下的“网格线”数据结构
for (var i = 0 ; i < oneSideNums ; i++) { // 根据oneSideNums的大小确定次数,循环构造“网格线”数据结构
var upObj = { // 构造一条向上的“网格线”数据结构
buy : false, // 买入标记,初始标记为false ,意思为没有买入
sell : false, // 卖出标记....
price : begin + diff / 2 + i * diff, // 这条“网格线”表示的价格位,可以观察根据循环进行,价格位是依次升高的
}
up.push(upObj) // 构造好的“网格线”数据结构放入up数组
var j = (oneSideNums - 1) - i // 循环时 j 的变动是:9 ~ 0
var downObj = {
buy : false,
sell : false,
price : begin - diff / 2 - j * diff,
}
if (downObj.price <= 0) { // 价格不能小于等于0
continue
}
down.push(downObj) // 构造好的“网格线”数据结构放入down
}
return down.concat(up) // 把up加在down之后,形成一个网格线价格从小到大的网格数组结构
}
이 함수를 개별적으로 실행하여 효과를 볼 수 있습니다. FMZ의
이 자료를 보면,
[
{"buy":false,"sell":false,"price":5},
{"buy":false,"sell":false,"price":15},
{"buy":false,"sell":false,"price":25},
{"buy":false,"sell":false,"price":35},
{"buy":false,"sell":false,"price":45},
{"buy":false,"sell":false,"price":55},
{"buy":false,"sell":false,"price":65},
{"buy":false,"sell":false,"price":75},
{"buy":false,"sell":false,"price":85},
{"buy":false,"sell":false,"price":95},
{"buy":false,"sell":false,"price":105}, // 100是起始价格,从105开始向上第一条线,间距10
{"buy":false,"sell":false,"price":115}, // ...
{"buy":false,"sell":false,"price":125},
{"buy":false,"sell":false,"price":135},
{"buy":false,"sell":false,"price":145},
{"buy":false,"sell":false,"price":155},
{"buy":false,"sell":false,"price":165},
{"buy":false,"sell":false,"price":175},
{"buy":false,"sell":false,"price":185},
{"buy":false,"sell":false,"price":195}
]
3, 거래 논리 분석
그리드의 데이터 구조를 분석한 후, 우리는 그리드 전략의 구체적인 구매 판매 논리를 고려해야 합니다. 사실 구매 판매 논리 또한 매우 간단합니다. 위의 그림에서 우리가 그려낸 것처럼, 구매는 특정 라인을 통과하고, 판매는 특정 라인을 통과합니다. 그것은 어떻게 표시되는가? 마찬가지로 간단합니다. 우리는 두 순간의 가격 위치를 비교하여 판단 할 수 있습니다.
이 그림은 다른 그림과 비교해 볼 수 있습니다.
이 직선 C를 지나가면, 우리는P1 < C
그리고P2 > C
ᅳ
이 직선 B를 가로질러P1 > B
그리고P3 < B
ᅳ
그 당시에는 우리는 단지 '통통' (통통) 이라고만 불렀습니다.한 번씩
그리고 만약 우리가 가격 상승과 하락의 움직임을 잡았다면, 이러한 움직임이 촉발되면 거래를 할 수 있을까요?
분명히 불가능한 것은, 만약 가격이 한 라인의 아래로 반복적으로 통과한다면, 그것은 한 가격 지점에서 반복적인 거래 소화 수수료가 아닐까요. 그래서 트리거 트리그, 다운 트리그 이후에도 일련의 판단 조건이 있습니다. 이것은 우리가 방금 구성한 그리드 라인 데이터 구조의 구매/판매 표시를 사용해야 합니다. (예를 들어: {
이 글을 읽은 분들께 감사드리며, 다음 기사에서 더 많은 이야기를 나누고 배우도록 하겠습니다.
토니233저는 코드를 이해하지 못합니다.
토니233왜 그렇게 잘하는 거야?
CYZWX그래서, 이 문제를 해결하기 위해,
토니233그리고 인터넷 거래가 너무 어려워졌습니다.
발명가들의 수량화 - 작은 꿈이 문헌들은 모든 문헌들을 참고하는 데 도움이 되고 있습니다.