В предыдущих статьях мы изучали много концепций, программирования и количественной торговли. Наконец-то мы можем перейти к самой стратегии. Я думаю, что все мои одноклассники, которые занимаются торговлей, должны слышать об этой стратегии, и не важно, слышали ли они об этом или нет.БиржаВсе они выпустили свои собственные программируемые, количественные функции, и наиболее простые и удобные стратегии - это:Стратегия сеткиНо разные биржи предлагают разные функции, детали и так далее, если мы хотим войти в монетный круг, почему бы нам не начать реализацию собственной стратегии?
В то же время, многие школьники, возможно, говорят: Я не могу писать код! Посмотрите на кодовый терминал!
Это действительно так. Для студентов, не имеющих опыта работы с компьютерным программным обеспечением, которые не занимались программированием, создание самостоятельной полной стратегии торговли действительно довольно сложно. Потому что вы должны начать с интерфейса параллельной биржи и сделать ряд предварительных работ.
Если у вас есть инструмент, который вы можете использовать, то это довольно просто, и его сложность снижается на 70%. Можете представить, как легко и быстро это будет, если вы напишете только саму логику торговли, а все остальные функции, такие как соединение интерфейсов, проверка подписей, профилирование, настройка среды, UI, интерактивная кодировка, все это уже есть.
Не веришь? Давайте попробуем!
Мы используем инструмент: "Изобретатели количественно обмениваются" (Inventors Quantitative Trading Platform).FMZ.COM) ; основной элемент конструкции стратегии сетки - логика покупки и продажи сетки, так что это то, что нужно понять перед разработкой стратегии. Мы стремимся сделать стратегию простой и понятной, поэтому чем меньше параметров, тем проще логика.
Вот основные процессы разработки стратегии:
1. Свод стратегических потребностей
Проще говоря, ваша стратегия - это то, что вы хотите сделать, как это сделать, какая функция, и т. Д. Эта информация может быть написана в каком-то документе ("запишите что-то"). Разработка стратегии на FMZ очень проста, платформа дает вам способ решить эти потребности, и мне не нужно писать эти потребности в какую-то записную книжку ("это не очень удобно для управления").
После того, как мы запомнили политику сохранения, мы переходим к написанию политических требований (не всегда они неизменны, их можно записывать при разработке).
XXX_USDT
Например:BTC_USDT
。2 Строить структуру данных сетки:
Для того, чтобы понять неясные мысли, мы можем начать с диаграммного анализа.
Можно использовать начальную цену в качестве основы, чтобы построить сетку в следующих двух направлениях. Так называемая сетка представляет собой линию покупки и продажи на уровне. 1, носить по цене. 2, носить по низкой цене. Например, если вы покупаете товар, который вы хотите продать, то вы можете продать его, а затем покупать его, ожидая, когда он упадет. Если цена снизилась, это означает, что цена упала, что нужно купить, а затем ждать, пока цена вырастет, чтобы продать с прибылью. Таким образом, каждая сетчатая линия имеет два способа торговли: купить и продать. И каждая сетчатая линия также имеет свойство, которое называется ценой, которую она обозначает. Когда мы разрабатываем стратегию, мы сначала понимаем, что мы хотим сделать.Что?После этого можно начать делать по-своему.
Написать функцию, которая строит структуру данных сетки:
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., логический анализ транзакций
Проанализировав структуру данных сетки, мы должны рассмотреть конкретную логику купли-продажи стратегии сетки. Фактически логика купли-продажи также проста, мы уже нарисовали на рисунке, покупка - это переход по определенной линии, продажа - это переход по определенной линии.
Например, вы можете использовать картинку из предыдущей главы.
T1 - это момент, T2 - это момент после T1.P1 < C
иP2 > C
Я не знаю.
То же самое, если мы пересекаем эту линию B, мы просто должны сделать вывод, что мы пересекаем эту линию.P1 > B
иP3 < B
Я не знаю.
В то время мы использовали простой термин "прошествие" (в общем, прошествие).Один за другим.Каждая строка в матрице решетки, судя по всему, может быть пересечена.
Если мы поймем движения цены вверх или вниз, мы сможем сделать покупки, когда они начнутся.
Очевидно, что это невозможно, если цена повторяется вниз и вниз по линии, то разве это не будет повторная сделка на ценовом уровне? Поэтому для запускания и после снятия есть ряд условий, которые необходимо использовать для маркировки buy/sell в структуре данных сетки, которую мы только что создали (например: {
Спасибо за чтение, мы продолжим рассказывать и учиться в следующем выпуске.
Тони233Я не понимаю код.
Тони233Почему ты такой крутой?
CYZWXЭто лучше, чем дешифровка с помощью py.
Тони233В то же время, если вы хотите, чтобы ваши клиенты были готовы к тому, что они будут делать, вы должны быть готовы к тому, что они будут делать.
Изобретатели количественного измерения - мечтыЕсли вы не хотите, чтобы ваши дети читали ваши статьи, вы должны быть терпеливы и читать их в учебниках, сообществах и библиотеках.