В первых нескольких статьях я узнал так много основных понятий криптовалютного круга, а также программатической и количественной торговли. Для [Стратегия сетки], студенты, которые занимаются торговлей должны были слышать об этом, но это не имеет значения, если вы не.платформыВ то же время, как и в других странах, многие торговые системы, в том числе и рыночные, уже запустили свои собственные программные и количественные функции торговли, и наиболее часто и наиболее легко используемой стратегией являетсяСетевая стратегияОднако функции и детали стратегии сети, предоставляемые каждой платформой, различны.
Затем некоторые ученики могут сказать:
Я не умею писать коды!
Это правда. студентам, которые не специализируются на компьютерном программном обеспечении и не занимались программированием, действительно довольно трудно разработать самостоятельно полную торговую стратегию. Потому что вам нужно сделать серию предварительных работ от стыковки интерфейса платформы (возможно, ваша программа логики торговли составляет всего 100 строк, но другие работы по кодированию довольно много, и это сложнее, чем написание логики торговли.)
На данный момент, если у вас есть очень удобный инструмент, это будет довольно просто, по крайней мере, сложность уменьшается на 70%. Вы можете представить, если вы только напишите логику торговли, другие работы, включая интерфейс докинговой платформы, проверку подписи, конфигурационные файлы, конструкцию операционной среды, UI интерфейс письмо, интерактивное письмо и другие функции, все готово, как удобно и быстро это.
Не веришь? Давай попробуем!
Инструмент, который мы используем: FMZ Quant Trading Platform (FMZ.COMНаша цель заключается в том, чтобы сделать дизайн стратегии простым и понятным, поэтому чем меньше параметров и проще логика, тем лучше.
Основные процедуры разработки стратегии следующие:
1.Обзор требований к стратегии
Проще говоря, это то, что будет делать ваша стратегия, как это делать, и какие функции у нее есть. Эта информация может быть написана в документе (что-то вроде тетради) до того, как вы на самом деле напишете код стратегии. Разработка стратегий на FMZ очень проста. Платформа предоставляет вам решения этих требований, и вам не нужно писать эти требования в какой-то тетради (что не очень удобно для управления). Вы можете писать требования стратегии непосредственно в примечании к стратегии.
Помните, чтобы сохранить стратегию, когда вы закончите писать, а затем мы продолжим писать требования стратегии (эти требования не изменены; вы можете записывать и развивать одновременно).
XXX_USDT
, например:BTC_USDT
.2.Создать структуру данных сетки:
Для неясных идей мы можем провести анализ в самом начале.
Ссылки на эти таблицы могут быть сделаны как вверх, так и вниз, начиная с базовой точки, начальной цены в начале.
Кодирование функции построения сетевой структуры данных:
function createNet(begin, diff) { // begin and diff are parameters; begin is the initial price, and diff is the grid interval (the interval of the equal difference grid is a price)
var oneSideNums = 10 // The grid generates 10 lines on both upward and downward sides. The above image only shows the situation of generating 2 lines on both sides (A and B on on side; C and D on the other side), and you can imagine the situation of generating 10 lines.
var up = [] // used to store the data structure of the upward "grid lines"
var down = [] // used to store the data structure of the downward "grid lines"
for (var i = 0 ; i < oneSideNums ; i++) { // determine the number of times according to the number of oneSideNums; construct the "grid line" data structure by loop
var upObj = { // construct the data structure of a upward "grid line"
buy : false, // buy mark; the initial mark is false, which means no buying
sell : false, // sell mark ...
price : begin + diff / 2 + i * diff, // the price position represented by the "grid line", which can be observed and processed according to the loop; the price position is getting higher successively
}
up.push(upObj) // put the constructed "grid line" data structure into the up array
var j = (oneSideNums - 1) - i // when in the loop, j changes from 9 to 0
var downObj = {
buy : false,
sell : false,
price : begin - diff / 2 - j * diff,
}
if (downObj.price <= 0) { // the price cannot be less than or equal to 0
continue
}
down.push(downObj) // put the constructed "grid line" data structure into the down array
}
return down.concat(up) // add "up" after "down", forming a grid array structure with grid line prices from low to high
}
Вы можете выполнять эту функцию индивидуально, чтобы увидеть результат.
Конструированные данные можно наблюдать.
[
{"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 is the initial price, the first line goes up is from 105, and the interval is 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}
]
После анализа структуры данных сетки, мы должны рассмотреть специфическую логику торговли стратегии сетки. На самом деле, логика покупки и продажи также очень проста. Мы уже нарисовали ее на рисунке выше. Покупка означает пересечение определенной линии, а продажа означает пересечение определенной линии. Итак, как выразить пересечение и пересечение? Это также очень просто, нам нужно только сравнить ценовые позиции двух моментов, чтобы судить.
Я покажу вам на предыдущем рисунке.
1 - это время, t2 - это время после t1; чтобы судить, пересечена ли прямая С или нет, нам нужно только судитьP1 < C
иP2 > C
- Да.
Точно так же, чтобы судить, является ли прямая В вниз пересечена, мы просто должны судитьP1 > B
иP3 < B
- Да, конечно.
В то время, мы должны только пересечь каждую линию в массиве сетки (пересечение обычно говорят, чтоПроверяю один за другим.Это очень просто.
Я зафиксировал движение цены вверх и вниз. Могу ли я разместить заказ, когда эти действия будут задействованы?
Очевидно, что это невозможно. Если цена неоднократно поднимается и опускается на одной линии, не будет ли это тратить плату за обработку повторных сделок по одной и той же цене? Следовательно, после запуска восходящего и нисходящего пересечения все еще существует ряд условий суждения, которые требуют использования знака покупки/продажи в структуре данных сетки, которую мы только что построили (например: {
Спасибо, что прочитали, и давайте продолжим объяснение и изучение в следующей статье.