Линейная подвесная однополосная стратегия, разработанная на основе функций воспроизведения данных

Автор: , Создано: 2019-12-13 17:13:07, Обновлено: 2023-10-17 21:21:36

img

Преамбула

Люди часто говорят, что торговля - это искусство, а искусство - это источник вдохновения. Поэтому сегодня я хочу поделиться с вами тем, как мы можем использовать изобретатели для количественного воспроизведения данных и найти свое собственное вдохновение для торговли.

Вдохновение и ощущение сделки

Обычно мы говорим о вдохновении, когда мы говорим о том, что люди в процессе мышления мгновенно создают творческое состояние. Для трейдеров левое полушарие нашего мозга занимается разработкой ряда правил, таких как написание стратегии, распределение средств, настройка параметров.

Многие слышали о слове "пакетный сенсор", который представляет собой ощущение непонятности, как будто происходящее в данный момент было знакомо. В торговле эта интуиция, подобная шестому чувству, хотя и не является логическим рассуждением и анализом, предсказывает будущее движение рынка, что побуждает трейдеров принимать решения о покупке или продаже.

Как получить вдохновение

В глазах посторонних, чувство диска является необычным, беспрецедентным таинственным талантом, с которым можно обосноваться на рынке. На самом деле, чувство диска - это обобщение субъективного опыта торговли мозга, это предвзятое предвзятое ощущение, осознанное через многолетнее просмотр диска.

Несмотря на то, что в строгом смысле, вдохновение не полностью равняется ощущению, но я верю, что после тысячи и сотни рыночных упражнений, у всех есть более глубокое понимание рынка, и они будут иметь более глубокое понимание при разработке стратегии. Поэтому, если вы хотите получить этот талант, если вы хотите разработать больше торговых стратегий, никто другой, кроме мастера, не может совершенствовать свою торговую систему.

Однако, если только улучшить свой опыт торговли на реальных рынках, сформировать свои собственные модели прибыли и правила торговли, и обучить свой подсознательный рефлекс условиям, то это будет показаться неуместным. В дополнение к более длительным затратам на время, большинство трейдеров также несут расходы на потери капитала.

Как использовать данные

Функция воспроизведения данных может быть обучена без ограничения времени торговли на бирже, поддерживает различные товарные фьючерсы и цифровые валюты, рынок может быть воспроизведен вручную или автоматически, а также может свободно устанавливать время окончания и скорость воспроизведения исторических рынков. По сравнению с другими программами, которые широко используют K-линейный метод воспроизведения данных, изобретатели количественно используют Tick-уровневый метод воспроизведения данных.

В этом случае, если вы хотите, чтобы ваш сайт стал более популярным, вы можете использовать его.fmz.comДля этого необходимо зарегистрироваться и войти в систему, а затем нажать на кнопку "Исследование данных в Центре управления", чтобы показать страницу функций воспроизведения данных. В ней есть четыре окна с опциями и одна кнопка выбора.

img

Под тегом данных расположены три блока; слева - история сделок, где в хронологическом порядке показаны все заказы, которые уже были сделаны; посередине - расчетные данные о покупке и продаже с глубиной 20 файлов; справа - контрольная зона для воспроизведения данных, где можно выбрать, как воспроизводить данные вручную или автоматически, как при использовании медиаплеера.

img

Индекс местоположения позволяет перетаскивать значки вперед и вперед, быстро выбирая время начала воспроизведения данных.

img

Внизу также можно контролировать скорость воспроизведения данных с помощью право-левого передвижного знака, в миллисекундах как единица времени, которая может как ускоряться, так и замедляться при воспроизведении данных.

img

Создание стратегической логики

Несмотря на множество факторов, влияющих на падение цен, включая: глобальную экономическую обстановку, макрополитику стран, соответствующую промышленную политику, отношения между спросом и предложением, международные события, процентные ставки и валютные курсы, инфляцию и экономию, рыночную психологию, неизвестные факторы и т. д., в конечном итоге цены на диске являются результатом многосторонней борьбы с воздухом. Если покупателей больше, чем продавцов, цены растут; наоборот, если продавцов больше, чем покупателей, цены падают.

Поскольку изобретатели количественно отображают последние месяцы BTC_USDT, мы обнаруживаем, что объемы заказов в Tick-данных значительно несовместимы. Когда рынок растет, количество заказов на более низком уровне значительно больше, чем количество заказов на более низком уровне. Когда рынок растет, количество заказов на более низком уровне значительно меньше, чем количество заказов на более низком уровне.

Ответ на этот вопрос - да.

img img

Мы можем собрать глубокие данные Tick, вычислить объемы размещений и сравнить их с потенциальными возможностями покупки и продажи, если объем размещений многоголовых компактных размеров многоголовых компактных размеров большой. Например, когда объем размеров многоголовых размеров N раз больше объема размеров многоголовых размеров, мы можем предположить, что большинство людей на рынке смотрят больше, что увеличивает вероятность роста цен в ближайшем будущем; когда объем размеров многоголовых размеров N раз больше объема размеров многоголовых размеров, мы можем предположить, что большинство людей на рынке свободны, что увеличивает вероятность падения цен в ближайшем будущем.

Составление стратегии торговли

В соответствии с логикой вышеперечисленной стратегии, начните реализацию с помощью кода. Откройте: fmz.com сайт > Вход > Контрольный центр > Политика библиотека > Создание стратегии > Нажмите в правом верхнем углу в меню, выберите язык Python, и начните писать стратегию.

Первый шаг: разработать стратегическую структуру

# 策略主函数
def onTick():
    pass


# 程序入口
def main():
    while True:  # 进入无限循环模式
        onTick()  # 执行策略主函数
        Sleep(1000)  # 休眠1秒

Мы должны писать политику с заглавными буквами, как при нанесении крыши на дом. В этой структуре мы используем две функции: главную функцию и функцию onTick. В которой главная функция является входом в программу, то есть программа выполняется оттуда, затем входит в бесконечный цикл, повторяя выполнение функции onTick.

Шаг 2: Напишите глобальные переменные

vol_ratio_arr = []  # 多空挂单比率数组
mp = 0  # 虚拟持仓

Причина, по которой vol_ratio_arr определяется как глобальная переменная, заключается в том, что моя стратегия требует сбора многопространственных зависимых пропорций от куска данных Tick. Если мы поместим переменную vol_ratio_arr в функцию onTick, это очевидно неразумно, поскольку цикл работает, и нам нужно изменить значение переменной в циклическом режиме, только когда определенные условия будут достигнуты.

Управление позицией очень необходимо, поскольку оно связано с логикой покупки и продажи, в общем случае, мы рассчитываем валютные пары, которые у нас есть, получая доступ к счету. Здесь, чтобы упростить код, мы напрямую определяем глобальную виртуальную переменную позиции, чтобы контролировать логику покупки и продажи.

Третий шаг: Расчет текущего количества пробелов

depth = exchange.GetDepth()  # 获取深度数据
asks = depth['Asks']  # 获取卖价数组
bids = depth['Bids']  # 获取买价数组
asks_vol = 0  # 所有卖价挂单
bids_vol = 0  # 所有买价挂单
for index, ask in enumerate(asks):  # 遍历卖价数组
    # 线性计算所有卖价挂单
    asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids):  # 遍历买价数组
    # 线性计算所有买价挂单
    bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol  # 计算多空比率

Как известно, цифровые валюты обычно представляют собой 20-градусные глубинные данные, поэтому мы можем сложить количество подвешенных сообщений с множественными и пустыми головами, чтобы вычислить соотношение между множественными и пустыми головами. Когда это значение больше 1, это означает, что больше людей смотрят больше, чем те, кто смотрит меньше, что предвещает рост цен в ближайшем будущем; когда это значение меньше 1, это означает, что те, кто смотрит меньше, больше, чем те, кто смотрит больше, что предвещает падение цен в ближайшем будущем.

Но есть одна вещь, которую нужно различать, когда расстояние между списками ближе к счету, это говорит о том, что желание читать больше или меньше сильнее, например, оплата, которая висит в одном ряду, наверняка сильнее, чем оплата, которая висит в 20 рядах. Поэтому, когда мы накладываем списки, нам нужно линейно распределить 20 рядов в разных весах, что будет более разумным.

Шаг 4: Линейные вычисления соотношения многопространства за время

global vol_ratio_arr, mp  # 引入全局变量
vol_ratio_arr.insert(0, bidask_ratio)  # 把多空比率放到全局变量数组里面
if len(vol_ratio_arr) > 20:  # 如果数组超过指定长度
    vol_ratio_arr.pop()  # 删除最旧的元素
all_ratio = 0  # 临时变量,所有多空挂单比率
all_num = 0  # 临时变量,所有线性乘数
for index, vol_ratio in enumerate(vol_ratio_arr):  # 变量全局变量数组
    num = 20 - index  # 线性乘数
    all_num = all_num + num  # 线性乘数累加
    all_ratio = all_ratio + vol_ratio * num  # 所有多空挂单比率累加
ratio = all_ratio / all_num  # 线性多空挂单比率

Разделяя многоглавные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные сложные.

Шаг 5: Закажите сделку

last_ask_price = asks[0]['Price']  # 最新卖一价,用于买入的价格
last_bid_price = bids[0]['Price']  # 最新买一价,用于卖出的价格
if mp == 0 and ratio > buy_threshold:  # 如果当前无持币,并且比率大于指定值
    exchange.Buy(last_ask_price, 0.01)  # 买入
    mp = 1  # 设置虚拟持仓的值
if mp == 1 and ratio < sell_threshold:  # 如果当前持币,并且比率小于指定值
    exchange.Sell(last_bid_price, 0.01)  # 卖出
    mp = 0  # 重置虚拟持仓的值

Поскольку при заказе необходимо указать цену, мы можем использовать самую последнюю продажу при покупке; продажу при покупке; и, наконец, после завершения сделки, перенастроить значение виртуального хранения.

Конец

Если вы новичок в торговле, то данные отсчета позволяют изучать сделки без затрат, сокращая время познания сделки, реальные или симулятивные сделки обычно требуют нескольких лет, чтобы увидеть первые результаты, и несколько недель на данных отсчета могут достичь того же эффекта, при условии, что не терять время. Для продвинутых трейдеров динамическая реплика может помочь вам проанализировать свои проблемы, проверить и усовершенствовать торговую стратегию, повысить уверенность трейдеров в стратегии, и может помочь создать новые стратегические вдохновения.


Связанные

Больше

xaifer48Сейчас функция воспроизведения на диске отключена?

Это всего лишь краткое представление о том, как это работает, и многие детали еще нуждаются в оптимизации, и я думаю, что это может быть очень убыточным.